Trying to avoid GC dependence on my objects.

interface Alloc(T)
{
        T New(A...)(A args);
        //final T Factory(A...)(T, A args) { return new T(args); }
}


class A(T) : Alloc!(A!(T))
{
    ....
    static A!T New()
    {
        return new A!T();    // Use GC for now
        // Factor(A!T);
    }
}

(I'm not sure why the static New satisfies the interface but dmd doesn't complain)

Using New instead of new removes a dependence step. If I could get the factory to work, then it could be used by New to help setup the object, the factory just allocating the object while New setting it up properly.


Anyways, is this a bad or good way and how can I call Factory to get a new object? (I know that ther is .init and other stuff that can be used by Factor/New. I'm just trying to get the skeleton to compile and make sure there are not going to be major issues in the future.



Reply via email to