Category "borrowing"

Does Rust narrow lifetimes to satisfy constraints defined on them?

Please consider this example (playground): struct Container<'short, 'long: 'short, T: 'long> { short_prop: &'short u8, long_prop: &'long T

Why Rust prevents from multiple mutable references?

Like in the topic, why Rust prevents from multiple mutable references? I have read chapter in rust-book, and I understand that when we have multi-threaded code