Zum Inhalt springen
Rust-Compiler-FehlerFehler
E0106

E0106 — Fehlender Lifetime-Bezeichner

Einer Referenz in einer Funktionssignatur oder einem Struct fehlt ein Lifetime-Parameter.

rustcargo

Was verursacht diesen Fehler

Rust erfordert explizite Lifetime-Annotationen, wenn mehrere Eingangslebenszeiten vorhanden sind und der Compiler die korrekte Ausgangslebenszeit nicht ableiten kann. Struct-Felder, die Referenzen sind, benötigen ebenfalls Lifetime-Annotationen.

So beheben Sie ihn

Fügen Sie Lifetime-Parameter zur Funktionssignatur oder zum Struct hinzu. Verwenden Sie 'a oder andere Lifetime-Namen. Enthält die Funktion genau eine Eingangsreferenz, kann der Compiler die Lifetime meist ableiten. Erwägen Sie die Verwendung von owned Typen statt Referenzen.

Beispiel

struct Foo {
  bar: &str, // missing lifetime
}
Offizielle Dokumentation

Verwandte Fehlercodes