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])
.