Date: Wed, 16 Sep 2026 12:27:53 -0400
There's never SFINAE for invalid alias declarations.
*Brian Bi*
On Wed, Sep 16, 2026, 12:20 PM Bingzhi via Std-Discussion <
std-discussion_at_[hidden]> wrote:
> template <class T>
> struct X {
> static consteval std::meta::info evaluate()
> { if (std::meta::is_same_type(^^T, ^^int)) return { }; else ... }
>
> using type = [: evaluate() :];
> };
> template <class T> concept C = requires { typename X<T>::type; };
> static_assert(!C<int>); // *error: *cannot splice a null reflection
>
>
> I don't know why it is. Can somebody explain?
> --
> Std-Discussion mailing list
> Std-Discussion_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/std-discussion
>
*Brian Bi*
On Wed, Sep 16, 2026, 12:20 PM Bingzhi via Std-Discussion <
std-discussion_at_[hidden]> wrote:
> template <class T>
> struct X {
> static consteval std::meta::info evaluate()
> { if (std::meta::is_same_type(^^T, ^^int)) return { }; else ... }
>
> using type = [: evaluate() :];
> };
> template <class T> concept C = requires { typename X<T>::type; };
> static_assert(!C<int>); // *error: *cannot splice a null reflection
>
>
> I don't know why it is. Can somebody explain?
> --
> Std-Discussion mailing list
> Std-Discussion_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/std-discussion
>
Received on 2026-09-16 16:28:10
