================
@@ -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

Reply via email to