The implicit definition of a
copy constructor
as defaulted is deprecated if the class has
a user-declared copy assignment operator or
a user-declared
destructor. The implicit definition of a
copy assignment operator
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])
.