[Issue 12153] Ternary operator on static array lvalues creates copy

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 19 02:31:35 PST 2014


https://d.puremagic.com/issues/show_bug.cgi?id=12153



--- Comment #4 from Kenji Hara <k.hara.pg at gmail.com> 2014-02-19 02:31:26 PST ---
(In reply to comment #3)
> Sure it is.  If instead of converting `a = b` (where lhs is a static array)
> into `a[] = b[]` the compiler left the lhs intact as a static array, then
> converting the condexp to an lvalue would have resulted in `*(b ? &i : &j) =
> [4]` and this bug would not have occurred.

But in the cond exp, both i and j are already lvalue. So translating lvalue (b
? i : j) to lvalue *(b ? &i : &j) is redundant in front-end layer and will
never occur.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list