E0106E0106 — Fehlender Lifetime-Bezeichner
Einer Referenz in einer Funktionssignatur oder einem Struct fehlt ein Lifetime-Parameter.
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
}Verwandte Fehlercodes
E0063E0063 — Fehlende Felder im Struct
Ein Struct wird konstruiert, ohne alle erforderlichen Felder anzugeben.
E0384E0384 — Zweimalige Zuweisung an unveränderliche Variable nicht möglich
Eine Variable wird neu zugewiesen, wurde aber nicht als veränderlich deklariert.
E0015E0015 — Aufrufe in Konstanten sind eingeschränkt
Eine Nicht-const-Funktion wird in einem konstanten Ausdruckskontext aufgerufen.
E0133E0133 — Aufruf einer unsicheren Funktion erfordert einen unsafe-Block
Eine unsichere Funktion oder Operation wird außerhalb eines unsafe-Blocks verwendet.
E0520E0520 — Spezialisierung ist instabil
Die Spezialisierung von Trait-Implementierungen erfordert ein Nightly-Compiler-Feature.
E0600E0600 — Unärer Operator nicht anwendbar
Ein unärer Operator wird auf einen Typ angewendet, der diesen nicht unterstützt.