comprehensive-rust
comprehensive-rust copied to clipboard
Non-lexical lifetimes on exclusive reference
The page talking about "Exclusive References" has the following in the speaker notes:
No other references (shared or exclusive) can exist at the same time, and the referenced value cannot be accessed while the exclusive reference exists. Try making an &point.0 or changing point.0 while x_coord is alive.
I experimented with this on the Rust Playground (see https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=09cab9831d130e6532b11e0b1253153f) and was confused when I could make another reference to &point.0 and I could modify point.0. My confusion was caused by (mis-)understanding that the x_coord reference has block scope.
Non-lexical scoping was introduced in August 2022 / rust 1.63 so this isn't a cutting edge concept or implementation in July 2024.
Maybe reference scoping is complex enough that it need a dedicated page rather than an update on the exclusive references page?