zygoloid wrote:

It looks like the same bug might exist for other recoverable type errors (where 
we successfully form a `QualType` in substitution despite producing a 
diagnostic). For example, we reject-valid on this too:
```c++
template <char N> struct Foo {
    operator int() const requires(N == 2);
    template <int M = 1234, Foo<M>* = nullptr> operator long() const;
};

void test () {
    Foo<2> foo;
    long bar = foo;
}
```
Could this be a bug in the handling of substitution into the type of a non-type 
template parameter, not something specific to array types?

https://github.com/llvm/llvm-project/pull/170144
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to