| Issue |
63465
|
| Summary |
Invalid "Substitution into constraint _expression_ resulted in a non-constant _expression_" warning from clang-16 on
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
fiesh
|
The following C++20 code results in the above mentioned error:
```cpp
template <typename, int a, int b> struct c {
template <typename... d>
c(d...)
requires(sizeof...(d) == a * b);
};
template <typename e, int a> struct f : c<e, a, 1> {
using c<e, a, 1>::c;
};
void g(c<double, 2, 1> h) { f<double, 2>(h, 0); }
```
It works with `clang-15` as well as other compilers and started failing with `clang-16`.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs