digitalmars.D.bugs - [Issue 12189] New: "out" parameters should be allowed to modify immutable values in ctors
- d-bugmail puremagic.com (24/24) Feb 17 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12189
- d-bugmail puremagic.com (14/14) Feb 18 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12189
- d-bugmail puremagic.com (13/13) Feb 18 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12189
- d-bugmail puremagic.com (7/7) Feb 18 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12189
- d-bugmail puremagic.com (11/12) Feb 19 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12189
https://d.puremagic.com/issues/show_bug.cgi?id=12189 Summary: "out" parameters should be allowed to modify immutable values in ctors Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: thecybershadow gmail.com 03:56:13 EET --- void initialize(out string[] v) { v = ["Hi!"]; } immutable string[] s; shared static this() { s = ["Hi!"]; // OK initialize(s); // NG } -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 17 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12189 timon.gehr gmx.ch changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |timon.gehr gmx.ch string[]* ms; void initialize(out string[] v){ v = ["Hi!"]; ms = &v; // oops } -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 18 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12189 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID As Timon shows, accepting variable initialization via out parameter will make a hole in type system, because out parameter should have mutable type. So this is impossible enhancement. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 18 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12189 06:46:46 EET --- Thanks, I didn't think about that. If "out" did not allow escaping references then I guess it would be different. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 18 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12189 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bearophile_hugs eml.ccIf "out" did not allow escaping references then I guess it would be different."scope out"? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 19 2014