The implicit definition of a copy constructor (
[class.copy.ctor])
as defaulted is deprecated if the class has
a user-declared copy assignment operator or
a user-declared destructor (
[class.dtor])
. The implicit definition of a copy assignment operator (
[class.copy.assign])
as defaulted is deprecated if the class has
a user-declared copy constructor or
a user-declared destructor
. It is possible that future versions of C++ will specify
that these implicit definitions are deleted (
[dcl.fct.def.delete])
.