struct Base(T){
        static T opCall(Args...)( Args args ){
                writeln(args);
                writeln("opCall");
                T t;
                return t;
        }
}

struct Data{
        Base!Data b;
        alias b this;
}

void main()
{       
        // Expected: opCall of Base!Data, but get error
        // auto x = Data(10);
        // opCall called. What just happened here?
        // never saw anything about init as function.
        auto y = Data.init(10);
}

Reply via email to