Have you installed the just-released build 2217? We have made some improvements to the "=default" check.
I have tried to recreate your example, but I'm not seeing any problems:
#include <memory>
class Test
{
public:
	Test() : mVal(0) { }
	Test(const Test& rhs) : mVal(rhs.mVal) { }
	Test(Test&& rhs) noexcept : mVal(rhs.mVal) { }
	Test& operator=(const Test& rhs) { mVal = rhs.mVal; }
	Test& operator=(Test&& rhs) noexcept { mVal = rhs.mVal; }
	~Test() {}
private:
	std::unique_ptr<int> mPtr;
	int mVal;
};