1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 class Base { // expected-error {{cannot define the implicit default assignment operator for 'Base', because non-static reference member 'ref' can't use default assignment operator}}
4 int &ref; // expected-note {{declared at}}
7 class X : Base { // // expected-error {{cannot define the implicit default assignment operator for 'X', because non-static const member 'cint' can't use default assignment operator}}
10 const int cint; // expected-note {{declared at}}
15 Y& operator=(const Y&);
16 Y& operator=(volatile Y&);
17 Y& operator=(const volatile Y&);
27 void f(X x, const X cx) {
28 x = cx; // expected-note 2 {{synthesized method is first required here}}
61 B1 &operator = (B1 b);
73 class E1 { // expected-error{{cannot define the implicit default assignment operator for 'E1', because non-static const member 'a' can't use default assignment operator}}
75 const int a; // expected-note{{declared at}}
83 e1 = e2; // expected-note{{synthesized method is first required here}}