- In general the assignment n = m is a move, which means that m is not usable anymore-the content is moved from one owner to another and the old owner is invalidated.
- But when m is a primitive type or its type implements the Copy trait, it is still usable afterwards. This does not change what the assignment does, only whether you are allowed to use the old object.
- You can force copy semantics when you need it by using n = m.clone().