Vai al contenuto
Errori del compilatore RustErrore
E0382

E0382 — Uso di un Valore Spostato

Un valore viene utilizzato dopo essere stato spostato in un'altra variabile o funzione.

rustcargo

Cause di questo errore

Il sistema di ownership di Rust prevede che ogni valore abbia esattamente un proprietario. Quando un valore viene spostato (assegnato a un'altra variabile o passato a una funzione), la variabile originale non può più essere utilizzata. Questo vale per i tipi che non implementano Copy.

Come correggerlo

Clonare il valore prima di spostarlo se è necessario usarlo di nuovo. Usare riferimenti (&T o &mut T) invece di trasferire la proprietà. Implementare il trait Copy per i tipi di piccole dimensioni. Ristrutturare il codice per evitare di usare il valore dopo lo spostamento.

Esempio

let s = String::from("hi");
let s2 = s;
println!("{}", s);
Documentazione ufficiale

Codici di errore correlati