[libcxx-commits] [clang] [libcxx] [Clang] Normalize constraints before checking for satisfaction (PR #161671)

Arthur Eubanks via libcxx-commits libcxx-commits at lists.llvm.org
Fri Oct 17 16:06:12 PDT 2025


aeubanks wrote:

finally, here's the reduced repro @zyn0217 
```
$ cat /tmp/a.cc
template <typename>
concept a = requires { requires true; };
template <typename T>
concept b = a<typename T::EntitySpec>;
template <typename T>
concept c = requires { b<T>; };
template <typename T>
  requires c<T>
struct s;
template <typename> void f();
template <typename T> constexpr bool d = f<T>;
struct s2;
static_assert(d<s<s2>>);
$ clang++ -fsyntax-only /tmp/a.cc -std=c++20
Should not have a NULL template argument
UNREACHABLE executed at ../../clang/lib/AST/TemplateBase.cpp:265!
```

https://github.com/llvm/llvm-project/pull/161671


More information about the libcxx-commits mailing list