В Rust, когда мы хотим, чтобы структура содержала ссылки, мы обычно определяем их время жизни как таковое:
struct Foo<'a> {
x: &'a i32,
y: &'a i32,
}
Но также можно определить несколько времен жизни для разных ссылок в одной и той же структуре:
struct Foo<'a, 'b> {
x: &'a i32,
y: &'b i32,
}
Когда это когда-нибудь полезно? Может ли кто-нибудь предоставить некоторый пример кода, который не компилируется, когда оба срока службы 'a
, но компилируются, когда время жизни 'a
и 'b
(или наоборот)?