[][src]Module rustc_mir::borrow_check::prefixes

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

From the NLL RFC: "The deep [aka 'supporting'] prefixes for an place are formed by stripping away fields and derefs, except that we stop when we reach the deref of a shared reference. [...] "

"Shallow prefixes are found by stripping away fields, but stop at any dereference. So: writing a path like a is illegal if a.b is borrowed. But: writing a is legal if *a is borrowed, whether or not a is a shared or mutable reference. [...] "