Why doesn't DMD detect invalid out-of-scope references to scoped class instances? Example: @safe: class C { @safe pure: this() { } int x; } @trusted unittest { C f() { import std.typecons : scoped; auto x = scoped!C(); return x; } auto c = f(); c.x = 42; // invalid memory access }