On Saturday, 8 October 2016 at 21:14:43 UTC, Jon Degenhardt wrote:
This distinction is a bit on the nuanced side. Is it behaving
as it should?
--Jon
I think so? It's not being modified in the second case because
the array is being passed by value... "x" there is a reference to
an element of the copy created to be passed to each(). I assume
there's a good reason why ranges in general are passed by value
into these functions -- except in this one case, the stuff inside
range types copied when passed by value won't be whole arrays,
I'm guessing.