digitalmars.D.bugs - [Issue 3692] New: Compiler with associative arrays when std.variant is imported
- d-bugmail puremagic.com (37/37) Jan 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
- d-bugmail puremagic.com (12/12) Jan 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
- d-bugmail puremagic.com (25/25) Feb 05 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
- d-bugmail puremagic.com (21/21) Feb 05 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
- d-bugmail puremagic.com (20/29) Feb 05 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
- d-bugmail puremagic.com (19/19) Feb 05 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
- d-bugmail puremagic.com (10/10) Feb 11 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
- d-bugmail puremagic.com (11/12) Feb 12 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
- d-bugmail puremagic.com (11/11) Mar 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3692
http://d.puremagic.com/issues/show_bug.cgi?id=3692 Summary: Compiler with associative arrays when std.variant is imported Product: D Version: 2.038 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: lmb stackedboxes.org 12:35:25 PST --- First, I am using DMD 2.039, for which there is no entry on the "Version" field. Anyway, I firstly bumped into this when using DMD 2.037. So, when compiling this code: import std.variant; void main() { bool[int] a; auto x = a.keys[0]; } The compiler crashes saying: deferring sigaction_t dmd: mtype.c:3882: StructDeclaration* TypeAArray::getImpl(): Assertion `impl' failed. --- Removing the 'import std.variant;' statement solves the problem. Replacing the 'bool[int]' with 'int[int]' (and still importing std.variant) makes the compiler say: deferring sigaction_t But it still generates the executable, which seems to work as expected (that is, throwing a "Range Violation"). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 08 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3692 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |clugdbug yahoo.com.au Resolution| |DUPLICATE *** This issue has been marked as a duplicate of issue 3552 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 08 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3692 Leandro Motta Barros <lmb stackedboxes.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Version|2.038 |2.040 Resolution|DUPLICATE | 04:18:36 PST --- This bug has been marked as duplicate of issue 3552, so it should supposedly be fixed in DMD 2.040. Unfortunately, it was not. Using DMD 2.040 to compile the same code as before: import std.variant; void main() { bool[int] a; auto x = a.keys[0]; } I get the same compiler crash as before: dmd: mtype.c:3886: StructDeclaration* TypeAArray::getImpl(): Assertion `impl' failed. So, unless I'm doing something very wrong here, I suppose this bug still persists. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 05 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3692 04:42:50 PST --- Just one additional detail: In the program where I noticed this problem for the first time, as suggested by others, I worked around the bug by using a copy of std.variant.d with all the occurrences of "AssociativeArray" replaced with something else. I tried going back to std.variant in my program, and the crash was still there. In other words, it seems that the bug still has something to do with identifiers named "AssociativeArray". (That said, this code: void main() { int AssociativeArray; int[int] foo; foreach (x; foo) { } } which I took from issue 3552, compiles cleanly here, which seems to indicate that I am *really* running DMD 2.040 here ;-)) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 05 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3692Just one additional detail: In the program where I noticed this problem for the first time, as suggested by others, I worked around the bug by using a copy of std.variant.d with all the occurrences of "AssociativeArray" replaced with something else. I tried going back to std.variant in my program, and the crash was still there. In other words, it seems that the bug still has something to do with identifiers named "AssociativeArray".Yes. Reduced test case: --------- import file2; void main() { bool[int] a; auto x = a.keys[0]; } ------- file2: -------- int AssociativeArray; ------------------------------ Basically my patch fixed the specific case of bug 3552 but failed in the general case. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 05 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3692 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code, patch Severity|normal |regression PATCH: mtype.c line 3870 - // Create .AssociativeArray!(index, next) + // Create object.AssociativeArray!(index, next) DotTemplateInstanceExp *dti = new DotTemplateInstanceExp(loc, - new IdentifierExp(loc, Id::empty), + new IdentifierExp(loc, Id::object), Id::AssociativeArray, tiargs); Or possibly it should be .object.AssociativeArray -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 05 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3692 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com 22:25:50 PST --- Changeset 377 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 11 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3692 Kosmonaut <Kosmonaut tempinbox.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Kosmonaut tempinbox.com ---Changeset 377http://www.dsource.org/projects/dmd/changeset/377 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 12 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3692 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED 22:27:23 PST --- Fixed dmd 2.041 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 08 2010