[depr.impldec] # Annex D (normative) Compatibility features [[depr]](./#depr) ## D.6 Implicit declaration of copy functions [depr.impldec] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/future.tex#L134) The implicit definition of a [copy constructor](class.copy.ctor "11.4.5.3 Copy/move constructors [class.copy.ctor]") as defaulted is deprecated if the class has a user-declared copy assignment operator or a user-declared [destructor](class.dtor "11.4.7 Destructors [class.dtor]")[.](#1.sentence-1) The implicit definition of a [copy assignment operator](class.copy.assign "11.4.6 Copy/move assignment operator [class.copy.assign]") as defaulted is deprecated if the class has a user-declared copy constructor or a user-declared destructor[.](#1.sentence-2) It is possible that future versions of C++ will specify that these implicit definitions are deleted ([[dcl.fct.def.delete]](dcl.fct.def.delete "9.6.3 Deleted definitions"))[.](#1.sentence-3)