digitalmars.D.bugs - [Issue 7091] New: ICE in Statement::blockExit
- d-bugmail puremagic.com (41/41) Dec 10 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7091
- d-bugmail puremagic.com (28/28) Dec 10 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7091
- d-bugmail puremagic.com (23/23) Dec 10 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7091
- d-bugmail puremagic.com (12/12) Dec 10 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7091
- d-bugmail puremagic.com (11/11) Dec 12 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7091
- d-bugmail puremagic.com (10/10) Apr 28 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7091
http://d.puremagic.com/issues/show_bug.cgi?id=7091 Summary: ICE in Statement::blockExit Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: ice-on-invalid-code, ice-on-valid-code Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: mrmocool gmx.de struct Matrix(T) { int opApply(scope int delegate(ref size_t, ref T) ) { } int opApply(scope int delegate(ref const(size_t), ref const(T)) ) { } Matrix!() opBinary() { foreach (i, ref val; this) mixin("result[i] = val " ~ op ~ " other[i];"); return result; } } void main() { auto m = Matrix!size_t; } $ dmd -c test2.d test2.d(7): Error: template instance Matrix!() Matrix!() does not match template declaration Matrix(T) test2.d(7): Error: Matrix!() is used as a type test2.d(4): Error: function test2.Matrix!(ulong).Matrix.opApply has no return statement, but is expected to return a value of type int test2.d(5): Error: function test2.Matrix!(ulong).Matrix.opApply has no return statement, but is expected to return a value of type int test2.d(8): Error: cannot uniquely infer foreach argument types test2.d(9): Error: undefined identifier result Statement::blockExit(0xcd15e0) mixin("result[i] = val " ~ op ~ " other[i];"); dmd: statement.c:144: virtual int Statement::blockExit(bool): Assertion `0' failed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 10 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7091 more valid case: struct Matrix(T) { property T[] data() { return null; } int opApply(scope int delegate(ref size_t[], ref T) dg) { return 0; } int opApply(scope int delegate(ref const(size_t[]), ref const(T)) dg) const { return 0; } Matrix!(typeof(mixin("data[0] " ~ op ~ " data[0]"))) opBinary(string op)(Matrix other) { auto result = typeof(return)(); foreach (i, ref val; this) { mixin("result[i] = val " ~ op ~ " other[i];"); } return result; } } void main() { auto m = Matrix!size_t(); m = m * m; } $ dmd -c test2.d test2.d(11): Error: cannot uniquely infer foreach argument types Statement::blockExit(0x1c509c0) mixin("result[i] = val " ~ op ~ " other[i];"); dmd: statement.c:144: virtual int Statement::blockExit(bool): Assertion `0' failed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 10 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7091 More simple test code: ---- void main() { int[] arr; foreach (x, i, v; arr) { mixin(""); } } output: ---- test.d(4): Error: cannot infer type for i test.d(4): Error: cannot infer type for v Statement::blockExit(002B6810) mixin(""); Assertion failure: '0' on line 144 in file 'statement.c' abnormal program termination -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 10 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7091 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|ice-on-valid-code |patch This problem occurs only on invalid code. So it isn't 'ice-on-valid-code'. Patch: https://github.com/D-Programming-Language/dmd/pull/553 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 10 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7091 Trass3r <mrmocool gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED https://github.com/D-Programming-Language/dmd/commit/1a2277c73f7dcc7d5faf2f17cdcbbc6e801f16e8 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 12 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7091 SomeDude <lovelydear mailmetrash.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lovelydear mailmetrash.com PDT --- No more ICE on 2.059 Win32 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 28 2012