cannot move out of `x` because it is borrowed – Rust E0505

E0505

L'errore E0505 segnala che una variabile non può essere trasferita o riassegnata per valore finché esiste un riferimento valido e attivo che punta alla sua memoria.

Cosa significa questo errore?

L'errore E0505 segnala che una variabile non può essere trasferita o riassegnata per valore finché esiste un riferimento valido e attivo che punta alla sua memoria.

Messaggio originale

cannot move out of `x` because it is borrowed

Contesto e parole chiave

Alias

  • cannot move out because it is borrowed
  • E0505

Messaggi alternativi

  • impossibile spostare valore già preso in prestito

Prodotti

  • Rust Compiler (rustc) / Cargo / Tokio

Piattaforme

  • Linux
  • macOS
  • Windows

Parole chiave

  • Borrow Checker e Lifetimes
  • errore-rust-e0505-cannot-move-out-because-borrowed
  • rust
  • rust.borrowck.e0505-cannot-move-out-because-borrowed

Cause possibili

Causa tecnica per Errore Rust E0505: cannot move out of variable because it is borrowed

L'errore E0505 segnala che una variabile non può essere trasferita o riassegnata per valore finché esiste un riferimento valido e attivo che punta alla sua memoria.

molto comune

Diagnosi

Verifica di compilazione e diagnostica per Errore Rust E0505: cannot move out of variable because it is borrowed

Eseguire il comando cargo check per visualizzare l'output dettagliato del compilatore con suggerimenti (explain).

Come leggere il risultato. Fornisce la spiegazione estesa dell'errore di compilazione o stack trace del panic.

cargo
cargo check --explain E0505

Risoluzione

Risoluzione standard per Errore Rust E0505: cannot move out of variable because it is borrowed

Difficoltà: mediaRischio: basso

Applica le correzioni consigliate per conformarsi alle regole di ownership, tipi o runtime in Rust.

  1. Ispezionare la riga evidenziata dal compilatore rustc
  2. Riformulare il codice secondo le linee guida della gestione ownership e borrow
  3. Eseguire cargo check per confermare la risoluzione
cargo
cargo check

Domande frequenti

Cosa significa Errore Rust E0505: cannot move out of variable because it is borrowed?

L'errore E0505 segnala che una variabile non può essere trasferita o riassegnata per valore finché esiste un riferimento valido e attivo che punta alla sua memoria.

Approfondimenti

Schede correlate