Nella documentazione di Rust , sotto la sezione delle strutture, forniscono questo esempio di come le strutture hanno bisogno di vite quando contengono riferimenti:
struct Foo<'a> {
x: &'a i32,
}
perché
We need to ensure that any reference to a Foo cannot outlive the reference to an i32 it contains.
La mia domanda è: non dovrebbe essere implicito? Quando mai non ci interesseremmo di un'istanza della nostra struttura che sopravvive con un riferimento che contiene?
Rust ha già regole di elisione a vita per funzioni e metodi in modo da non dover dichiarare esplicitamente i vincoli di durata. Perché non hanno regole di elisione simili per le strutture?