What is the exact meaing of the restriction brought by a lifetime annotation

In their example notation

    fn mutate_and_share<'a>(&'a mut self) -> &'a Self { &'a *self }
// ...
            let loan: &'c Foo = Foo::mutate_and_share::<'c>(&'c mut foo);

The immutable borrow is a reborrow of the mutable borrow, yes.

1 Like