https://d.puremagic.com/issues/show_bug.cgi?id=12153
--- Comment #3 from yebblies <[email protected]> 2014-02-19 21:07:20 EST --- (In reply to comment #2) > (In reply to comment #1) > > Sigh, the backend sees > > > > int[1] i = 0; > > int[1] j = 0; > > bool b = true; > > (b ? i : j)[] = [4]; > > assert(i == [4]); > > return 0; > > > > Another bug caused by lowering static array ops to slice ops. > > Translating to the slice ops is not a problem. This is a glue-layer bug for > cond expression. > 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. > https://github.com/D-Programming-Language/dmd/pull/3285 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
