On 30.01.2016 22:52, Enjoys Math wrote:

class A { static B b; } class B {}

doing b = new B() does NOT work.

Nor could I create a this() {} at module level

It works when you make b const/immutable:

class A {static immutable B b = new B;} class B {}

If you want/need b to be mutable, you can use a static constructor (`static this`), either in the class or the module:

class A {static B b; static this() {b = new B;}} class B {}
class A {static B b;} static this() {A.b = new B;} class B {}

You could also set it in `main` or another function that runs before b is used, of course.

Reply via email to