digitalmars.D.bugs - [Issue 1625] New: cannot evaluate function compile-time when return type includes a union
- d-bugmail puremagic.com (35/35) Oct 29 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1625
- d-bugmail puremagic.com (5/5) Nov 28 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1625
- d-bugmail puremagic.com (27/27) Nov 29 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1625
- d-bugmail puremagic.com (14/14) Aug 26 2009 http://d.puremagic.com/issues/show_bug.cgi?id=1625
http://d.puremagic.com/issues/show_bug.cgi?id=1625 Summary: cannot evaluate function compile-time when return type includes a union Product: D Version: 2.006 Platform: PC URL: http://paste.dprogramming.com/dpjhoxzy OS/Version: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: spam extrawurst.org dmd refuses to compile the following legal code: [CODE] struct Foo { union { struct { float x,y,z; } float[3] _v; } static Foo bar(){ Foo f; return f; } } void main() { const Foo foo = Foo.bar();//Error: cannot evaluate bar() at compile time } [/CODE] i hope i am right that it should work and is valid code. --
Oct 29 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1625 this examples seems to work now, was it intentionally fixed in 2.008? it's not in the changelog. --
Nov 28 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1625 spam extrawurst.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |spam extrawurst.org ok the above example works under dmd2.008 just cause of the changes in the const thing, when involving static it isnt able to evaluate the union stuff compile time again: [CODE] struct Foo { union { struct { float x,y,z; } float[3] _v; } static Foo bar(){ Foo f; return f; } } void main() { static Foo foo = Foo.bar();//Error: cannot evaluate bar() at compile time } [/CODE] --
Nov 29 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1625 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clugdbug yahoo.com.au Summary|cannot evaluate function |CTFE: cannot evaluate | compile-time when return |function when return type |type includes a union |includes a union Actually it cannot evaluate any function which involves reading the value of a union. (It can WRITE to a union, though!) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 26 2009