On Thursday, 6 August 2020 at 16:01:35 UTC, jmh530 wrote:
[snip]

It seems as if the T is properly Foo(T) and can only be instantiated with actual types. Something like below works and might work for me.

template test(alias T)
    if (__traits(isTemplate, T))
{
    void test(U)(U x)
        if (is(T!U : Foo!U))
    {
        import std.stdio: writeln;
        writeln("there");
    }
}

Reply via email to