[llvm-branch-commits] [clang] [clang] fix transformation of subst constant template parameter nodes (PR #160777)

Matheus Izvekov via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Sep 26 09:29:17 PDT 2025


================
@@ -113,7 +113,7 @@ using Bar = Foo<X, sizeof(X)>; // expected-note {{candidate template ignored: co
                                // expected-note {{implicit deduction guide declared as 'template <typename X> requires __is_deducible(test9::Bar, test9::Foo<X, sizeof(X)>) Bar(test9::Foo<X, sizeof(X)>) -> test9::Foo<X, sizeof(X)>'}} \
                                // expected-note {{implicit deduction guide declared as 'template <typename X> requires __is_deducible(test9::Bar, test9::Foo<X, sizeof(X)>) Bar(const X (&)[sizeof(X)]) -> test9::Foo<X, sizeof(X)>'}} \
                                // expected-note {{candidate template ignored: constraints not satisfied [with X = int]}} \
-                               // expected-note {{cannot deduce template arguments for 'test9::Bar' from 'test9::Foo<int, 4UL>'}}
+                               // expected-note {{cannot deduce template arguments for 'test9::Bar' from 'test9::Foo<int, sizeof(int)>'}}
----------------
mizvekov wrote:

It goes from a canonicalized form of an expression into a real expression.

So yes this gained sugar.

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


More information about the llvm-branch-commits mailing list