================
@@ -19,27 +19,33 @@ namespace pr41427 {
 namespace Access {
   struct B {
   protected:
-    struct type {};
+    struct type {}; // #Access-B-type
   };
-  template<typename T> struct D : B { // expected-note {{not viable}} \
-                                         expected-note {{implicit deduction 
guide declared as 'template <typename T> D(Access::D<T>) -> Access::D<T>'}}
-    D(T, typename T::type); // expected-note {{private member}} \
-                            // expected-note {{implicit deduction guide 
declared as 'template <typename T> D(T, typename T::type) -> Access::D<T>'}}
+  template<typename T> struct D : B { // #Access-D
+    D(T, typename T::type); // #Access-D-ctor
+    // expected-error@-1 {{'type' is a private member of 'Access::Y'}}
+    //   expected-note@#Access-Y-type {{implicitly declared private here}}
+    //   expected-note@#Access-D-ctor {{implicit deduction guide declared as 
'template <typename T> D(T, typename T::type) -> Access::D<T>'}}
   };
   D b = {B(), {}};
 
   class X {
     using type = int;
   };
-  D x = {X(), {}}; // expected-error {{no viable constructor or deduction 
guide}}
+  D x = {X(), {}};
+  // expected-error@-1 {{no viable constructor or deduction guide}}
+  //   expected-note@#Access-D {{implicit deduction guide declared as 
'template <typename T> D(Access::D<T>) -> Access::D<T>'}}
+  //   expected-note@#Access-D {{candidate function template not viable: 
requires 1 argument, but 2 were provided}}
+  //   expected-note@#Access-D-ctor {{candidate template ignored: substitution 
failure [with T = X]: 'type' is a private member of 'Access::X'}}
 
   // Once we implement proper support for dependent nested name specifiers in
   // friends, this should still work.
----------------
zwuis wrote:

We can update/remove the comment.

https://github.com/llvm/llvm-project/pull/191268
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to