Lifetimes are done with a purely syntactic analysis. And because you are telling Rust that Struct2
may hold references into Struct1
(by tying their lifetimes together), it's invalid for you to call take_mut
while that phantom borrow is active.
Lifetimes are done with a purely syntactic analysis. And because you are telling Rust that Struct2
may hold references into Struct1
(by tying their lifetimes together), it's invalid for you to call take_mut
while that phantom borrow is active.