BertalanD added a comment. Hi @erichkeane,
This change broke compilation of this program (https://godbolt.org/z/KrWGvcf8h; reduced from https://github.com/SerenityOS/ladybird): template<typename T, typename U> constexpr bool IsSame = false; template<typename T> constexpr bool IsSame<T, T> = true; template<typename T> struct Foo { template<typename U> Foo(U&&) requires (!IsSame<U, Foo>); }; template<> struct Foo<void> : Foo<int> { using Foo<int>::Foo; }; Foo<void> test() { return 0; } <source>:18:27: error: invalid reference to function 'Foo': constraints not satisfied Foo<void> test() { return 0; } ^ <source>:10:24: note: because substituted constraint expression is ill-formed: value of type '<dependent type>' is not contextually convertible to 'bool' Foo(U&&) requires (!IsSame<U, Foo>); ^ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126907/new/ https://reviews.llvm.org/D126907 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits