digitalmars.D.bugs - [Issue 5852] New: CTFE: wrong code for string[] ~= const(string)
- d-bugmail puremagic.com (30/30) Apr 18 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5852
- d-bugmail puremagic.com (21/21) Apr 18 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5852
- d-bugmail puremagic.com (6/6) Apr 18 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5852
- d-bugmail puremagic.com (13/13) Apr 18 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5852
http://d.puremagic.com/issues/show_bug.cgi?id=5852 Summary: CTFE: wrong code for string[] ~= const(string) Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: clugdbug yahoo.com.au --- Comment #0 from Don <clugdbug yahoo.com.au> 2011-04-18 03:15:36 PDT --- int bug5852(const(string) s) { string [] r; r ~= s; assert(r.length == 1); return r[0].length; } static assert(bug5852("abc")==3); The (non-static) assert fails, and if it's commented out, you get: test2.d(11): Error: integral constant must be scalar type, not string test2.d(11): Error: cannot evaluate bug5852("abc") at compile time test2.d(11): Error: static assert (bug5852("abc") == 3) is not evaluatable at c ompile time -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 18 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5852 kennytm gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kennytm gmail.com --- Comment #1 from kennytm gmail.com 2011-04-18 04:07:48 PDT --- Correct code is generated only when the constness of the string match. Another example: -------------------------------------- import std.stdio; auto x(string y) { const(string)[] z; z ~= y; z ~= y; return z; } static assert(x("abc").length != 6); -------------------------------------- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 18 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5852 --- Comment #2 from Don <clugdbug yahoo.com.au> 2011-04-18 05:41:32 PDT --- I've already got a fix for this one. Don't waste any time on it. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 18 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5852 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED --- Comment #3 from Walter Bright <bugzilla digitalmars.com> 2011-04-18 16:02:03 PDT --- https://github.com/D-Programming-Language/dmd/commit/316ba0a77e3934bfc8091940444f706e82aecc72 https://github.com/D-Programming-Language/dmd/commit/5c7c6b51e27d9cd394ddda4f7940cdf9c1610953 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 18 2011