http://d.puremagic.com/issues/show_bug.cgi?id=4832
--- Comment #1 from Andrej Mitrovic <andrej.mitrov...@gmail.com> 2010-09-06 13:37:55 PDT --- Sorry, I meant the function foo, not bar. (In reply to comment #0) > Code: > > import std.stdio : writeln; > > void foo(ref int x) > { > x = 10; > } > > class Bar > { > immutable int x; > > this() > { > x = 5; > } > > void printMe() > { > writeln(this.x); > } > > void change() > { > //~ this.x = 20; // illegal, errors out > } > } > > void main() > { > Bar bar = new Bar; > bar.printMe(); // prints 5 > > //~ bar.x = 10; // illegal, errors out > > foo(bar.x); // no error! > bar.printMe(); // prints 10 > } > > The commented out code would error out at compile time, which is expected. But > the function bar() is breaking immutability of x. > > A relevant bug is bug 4416 , and my comment: > http://d.puremagic.com/issues/show_bug.cgi?id=4416#c1 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------