digitalmars.D - assocArray.remove() gives strange error
- Mariusz =?utf-8?q?Gliwi=C5=84ski?= (17/17) Dec 23 2010 charset="utf-8"
- Steven Schveighoffer (10/23) Dec 27 2010 Part of this a compiler error, the clue is that it's expression.c. Look...
charset="utf-8" Content-Transfer-Encoding: quoted-printable When i compile: <code>type[key2][key1] assocArray1; assocArray1[key1].remove(key2);</code> everything is ok, but building <code>type[key2][key1] assocArray1; return (assocArray1[key1].remove(key2));</code> gives <code>dmd: expression.c:817: void expToCBuffer(OutBuffer*, HdrGenState*,=20 Expression*, PREC): Assertion `pr !=3D PREC_zero' failed.</code> while the book states it should return bool, which typeof() supports Digital Mars D Compiler v2.049 Copyright (c) 1999-2010 by Digital Mars written by Walter Bright Documentation: http://www.digitalmars.com/d/2.0/index.html Sincerely, Mariusz Gliwi=C5=84ski
Dec 23 2010
On Fri, 24 Dec 2010 00:58:37 -0500, Mariusz GliwiĆski <alienballance gmail.com> wrote:When i compile: <code>type[key2][key1] assocArray1; assocArray1[key1].remove(key2);</code> everything is ok, but building <code>type[key2][key1] assocArray1; return (assocArray1[key1].remove(key2));</code> gives <code>dmd: expression.c:817: void expToCBuffer(OutBuffer*, HdrGenState*, Expression*, PREC): Assertion `pr != PREC_zero' failed.</code> while the book states it should return bool, which typeof() supports Digital Mars D Compiler v2.049 Copyright (c) 1999-2010 by Digital Mars written by Walter Bright Documentation: http://www.digitalmars.com/d/2.0/index.htmlPart of this a compiler error, the clue is that it's expression.c. Looks like it was fixed. http://d.puremagic.com/issues/show_bug.cgi?id=4914 It was fixed in 2.050. Now the error is: Error: cannot implicitly convert expression ... of type void to bool Here is the relevant report for that: http://d.puremagic.com/issues/show_bug.cgi?id=4523 -Steve
Dec 27 2010