Vai al contenuto
Errori del compilatore RustErrore
E0106

E0106 — Specificatore di Lifetime Mancante

Un riferimento nella firma di una funzione o struct è privo di un parametro di lifetime.

rustcargo

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
}
Documentazione ufficiale

Codici di errore correlati