Issue |
147185
|
Summary |
ICE with ^^T::template operator(); in concept on Clang P2996 reflection branch
|
Labels |
clang
|
Assignees |
|
Reporter |
Painthingy
|
This ICE seems to be triggered when using ^^T::template operator(); inside a requires _expression_ (i.e., concept constraint).
Other uses like ^^T::operator(); compile fine.
**Reproducer:**
```cpp
template<typename T>
concept has_tmpl_call = requires { ^^T::template operator(); };
constexpr auto test0 = [](auto& p_self, double) -> int { return 42; };
static_assert(has_tmpl_call<decltype(test0)>);
int main() {}
```
**Compile command:**
```bash
clang++ -std=c++26 -freflection -fparameter-reflection -freflection-latest -stdlib=libc++ -O0 <source>
```
**Godbolt link:**
https://godbolt.org/z/TM5Trq77z
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs