I found a strange behavior. class A { void opAssign(int v) {} }
class Test { A a; this() { a = new A(); // removing this causes compile error.a = 3; // cannot implicitly convert expression `3` of `int` to `A`
} } void main() { // this is allowed. A a; a = 3; } Is it a compiiler's bug?