This makes it very unclear what's going on. I had to test it to find that this specific use is special cased to not copy. And very surprisingly you don't even have to assign back to the same variable to get this no-copy behavior!
Edit: I didn't do my test quite right. It's not really special-cased. But it's still very surprising to see this happen:
Edit: I didn't do my test quite right. It's not really special-cased. But it's still very surprising to see this happen:
Code:
Output: