Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
&mut T is indeed a bit special; in some situations where it would normally be moved, like some_function(x) (where x is a &mut T), the compiler treats this as if you had written some_function(&mut *x) - passing a new mutable reference with a shorter lifetime into the function. This behaviour is called an implicit reborrow, and unfortunately doesn't appear to be well documented, either in the book or the reference (issue).
NOTE:
The number of mentions on this list indicates mentions on common posts plus user suggested alternatives.
Hence, a higher number means a more popular project.
Related posts
- Why is there no standard way of removing the mutability property from a reference?
- noob question about moving references
- Can someone please explain this to me? How does the compiler know about this for more advanced cases and when does it do this?
- GAT section in new version of Rust book?
- PSA - Most Rust tooling runs only on the default feature set and current platform if no special steps are taken