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

Reply via email to