https://issues.dlang.org/show_bug.cgi?id=21200

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]
                   |                            |rg

--- Comment #2 from [email protected] ---
That would allow external code to silently break the type system as soon as
references are involved:

==========================================
// D

extern(C++) class C {}

extern(C++) void foo(ref const C);

void main()
{
    static immutable C c = new C();
    foo(c);
}

==========================================
// C++

class C;

void foo(const C*& c)
{
    c = nullptr; // <= boom
}

==========================================

(Allthough class + ref should be rare outside of generic code)

--

Reply via email to