class A {
                A(const A&&) = delete ;

The above deleted move constructor with const signature should not delete the default move constructor with non-const signature A(A&&) as the compiler error says for the following code:

A x;
A a = std::move(x);

compiler: note: 'A' has been explicitly marked deleted here
    A(const A&&) = delete;

In this case an implicit default non-const move constructor should be called unless it's also deleted.

-- James S.