[clang] [clang] CTAD: implement the missing IsDeducible constraint for alias templates (PR #89358)

Haojian Wu via cfe-commits cfe-commits at lists.llvm.org
Wed May 8 03:43:48 PDT 2024


================
@@ -190,13 +196,15 @@ template <class T> struct Foo { Foo(T); };
 
 template<class V> using AFoo = Foo<V *>;
 template<typename> concept False = false;
-template<False W> using BFoo = AFoo<W>;
+template<False W>
+using BFoo = AFoo<W>; // expected-note {{candidate template ignored: constraints not satisfied [with V = int]}} \
+                      // expected-note {{because '__is_deducible(BFoo, Foo<int *>)' evaluated to false}} \
----------------
hokein wrote:

Do you think this is a blocker for landing this PR?  The current state is acceptable to me, although not ideal. I plan to send out a follow-up patch to address it.

https://github.com/llvm/llvm-project/pull/89358


More information about the cfe-commits mailing list