Don <> 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 <> 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:
------- You are receiving this mail because: -------

Reply via email to