Borrow Checker e Lifetimes
cannot return reference to local variable `x` – Rust 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 comuneDiagnosi
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 check --explain E0515Risoluzione
Risoluzione standard per Errore Rust E0515: cannot return reference to local variable (Riferimento a Variabile Locale)
Applica le correzioni consigliate per conformarsi alle regole di ownership, tipi o runtime in Rust.
- Ispezionare la riga evidenziata dal compilatore rustc
- Riformulare il codice secondo le linee guida della gestione ownership e borrow
- Eseguire cargo check per confermare la risoluzione
cargo checkDomande 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
- Rust Compiler Error Index / Rust Book documentazione_ufficiale