Zum Inhalt springen
Rust-Compiler-FehlerFehler
E0499

E0499 — Veränderliche Ausleihe mehr als einmal gleichzeitig nicht möglich

Ein Wert wird gleichzeitig mehrfach veränderlich ausgeliehen.

rustcargo

Was verursacht diesen Fehler

Rusts Borrow-Checker verhindert, dass zwei veränderliche Referenzen auf dieselben Daten gleichzeitig existieren. Dies verhindert Datenrennen und gewährleistet Speichersicherheit.

So beheben Sie ihn

Strukturieren Sie den Code so um, dass nur eine veränderliche Ausleihe gleichzeitig existiert. Begrenzen Sie den Gültigkeitsbereich der ersten veränderlichen Ausleihe mit einem Block. Erwägen Sie Cell, RefCell oder Mutex für Interior-Mutability-Muster.

Beispiel

let mut s = String::new();
let r1 = &mut s;
let r2 = &mut s;
Offizielle Dokumentation

Verwandte Fehlercodes