| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| class Base { // expected-error {{cannot define the implicit default assignment operator for 'class Base'}} |
| int &ref; // expected-note {{declared at}} |
| class X : Base { // // expected-error {{cannot define the implicit default assignment operator for 'class X'}} |
| const int cint; // expected-note {{declared at}} |
| Y& operator=(volatile Y&); |
| Y& operator=(const volatile Y&); |
| void f(X x, const X cx) { |
| x = cx; // expected-note 2 {{synthesized method is first required here}} |
| class E1 { // expected-error{{cannot define the implicit default assignment operator for 'class E1', because non-static const member 'a' can't use default assignment operator}} |
| const int a; // expected-note{{declared at}} |
| e1 = e2; // expected-note{{synthesized method is first required here}} |