https://issues.dlang.org/show_bug.cgi?id=24574
Dennis <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |safe CC| |[email protected] Hardware|x86_64 |All OS|Linux |All --- Comment #1 from Dennis <[email protected]> --- I think both calls should fail to compile, because they can escape through self-assignment: ```D struct A { A* p; @safe nothrow pure void f() { this.p.p = p; } } @trusted nothrow pure void g(ref A a) { a.p.p = a.p; } @safe void e(ref scope A a) { a.f(); // (1) g(a); // (2) } ``` --
