Vai al contenuto
Errori del compilatore RustErrore
E0308

E0308 — Tipi non corrispondenti

Il tipo atteso non corrisponde al tipo effettivamente fornito.

rustcargo

Cause di questo errore

Una funzione restituisce un tipo diverso da quello dichiarato, una variabile viene assegnata a un tipo incompatibile, oppure un ramo di match restituisce un tipo diverso. Il sistema di tipi rigoroso di Rust richiede corrispondenze esatte senza conversioni implicite.

Come correggerlo

Convertire il valore nel tipo atteso usando .into(), as, oppure i trait From/Into. Correggere l'annotazione del tipo di ritorno affinché corrisponda al valore effettivamente restituito. Usare .to_string(), .as_str() o altri metodi di conversione appropriati.

Esempio

fn main() {
  let x: i32 = "hello";
}
Documentazione ufficiale

Codici di errore correlati