`T` cannot be sent between threads safely: the trait `Send` is not implemented for `T` – Rust E0277_SEND

E0277_SEND

L'errore a tempo di compilazione impedisce il passaggio di tipi non thread-safe (come Rc o puntatori raw) tra thread diversi o attraverso chiamate 'tokio::spawn', richiedendo l'uso di equivalenti atomici come Arc.

Cosa significa questo errore?

L'errore a tempo di compilazione impedisce il passaggio di tipi non thread-safe (come Rc o puntatori raw) tra thread diversi o attraverso chiamate 'tokio::spawn', richiedendo l'uso di equivalenti atomici come Arc.

Messaggio originale

`T` cannot be sent between threads safely: the trait `Send` is not implemented for `T`

Contesto e parole chiave

Alias

  • cannot be sent between threads safely Send

Messaggi alternativi

  • trait Send non implementato per trasferimento thread

Prodotti

  • Rust Compiler (rustc) / Cargo / Tokio

Piattaforme

  • Linux
  • macOS
  • Windows

Parole chiave

  • Concorrenza e Async
  • errore-rust-cannot-be-sent-between-threads-send
  • rust
  • rust.async.cannot-be-sent-between-threads-send-not-implemented

Cause possibili

Causa tecnica per Errore Rust Concorrenza: `T` cannot be sent between threads safely (Send Non Soddisfatto)

L'errore a tempo di compilazione impedisce il passaggio di tipi non thread-safe (come Rc o puntatori raw) tra thread diversi o attraverso chiamate 'tokio::spawn', richiedendo l'uso di equivalenti atomici come Arc.

molto comune

Diagnosi

Verifica di compilazione e diagnostica per Errore Rust Concorrenza: `T` cannot be sent between threads safely (Send Non Soddisfatto)

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 E0277_SEND

Risoluzione

Risoluzione standard per Errore Rust Concorrenza: `T` cannot be sent between threads safely (Send Non Soddisfatto)

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 Concorrenza: `T` cannot be sent between threads safely (Send Non Soddisfatto)?

L'errore a tempo di compilazione impedisce il passaggio di tipi non thread-safe (come Rc o puntatori raw) tra thread diversi o attraverso chiamate 'tokio::spawn', richiedendo l'uso di equivalenti atomici come Arc.

Approfondimenti

Schede correlate