Earlier quoted context omitted.
> So like C++ with unique_ptr, shared_ptr, and RAII? It is like that, but with stronger guarantees and less overhead.
> It is like that, but with stronger guarantees and less overhead. Smart pointers in C++ are very slim, which overhead are you referring to? And which are the stronger guarantees?
Additionally, in C++ there's nothing stopping me from wrapping a unique_ptr around a pointer that's aliased else where. This violates the guarantees of a unique_ptr and forces the user to make sure its invariants are held. In Rust the compiler ensures that your Box (Rust's unique_ptr) can never be owned more than once.