title: c++ copy (reference) constructor and move constructor of class cohabitation
body: <p>Here code showing the intent:</p>
  
  <pre><code>template&lt;typename T&gt;
  class B 
  {
    public:
    // this should indeed set t_ as a reference to t
    B(T&amp; t):t_(t){}
    // this should instead set t_ as a copy of t
    B(T&amp;&amp; t):t_(t){}
    T&amp; t_; // maybe type should be something else ?
  };
  
  A a;
  B b1(a); // fine
  B b2(A()); // problem
  </code></pre>
  
  <p>Would it be possible ?</p>