[clang] [clang] Finish implementation of P0522 (PR #96023)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 4 02:07:19 PDT 2024
zmodem wrote:
We're hitting a new error after this change. I'm not familiar with P0522, can you confirm whether `foo(bad)` is supposed to work or not?
```
template <template <typename T, typename... Ms> typename H, typename T, typename... Ms>
void foo(H<T, Ms...> h) {}
template <typename T, typename... Ms> class Good {};
template <typename T> class Bad {};
void bar() {
// This works.
Good<int> good;
foo(good);
// This used to work, but no longer.
Bad<int> bad;
foo(bad);
}
```
(For what it's worth, GCC and MSVC still accept both variants: https://godbolt.org/z/zEhhfa6GW)
https://github.com/llvm/llvm-project/pull/96023
More information about the cfe-commits
mailing list