Related to issue 11211 struct S { @disable this(); bool cted; this(int x) { cted = true; } void foo() { assert(cted); } } void bar(A a) { a.s.foo(); } class A { S s; this() { bar(this); // shouldn't compile s = S(1); } } void main() { auto a = new A; } Passing 'this' outside the constructor should be disallowed before structs with disabled constructors are initialized. I could go on with bug reports but it is obvious that there is no good solution in the face of current compilation model.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18691 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB