struct myFramework {
        myFrameworkAccessor myFWApp;
}

interface myFrameworkApp {
        void init();
}

main(){
        myFramework mf = new myFramework;

        mf.myFWApp.init(); // this bombs because myFWApp is NULL
}

struct myFrameworkAccessor {
        myFrameworkApp instance()
        {
                if(_instance==null)_instance=new myAppCode();
                return _instance;
        }
        myFrameworkApp _instance;
        alias instance this;
}

class myAppCode : myFrameworkApp {
        void init() {...}
}

Reply via email to