Wann ist es sinnvoll, mehrere Lebensdauern in einer Struktur zu definieren?
enn wir in Rust möchten, dass eine Struktur Referenzen enthält, definieren wir ihre Lebensdauer normalerweise als solch
struct Foo<'a> {
x: &'a i32,
y: &'a i32,
}
Aber es ist auch möglich, mehrere Lebensdauern für verschiedene Referenzen in derselben Struktur zu definieren:
struct Foo<'a, 'b> {
x: &'a i32,
y: &'b i32,
}
Wann ist es jemals sinnvoll, dies zu tun? Kann jemand einen Beispielcode bereitstellen, der nicht kompiliert wird, wenn beide Lebensdauern @ sin'a
aber kompiliert, wenn die Lebensdauern @ si'a
und'b
(oder umgekehrt)