Yeah. IIRC, it was supposed to be _guaranteed_ that the compiler moved structs in a number of situations - e.g. when the return value was an rvalue. Something like
Eh, I don't think that moves it, but rather just constructs it in-place for the next call.