digitalmars.D.bugs - [Issue 2938] New: incorrect code generated for assignment to assoc array element
- d-bugmail puremagic.com (31/31) May 04 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2938
- d-bugmail puremagic.com (20/20) Jan 14 2010 http://d.puremagic.com/issues/show_bug.cgi?id=2938
- d-bugmail puremagic.com (12/12) Jun 14 2010 http://d.puremagic.com/issues/show_bug.cgi?id=2938
http://d.puremagic.com/issues/show_bug.cgi?id=2938
Summary: incorrect code generated for assignment to assoc array
element
Product: D
Version: 2.029
Platform: PC
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: cristian zerobugs.org
This code causes a range violation exception. It goes away if the postblit
operator is commented away.
The root cause is in the front-end which generates code that gets the element
at key zero (to create a temp as argument to opAssign). I was able to work
around it in my back-end for .NET, but then the assertion fails, because the
front-end does not generate the call to postblit.
struct X {
int i;
this(this) {
++i;
}
}
void main() {
X [int] xs;
xs[0] = X();
assert(xs[0].i == 1);
}
--
May 04 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2938
David Simcha <dsimcha yahoo.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dsimcha yahoo.com
Also happens when opAssign is overloaded:
struct Foo {
uint stuff;
void opAssign(Foo rhs) {
stuff = rhs.stuff;
}
}
void main() {
Foo[string] AA;
AA["bar"] = Foo.init; // Range violation.
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 14 2010
http://d.puremagic.com/issues/show_bug.cgi?id=2938
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 2451 ***
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 14 2010









d-bugmail puremagic.com 