digitalmars.D.bugs - [Issue 9244] New: union containing pointers not allowed
- d-bugmail puremagic.com (42/42) Dec 29 2012 http://d.puremagic.com/issues/show_bug.cgi?id=9244
- d-bugmail puremagic.com (10/10) Dec 29 2012 http://d.puremagic.com/issues/show_bug.cgi?id=9244
- d-bugmail puremagic.com (28/28) Jan 14 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9244
- d-bugmail puremagic.com (10/10) Feb 01 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9244
- d-bugmail puremagic.com (11/11) Feb 01 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9244
- d-bugmail puremagic.com (9/9) Feb 01 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9244
http://d.puremagic.com/issues/show_bug.cgi?id=9244 Summary: union containing pointers not allowed Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: rtcvb32 yahoo.com --- Silently enters 'void* this;' pointer making compiling error out. Current beta (v2.061, windows 32bit) Only by using traits will the problem show itself. [code] static assert(__traits(compiles, { union xxx { int i; //bitfields will make such functions... mixin("int geti() safe const nothrow pure {return i;}void seti(int ii) safe pure nothrow {i = ii;}"); } })); [/code] output: test.d(??): Error: static assert (__traits(compiles,delegate pure nothrow safe void() { union xxx { int i; mixin("int geti() safe const nothrow pure {return i;}void seti(int ii) safe pure nothrow {i = ii;}"); void* this; } } )) is false -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 29 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9244 Jonathan M Davis <jmdavisProg gmx.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jmdavisProg gmx.com PST --- If this is a regression, it needs to be marked as such. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 29 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9244 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid CC| |yebblies gmail.com Platform|x86 |All OS/Version|Windows |All Severity|normal |regression Reduced: void main() { union U { int i; safe int x() { return i; } } } Because U has a function in it, dmd incorrectly decides it is a nested union and (even worse) inserts a void* member. A regression because: - safe code didn't always disallow unions with pointers - wrapping x in an attribute such as safe used to make the compiler infer U as non-nested Workaround: make U static -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 14 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9244 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com 00:08:07 PST --- https://github.com/D-Programming-Language/dmd/pull/1591 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 01 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9244 Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/0e21647a30c50e02e4a9ce43ee7e891a41d7c255 fix Issue 9244 - union containing pointers not allowed https://github.com/D-Programming-Language/dmd/commit/95a3f5ff979f40ff0e7ae459b8d9786d64f901a7 fix Issue 9244 - union containing pointers not allowed -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 01 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9244 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 01 2013