class Foo { static Foo makeFoo() { Foo f = new Foo(); return f; } }
void main() { Foo f = Foo.makeFoo(); }For a code like this. I'd like all users of the class to be forced to create instances using the static method makeFoo. I want to disallow "new Foo()". But I don't know if it's possible to disable the constructor, while still making it available in the makeFoo static method.
@disable this doesn't work, private this(); doesn't work either.