comprehensive-rust icon indicating copy to clipboard operation
comprehensive-rust copied to clipboard

Non-lexical lifetimes on exclusive reference

Open redentis opened this issue 1 year ago • 1 comments

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?

redentis avatar Jul 23 '24 09:07 redentis