[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 12:22:22 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:
Now this increases the amount of sugar that we can preserve.
Now whether this extra sugar is supposed to be printed in this case is a separate question, related to the pre-existing problem that we don't preserve whether the replacement expression for the Subst node was canonicalized or not.
https://github.com/llvm/llvm-project/pull/160777
More information about the llvm-branch-commits
mailing list