================
@@ -151,4 +152,25 @@ namespace SearchClassBetweenTemplateParameterLists {
   void A<T>::B<BB>::k(V) { // expected-error {{does not match}}
     BB bb; // expected-error {{incomplete type}}
   }
+
+  int CC;
+  template <typename> struct C;
+#if __cplusplus >= 202003L
+  template <typename> struct D;
+  template <class> concept True = true;
+#endif
 }
+
+template <typename CC>
+struct SearchClassBetweenTemplateParameterLists::C {
+  void foo(CC) {} // This should find the template type parameter.
+};
+
+#if __cplusplus >= 202003L
+
+template <True CC>
+struct SearchClassBetweenTemplateParameterLists::D<CC> {
+  void foo(CC);
+};
+
----------------
cor3ntin wrote:

- Can you add a test with NTTP template params?
- Do we have tests for that sort of lookup in requires clause / return types?
- Maybe a test that check that if both names are a `typename` we find the 
correct one

https://github.com/llvm/llvm-project/pull/101020
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to