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

Reply via email to