[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 10 11:16:15 PDT 2025


aeubanks wrote:

clang now crashes on

```
$ cat /tmp/a.cc
namespace {
namespace {
template <class _Tp, _Tp> struct integral_constant;
template <bool _Val> using _BoolConstant = integral_constant<bool, _Val>;
template <class _Tp, class _Up>
using _IsSame = _BoolConstant<__is_same(_Tp, _Up)>;
template <class _Tp, class _Up>
concept __same_as_impl = _IsSame<_Tp, _Up>::value;
template <class _Tp, class _Up>
concept same_as = __same_as_impl<_Up, _Tp>;
} // namespace
template <typename>
concept IsEntitySpec = requires { requires same_as<int, int>; };
} // namespace

$ clang -cc1 -fsyntax-only -std=gnu++20 -x c++ /tmp/a.cc
```

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


More information about the libcxx-commits mailing list