diff options
author | Younan Zhang <zyn7109@gmail.com> | 2025-02-14 15:25:52 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-14 15:25:52 +0800 |
commit | c08b80eb525a6e6a34d74634bf5181f11ed12984 (patch) | |
tree | f0d5a0828cbad90cb03bd0d87e408abe631f184b /clang/unittests/Interpreter/InterpreterTest.cpp | |
parent | 2a7487cc2e0fb8bd91784e2d9636a65baa6d90ed (diff) | |
download | llvm-c08b80eb525a6e6a34d74634bf5181f11ed12984.zip llvm-c08b80eb525a6e6a34d74634bf5181f11ed12984.tar.gz llvm-c08b80eb525a6e6a34d74634bf5181f11ed12984.tar.bz2 |
[Clang] Remove the PackExpansion restrictions for rewrite substitution (#126206)
When substituting for rewrite purposes, as in rebuilding constraints for
a synthesized deduction guide, it assumed that packs were in
PackExpansion* form, such that the instantiator could extract a pattern.
For type aliases CTAD, while rebuilding their associated constraints,
this might not be the case because we'll call
`TransformTemplateArgument()` for the alias template arguments, where
there might be cases e.g. a non-pack expansion type into a pack
expansion, so the assumption wouldn't hold.
This patch fixes that by making it treat the non-pack expansions as
direct patterns when rewriting.
Fixes #124715
Diffstat (limited to 'clang/unittests/Interpreter/InterpreterTest.cpp')
0 files changed, 0 insertions, 0 deletions