https://d.puremagic.com/issues/show_bug.cgi?id=12153
--- Comment #5 from yebblies <[email protected]> 2014-02-19 21:38:16 EST --- (In reply to comment #4) > (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. Sure it will. This: int a, b, c; void main() { c ? a : b = c; } results in this getting sent to codegen: *(c ? & a : & b) = c; -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
