[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