title: C++ 11: is a defaulted copy constructor user declared?
body: <p>I guess it is so, but I am looking for C++11 language lawyers to confirm my impression. Is it true that the following class</p>
  
  <pre><code>struct X{
  X(){}
  X(X const&amp;)=default;
  };
  </code></pre>
  
  <p>will not be automatically move-enabled, i.e., getting <code>X(X&amp;&amp;)</code> and <code>operator=(X&amp;&amp;)</code>, because its copy constructor is "user-declared", even though it looks equivalent to</p>
  
  <pre><code>struct X{
  };
  </code></pre>
  
  <p>which will get both <code>X(X const&amp;)</code> and <code>X(X&amp;&amp;)</code> etc., implicitely declared and (trivially) defined on use.</p>