cannot return reference to local variable `x` – Rust E0515

E0515

L'errore E0515 impedisce la creazione di dangling pointers (puntatori penzolanti): non è consentito restituire un riferimento a una variabile allocata nello stack della funzione, che cessa di esistere al return.

Cosa significa questo errore?

L'errore E0515 impedisce la creazione di dangling pointers (puntatori penzolanti): non è consentito restituire un riferimento a una variabile allocata nello stack della funzione, che cessa di esistere al return.

Messaggio originale

cannot return reference to local variable `x`

Contesto e parole chiave

Alias

  • cannot return reference to local variable
  • cannot return reference to temporary value
  • E0515

Messaggi alternativi

  • ritorno di riferimento a variabile locale nello stack

Prodotti

  • Rust Compiler (rustc) / Cargo / Tokio

Piattaforme

  • Linux
  • macOS
  • Windows

Parole chiave

  • Borrow Checker e Lifetimes
  • errore-rust-e0515-cannot-return-reference-to-local-variable
  • rust
  • rust.borrowck.e0515-cannot-return-reference-to-local-variable

Cause possibili

Causa tecnica per Errore Rust E0515: cannot return reference to local variable (Riferimento a Variabile Locale)

L'errore E0515 impedisce la creazione di dangling pointers (puntatori penzolanti): non è consentito restituire un riferimento a una variabile allocata nello stack della funzione, che cessa di esistere al return.

molto comune

Diagnosi

Verifica di compilazione e diagnostica per Errore Rust E0515: cannot return reference to local variable (Riferimento a Variabile Locale)

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 E0515

Risoluzione

Risoluzione standard per Errore Rust E0515: cannot return reference to local variable (Riferimento a Variabile Locale)

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 E0515: cannot return reference to local variable (Riferimento a Variabile Locale)?

L'errore E0515 impedisce la creazione di dangling pointers (puntatori penzolanti): non è consentito restituire un riferimento a una variabile allocata nello stack della funzione, che cessa di esistere al return.

Approfondimenti

Schede correlate