jyknight wrote:

Here's another test-case which is broken by this commit (both at this commit, 
and after the follow-up PRs). It seems to no longer allow non-type template 
packs of multiple types. I'm surprised we have no test-cases for this in the 
clang test-suite!
```
template <template <auto...> class Arg>
struct TmplTmpl {};

template <int A, short B>
struct Tmpl;

using Test = TmplTmpl<Tmpl>;
```

```
test.cc:1:28: error: deduced non-type template argument does not have the same 
type as the corresponding template parameter ('int' vs 'short')
    1 | template <template <auto...> class Arg>
      |                            ^
test.cc:7:23: note: template template argument has different template 
parameters than its corresponding template template parameter
    7 | using Test = TmplTmpl<Tmpl>;
      |                       ^
test.cc:1:36: note: previous template template parameter is here
    1 | template <template <auto...> class Arg>
      |           ~~~~~~~~~~~~~~~~~~       ^
test.cc:4:24: note: template parameter is declared here
    4 | template <int A, short B>
      |                        ^
1 error generated.
```

https://github.com/llvm/llvm-project/pull/111711
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to