E0106E0106 — Specificatore di Lifetime Mancante
Un riferimento nella firma di una funzione o struct è privo di un parametro di lifetime.
Cause di questo errore
Rust richiede annotazioni di lifetime esplicite quando vi sono più lifetime in input e il compilatore non è in grado di determinare il lifetime corretto dell'output. Anche i campi di struct che sono riferimenti necessitano di annotazioni di lifetime.
Come correggerlo
Aggiungere parametri di lifetime alla firma della funzione o della struct. Usare 'a o altri nomi di lifetime. Se la funzione ha un solo riferimento in input, il compilatore è solitamente in grado di inferire il lifetime. Considerare l'uso di tipi posseduti invece di riferimenti.
Esempio
struct Foo {
bar: &str, // missing lifetime
}Codici di errore correlati
E0063E0063 — Campi Mancanti nella Struct
Una struct viene costruita senza tutti i campi obbligatori.
E0384E0384 — Impossibile Assegnare Due Volte a una Variabile Immutabile
A una variabile viene riassegnato un valore, ma non era stata dichiarata come mutabile.
E0015E0015 — Le Chiamate nelle Costanti Sono Limitate
Una funzione non const viene chiamata in un contesto di espressione costante.
E0133E0133 — La Chiamata a una Funzione Unsafe Richiede un Blocco unsafe
Una funzione o un'operazione unsafe viene utilizzata al di fuori di un blocco unsafe.
E0520E0520 — La Specializzazione è Instabile
La specializzazione delle implementazioni di trait richiede una feature del compilatore nightly.
E0600E0600 — Impossibile Applicare l'Operatore Unario
Un operatore unario è applicato a un tipo che non lo supporta.