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
is borrowed. But: writing
a is legal if
*a is borrowed,
whether or not
a is a shared or mutable reference. [...] "