Richard Smith | 79c88c3 | 2018-09-26 19:00:16 +0000 | [diff] [blame^] | 1 | // RUN: %clang_cc1 -std=c++2a %s -verify |
| 2 | |
| 3 | namespace class_with_ctor { |
| 4 | struct A { // expected-note 6{{candidate}} |
| 5 | A() = default; // expected-note 3{{candidate}} |
| 6 | int x; |
| 7 | int y; |
| 8 | }; |
| 9 | A a = {1, 2}; // expected-error {{no matching constructor}} |
| 10 | |
| 11 | struct B { |
| 12 | int x; |
| 13 | int y; |
| 14 | }; |
| 15 | B b1 = B(); // trigger declaration of implicit ctors |
| 16 | B b2 = {1, 2}; // ok |
| 17 | |
| 18 | struct C : A { |
| 19 | A a; |
| 20 | }; |
| 21 | C c1 = {{}, {}}; // ok, call default ctor twice |
| 22 | C c2 = {{1, 2}, {3, 4}}; // expected-error 2{{no matching constructor}} |
| 23 | } |