Does base class destructor prevent move constructor being generated
<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>