[Issue 874] Bad codegen: wrong value variable in tuple foreach, D1 only
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Oct 30 01:53:51 PDT 2009
http://d.puremagic.com/issues/show_bug.cgi?id=874
Don <clugdbug at yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Incorrect codegen with |Bad codegen: wrong value
|tuples, string constants, |variable in tuple foreach,
|and AAs, D1 only |D1 only
--- Comment #3 from Don <clugdbug at yahoo.com.au> 2009-10-30 01:53:50 PDT ---
Original title was: "Incorrect codegen with tuples, string constants, and AAs".
This bug has nothing to do with AAs, actually. The problem is that the 'value'
in a tuple foreach isn't dealt with correctly.
Workarounds: Change the code into: ret = arg.dup; or ret = args[0];
char[] bug874(T...)(T args)
{
char[] ret;
foreach(arg; args) {
ret = arg;
}
assert(ret=="b"); // passes
return ret;
}
void main()
{
char[] s = bug874("b");
assert(s == "b"); // fails
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list