diff options
author | Matheus Izvekov <mizvekov@gmail.com> | 2024-05-13 14:28:05 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-13 14:28:05 -0300 |
commit | b8f802f783db481ecfd953c9abe74212a8348aff (patch) | |
tree | 8a58ae7b9870be3f551a1dd6449a46a3fae24b34 /llvm/lib/IR/Module.cpp | |
parent | 0f7906645d18a38a6b80a1e8e1d425396f6ab353 (diff) | |
download | llvm-b8f802f783db481ecfd953c9abe74212a8348aff.zip llvm-b8f802f783db481ecfd953c9abe74212a8348aff.tar.gz llvm-b8f802f783db481ecfd953c9abe74212a8348aff.tar.bz2 |
[clang] Allow pack expansions when partial ordering against template template parameters (#91833)
When partial ordering alias templates against template template
parameters, allow pack expansions when the alias has a fixed-size
parameter list.
These expansions were generally disallowed by proposed resolution for
CWG1430.
By previously diagnosing these when checking template template
parameters, we would be too strict in trying to prevent any potential
invalid use.
This flows against the more general idea that template template
parameters are weakly typed, that we would rather allow an argument that
might be possibly misused, and only diagnose the actual misuses during
instantiation.
Since this interaction between P0522R0 and CWG1430 is also a
backwards-compat breaking change, we implement provisional wording to
allow these.
Fixes https://github.com/llvm/llvm-project/issues/62529
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions