On Saturday, 9 June 2018 at 09:24:48 UTC, KingJoffrey wrote:
On Thursday, 7 June 2018 at 21:57:17 UTC, Steven Schveighoffer wrote:

Yep, long-standing issue: https://issues.dlang.org/show_bug.cgi?id=2947

Almost a decade old!

-Steve

Another reason why I still refuse to bring my code to D.

As if the module not respecting class encapsulation was not enough (see my rants about it elsewhere), D even allows two class instances to share non static mutable data!!

wtf!

--------------
import std.stdio;

class A
{
    int[] c = [3,3];
}

void main()
{
    A ca = new A;
    A cb = new A;

    ca.c[0] = 44;

    writeln(cb.c[0]);
// prints 44!!!! (in C++, Java and C#, this would - correctly - print 3)
}
---------------

Nobody cares about your opinion.

Nobody is forcing you to write code like that.

In fact most programs will be written without such code, for good reason.

Regardless if it does the "correct" thing or not.

Reply via email to