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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to