Vai al contenuto
Errori del compilatore RustErrore
E0502

E0502 — Impossibile Prendere in Prestito come Mutabile Perché Già Preso in Prestito come Immutabile

Un valore non può essere preso in prestito mutabilmente mentre è ancora attivo un prestito immutabile.

rustcargo

Cause di questo errore

Rust impone che non si possa avere contemporaneamente un riferimento mutabile e un riferimento immutabile agli stessi dati. Il prestito immutabile è ancora in uso quando si tenta di acquisire un prestito mutabile.

Come correggerlo

Ristrutturare il codice in modo che il prestito immutabile termini prima che inizi quello mutabile. Clonare i dati se si necessitano copie indipendenti. Usare un blocco per limitare lo scope del prestito immutabile.

Esempio

let mut v = vec![1, 2];
let r = &v[0];
v.push(3);
println!("{}", r);
Documentazione ufficiale

Codici di errore correlati