title: Explicitly defaulted move constructor
body: <p>According to the c++11 standard a default move constructor is only generated if:</p>
  
  <ul>
  <li>X does not have a user-declared copy constructor, and</li>
  <li>X does not have a user-declared copy assignment operator,</li>
  <li>X does not have a user-declared move assignment operator,</li>
  <li>X does not have a user-declared destructor, and</li>
  <li>the move constructor would not be implicitly defined as deleted.</li>
  </ul>
  
  <p>Can I still explicitly default it? Seems to work correctly in clang. Like this for example:</p>
  
  <pre><code>class MyClass {
  private:
    std::vector&lt;int&gt; ints;
  public:
    MyClass(MyClass const&amp; other) : ints(other.ints) {}
    MyClass(MyClass&amp;&amp; other) = default;
  };
  </code></pre>