================
@@ -429,3 +429,19 @@ namespace qualified_friend_no_match {
friend void Y::f(double); // expected-error {{friend declaration of 'f'
does not match any declaration in 'qualified_friend_no_match::Y'}}
};
}
+
+namespace gh21483 {
+template <typename I>
+struct B {
+ struct mixin {
+ int type;
+ friend void foo(B<I>::mixin it) {
+ (void)it.mixin::type;
----------------
hnrklssn wrote:
Why is `it.mixin` not an error? I thought `it` was of type `B<int>::mixin`,
which has no `mixin` field.
https://github.com/llvm/llvm-project/pull/70886
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits