¿Cuándo es útil definir múltiples vidas en una estructura?
En Rust, cuando queremos que una estructura contenga referencias, generalmente definimos sus vidas como tales:
struct Foo<'a> {
x: &'a i32,
y: &'a i32,
}
Pero también es posible definir múltiples vidas para diferentes referencias en la misma estructura:
struct Foo<'a, 'b> {
x: &'a i32,
y: &'b i32,
}
¿Cuándo es útil hacer esto? ¿Alguien puede proporcionar algún código de ejemplo que no se compila cuando ambas vidas son'a
pero se compila cuando las vidas son'a
y'b
(o viceversa)?