digitalmars.D.bugs - [Issue 2481] New: mixing field into anonymous struct inside class generates field overlapping vtable
- d-bugmail puremagic.com (21/21) Nov 30 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2481
- d-bugmail puremagic.com (4/4) Nov 30 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2481
http://d.puremagic.com/issues/show_bug.cgi?id=2481 Summary: mixing field into anonymous struct inside class generates field overlapping vtable Product: D Version: 1.035 Platform: PC OS/Version: Linux Status: NEW Keywords: wrong-code Severity: major Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: tomas famolsen.dk template M() { int i; } class Z { struct { mixin M!(); } } void main() { Z z; writefln(z.i.offsetof); } // output: 0 dmd uses offset=0 internally, meaning that if 'i' is written to, the vtable is overwritten. --
Nov 30 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2481 same problem happens if an anonymous union block is used instead --
Nov 30 2008