================ @@ -137,17 +137,16 @@ namespace InhCtor { int n = b.T(); // expected-error {{'T' is a protected member of 'InhCtor::A'}} // expected-note@-15 {{declared protected here}} - // FIXME: EDG and GCC reject this too, but it's not clear why it would be - // ill-formed. template<typename T> struct S : T { - struct U : S { // expected-note 6{{candidate}} + // FIXME: S is incomplete here and we should diagnose this! + struct U : S { ---------------- Endilll wrote:
There are somewhat related CWG issues [45](https://cplusplus.github.io/CWG/issues/45.html), [374](https://cplusplus.github.io/CWG/issues/347.html), and [500](https://cplusplus.github.io/CWG/issues/500.html), but I can't find one arguing that base specifiers should become a complete-class context. http://eel.is/c++draft/class#mem.general-8 seems quite clear on this. https://github.com/llvm/llvm-project/pull/91503 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits