struct S {
~this() {}
}
class C {
S s;
this() nothrow {}
}
produces:
test.d(8): Error: destructor 'test.C.~this' is not nothrow
test.d(8): Error: nothrow constructor 'test.C.this' may throw
Introduced by:
https://github.com/dlang/dmd/pull/6816
Changed this to INVALID. A constructor marked nothrow cannot have a field with a throwing destructor, because the destructor can get called if the constructor fails to complete.