On Sunday, 28 September 2014 at 20:28:11 UTC, Jay wrote:
fwiw here's what i wrote:

template New(T) if (is(T == class)) {
    T New(Args...) (Args args) {
        return new T(args);
    }
}

My try

template New(T) if (is(T == class))
{
    T New(Args...) (Args args) {
        return new T(args);
    }
}

unittest
{
    class C { int x, y; }
    auto x = New!C;
}

fails as

typecons_ex.d(60,16): Error: outer function context of typecons_ex.__unittestL64_4 is needed to 'new' nested class typecons_ex.__unittestL64_4.C typecons_ex.d(67,14): Error: template instance typecons_ex.New!(C).New!() error instantiating

Reply via email to