digitalmars.D.bugs - [Issue 5284] New: Array ops punch through const system
- d-bugmail puremagic.com (33/34) Nov 28 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5284
- d-bugmail puremagic.com (19/19) Nov 28 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5284
- d-bugmail puremagic.com (12/12) Jun 25 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5284
http://d.puremagic.com/issues/show_bug.cgi?id=5284 Summary: Array ops punch through const system Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: accepts-invalid Severity: major Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: dfj1esp02 sneakemail.com Blocks: 2573 09:00:08 PST --- --- class A { int m=5; } int main() { A[] a=new A[1]; immutable(A)[] b=[new immutable(A)]; assert(b[0].m==5); a[]=b[]; //should not pass typecheck a[0].m=10; assert(b[0].m==5,"fail"); //line 18 return 0; } ---dmd -w -debug -run test.d--- core.exception.AssertError test.d(18): fail -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 28 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5284 09:13:10 PST --- Interesting... --- class A { int m=5; } int main() { A[] a=new A[1]; int[] b=[0]; a[]=b[]; return 0; } --- this code gives error: cannot implicitly convert expression (b[]) of type int[] to const(A[]). Seems like the compiler tries to cast right-hand expression to const(typeof(left-hand expression)), then proceeds with copying. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 28 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5284 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 11:53:21 PDT --- https://github.com/D-Programming-Language/dmd/commit/d4086972a1456f36175e242ea9ab6165f96592b1 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 25 2011