Assign&operator=(constAssign&);// expected-warning {{definition of implicit copy constructor for 'Assign' is deprecated because it has a user-declared copy assignment operator}}
};
Assigna1,a2(a1);// expected-note {{implicit default copy constructor for 'Assign' first required here}}
structCtor{
Ctor();
Ctor(constCtor&);// expected-warning {{definition of implicit copy assignment operator for 'Ctor' is deprecated because it has a user-declared copy constructor}}
};
Ctorb1,b2;
voidf(){b1=b2;}// expected-note {{implicit default copy assignment operator for 'Ctor' first required here}}
structDtor{
~Dtor();
// expected-warning@-1 {{definition of implicit copy constructor for 'Dtor' is deprecated because it has a user-declared destructor}}
// expected-warning@-2 {{definition of implicit copy assignment operator for 'Dtor' is deprecated because it has a user-declared destructor}}
};
Dtorc1,c2(c1);// expected-note {{implicit default copy constructor for 'Dtor' first required here}}
voidg(){c1=c2;}// expected-note {{implicit default copy assignment operator for 'Dtor' first required here}}