Rust's Shared and Exclusive Mutability with Borrowed Values
New Function's Scope and Borrowing
When a new function is introduced, it creates a new scope for variables. This means that the memory allocated to variables within that function will be freed once the function returns. However, if a reference to a variable from an outer scope is returned, the compiler may issue an error stating that the "borrowed value does not live long enough."
Borrowed Value Lifetime
The compiler's error message indicates that the lifetime of the borrowed value is shorter than the lifetime of the reference being returned. This occurs when the borrowed value is used beyond the scope of the function where it was created.
Casting Borrowed Values
If the borrowed value has methods that need to be accessed, it can be cast back to a reference to allow the use of those methods.
Expiring Borrowed Values
There are several ways to expire a borrowed value. One method is to assign the borrowed value to another variable.
Further Reading
To gain a deeper understanding of Rust's borrowing rules and lifetimes, consider revisiting the chapters on references, borrowing, and lifetimes in the Rust documentation.
Komentar