E0505E0505 — Wert kann nicht aus ausgeliehenem Inhalt verschoben werden
Ein Wert wird verschoben, während er noch von einer Referenz ausgeliehen ist.
Was verursacht diesen Fehler
Sie versuchen, einen Wert zu verschieben (Ownership zu übertragen), der noch eine aktive Ausleihe hat. Das Verschieben würde die vorhandene Referenz ungültig machen, was Rust verhindert.
So beheben Sie ihn
Klonen Sie den Wert statt ihn zu verschieben. Beenden Sie die Ausleihe, bevor Sie den Wert verschieben. Verwenden Sie Referenzen statt Ownership-Übertragung. Strukturieren Sie den Code um, um den Konflikt zwischen Verschieben und Ausleihen zu vermeiden.
Verwandte Fehlercodes
E0277E0277 — Typ implementiert Send nicht
Ein Typ, der Send nicht implementiert, wird in einem Kontext verwendet, der Thread-Sicherheit erfordert.
E0277E0277 — Trait nicht erfüllt
Ein Typ implementiert ein erforderliches Trait nicht.
clippy::map_unwrap_orClippy — .map().unwrap_or() kann vereinfacht werden
Die Verwendung von .map().unwrap_or() kann durch .map_or() ersetzt werden.
clippy::clone_on_copyClippy — Clone auf Copy-Typ
Die Methode clone() wird auf einem Typ aufgerufen, der Copy implementiert.
E0599E0599 — Keine Methode X für Typ gefunden
Die Methode existiert nicht für den angegebenen Typ, oder das erforderliche Trait ist nicht im Gültigkeitsbereich.
E0310E0310 — Typ lebt möglicherweise nicht lange genug
Ein generischer Typparameter erfüllt eine erforderliche Lifetime-Schranke nicht.