E0308E0308 — Tipi non corrispondenti
Il tipo atteso non corrisponde al tipo effettivamente fornito.
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";
}Codici di errore correlati
panic-stack-overflowPanic — Stack Overflow
Il programma ha generato un panic a causa di un utilizzo eccessivo dello stack, tipicamente causato da una ricorsione profonda.
E0428E0428 — Definizione Duplicata
Un elemento con lo stesso nome è definito più di una volta nello stesso scope.
E0599E0599 — Nessun Metodo di Nome X Trovato per il Tipo
Il metodo non esiste sul tipo specificato, oppure il trait richiesto non è nel namespace corrente.
E0600E0600 — Impossibile Applicare l'Operatore Unario
Un operatore unario è applicato a un tipo che non lo supporta.
unused_mutAvviso Mut Non Utilizzato
Una variabile è dichiarata come mutabile ma non viene mai effettivamente mutata.
E0271E0271 — Mancata Corrispondenza di Tipo nel Tipo Associato
Un tipo associato in un'implementazione di trait non corrisponde al tipo atteso.