Start with the idea
A strong answer says: each value has one owner, ownership moves on assignment or when passed by value, Copy types duplicate instead, and Drop runs deterministically at end of scope. That combination is what removes both double frees and the need for a garbage collector.
In an interview, anchor the answer to a short trace rather than a slogan. Create a String, pass it by value to a function, and ask whether the original binding can be used afterward. The owned string moves into the parameter; only the new owner may use it. If the function needs to read but not retain the string, accept &str instead. Small Copy values such as integers behave differently because an assignment copies their bits and leaves the original usable. Clone is an explicit request to duplicate a non-Copy value, potentially allocating.
Describe when cleanup happens.
Keep learning, for free
The rest of this lesson is waiting for you.
Create a free account to read the complete explanation, see the infographic, explore the code, and try the exercises. All 742 lessons and algorithm steps are included.
No payment details. Your account opens the complete Academy.