title: Does base class destructor prevent move constructor being generated
body: <p>I have a class where VS 2015 was not generating a move ctor and now VS 2015 Update 1 it is generating one, this is causing a binary compatibility issue, not sure which version is doing the right thing.</p>
  
  <pre><code>// MyLib
  struct Shared
  {
     virtual ~Shared(){}
  }
  
  struct Callback : public Shared
  {
      virtual void response() = 0;
  }
  
  // App
  struct CallbackI : public Callback
  {
     virtual void response(){}
  }
  </code></pre>
  
  <p>When I build MyLib with VS 2015 and App with VS 2015 update 1 linking App fails because a missing symbol referencing the move assignment operator for Callback base class.</p>
  
  <p>Seems to me that VS 2015 is not generating this operators and VS 2015 Update 1 it is, but which compiler version is right here?</p>