title: std::make_tuple doesn't make references
body: <p>I've been experimenting with <code>std::tuple</code> in combination with references:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;tuple&gt;
  
  int main() {
    int a,b;
    std::tuple&lt;int&amp;,int&amp;&gt; test(a,b);
    std::get&lt;0&gt;(test) = 1;
    std::get&lt;1&gt;(test) = 2;
    std::cout &lt;&lt; a &lt;&lt; ":" &lt;&lt; b &lt;&lt; std::endl;
  
    // doesn't make ref, not expected
    auto test2 = std::make_tuple(a,b);
    std::get&lt;0&gt;(test2) = -1;
    std::get&lt;1&gt;(test2) = -2;
    std::cout &lt;&lt; a &lt;&lt; ":" &lt;&lt; b &lt;&lt; std::endl;
  
    int &amp;ar=a;
    int &amp;br=b;
    // why does this not make a tuple of int&amp; references? can we force it to notice?
    auto test3 = std::make_tuple(ar,br);
    std::get&lt;0&gt;(test3) = -1;
    std::get&lt;1&gt;(test3) = -2;
    std::cout &lt;&lt; a &lt;&lt; ":" &lt;&lt; b &lt;&lt; std::endl;
  }
  </code></pre>
  
  <p>Of the three examples here the first two work as expected. The third one however does not. I was expecting the <code>auto</code> type (<code>test3</code>) to be the same as the type of <code>test</code> (i.e. <code>std::tuple&lt;int&amp;,int&amp;&gt;</code>). </p>
  
  <p>It seems that <code>std::make_tuple</code> can't automatically make tuples of references. Why not? What can I do to make this the case, other than explicitly constructing something of that type myself? </p>
  
  <p>(Compiler was g++ 4.4.5, <a href="http://ideone.com/EM7KQ">using 4.5 doesn't change it</a>)</p>