Mutex, align(4096)

I am new to self referential structs (and have tried to avoid them as much as possible). However, this looks very interesting.

#[self_referencing]
pub struct Manager {
    data: Vec<Foo>,
    #[borrows(mut data)]
    #[not_covariant]
    locks: Vec<Mutex<&'this mut Foo>>,
}

Can a similar technique be used to solve Help with My_Box::as_mut_ref ?

In particular, the locks: Vec<Mutex<&'this mut Foo>>, line which I'm still trying to understand.