Mechanics of partial moves

Is there any good read on partial moves and how they're handled in various types and situations?

For example I was a little surprised this worked

I'm now wondering if the semantics of partial moves are same for all types and scenarios.

Basically you can do partial moves in all situations where there's a way for the compiler to handle them even if panics were inserted after the move.

Which I think means data in the stack or a Box, not in an array, not in types that implement Drop, and of course without a conflicting borrow.

2 Likes