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