erichkeane added a comment. In D126907#3844788 <https://reviews.llvm.org/D126907#3844788>, @BertalanD wrote:
> 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>); > ^ Thanks for the report! I'll look into it ASAP. 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