4 ms·
> The borrow-checker only expresses that your code is sound according the rust spec. Doesn’t the borrow checker also track when things fall out of scope, and t
by josephg 3y ago
> The borrow-checker only expresses that your code is sound according the rust spec.
Doesn’t the borrow checker also track when things fall out of scope, and thus control when Drop is called?
- PartiallyTyped 3y agoAfaik it tracks when objects go out of scope as that deals with ownership and lifetimes, but that's also part of the rust spec. The drop is there for stuff that you can't just release the memory for, such as closing files and connections.
- iudqnolq 3y agoNo. Drop has straightforward rules. Find the scope you can refer to the variable in, i.e. the curly brackets it is contained in. That variable is dropped right before the closing curly bracket. Things are dropped in reverse order of creation. (Similar rules apply to dropping temporaries) https://doc.rust-lang.org/reference/destructors.html https://doc.rust-lang.org/reference/destructors.html