E0308E0308 — Tipi non corrispondenti
Il tipo atteso non corrisponde al tipo effettivamente fornito.
Sfoglia tutti i 80 codici di errore Errori del compilatore Rust con cause, soluzioni ed esempi.
E0308Il tipo atteso non corrisponde al tipo effettivamente fornito.
E0382Un valore viene utilizzato dopo essere stato spostato in un'altra variabile o funzione.
E0502Un valore non può essere preso in prestito mutabilmente mentre è ancora attivo un prestito immutabile.
E0597Un riferimento sopravvive ai dati a cui punta.
E0277Un tipo non implementa un trait richiesto.
E0599Il metodo non esiste sul tipo specificato, oppure il trait richiesto non è nel namespace corrente.
E0425Un identificatore viene usato ma non è definito nello scope corrente.
E0433Il percorso del modulo usato in un'istruzione use o in un percorso di tipo non può essere risolto.
E0106Un riferimento nella firma di una funzione o struct è privo di un parametro di lifetime.
E0015Una funzione non const viene chiamata in un contesto di espressione costante.
E0658Una funzionalità non ancora stabilizzata in Rust viene utilizzata senza il feature gate.
E0609La struct o union non dispone di un campo con il nome specificato.
E0614L'operatore di dereferenziazione (*) viene usato su un tipo che non implementa Deref.
E0499Un valore viene preso in prestito mutabilmente più di una volta contemporaneamente.
E0503Un valore non può essere usato mentre è preso in prestito mutabilmente da un'altra variabile.
E0505Un valore viene spostato mentre è ancora preso in prestito da un riferimento.
E0507Si sta tentando di spostare un valore fuori da un riferimento, il che lascerebbe il riferimento pendente.
E0515Una funzione tenta di restituire un riferimento a un valore creato al suo interno.
E0432Il modulo o elemento referenziato in un'istruzione use non può essere trovato.
E0412Un nome di tipo viene utilizzato ma non è definito né importato nello scope corrente.
E0423Un nome di tipo viene utilizzato dove era atteso un valore.
E0424La keyword self viene utilizzata al di fuori del contesto di un metodo o di una funzione associata.
E0369Un operatore binario viene utilizzato con tipi che non lo supportano.
E0384A una variabile viene riassegnato un valore, ma non era stata dichiarata come mutabile.
E0061Una funzione è stata chiamata con un numero errato di argomenti.
E0063Una struct viene costruita senza tutti i campi obbligatori.
E0107Un tipo o una funzione generica viene utilizzata con un numero errato di parametri di tipo.
E0117Stai implementando un trait esterno per un tipo esterno, violando la orphan rule.
E0119Esistono due o più implementazioni dello stesso trait per lo stesso tipo.
E0133Una funzione o un'operazione unsafe viene utilizzata al di fuori di un blocco unsafe.
E0152Un language item (#[lang = ...]) è definito più di una volta.
E0200Un trait unsafe deve essere implementato con un blocco unsafe impl.
E0252Due importazioni portano lo stesso nome nello scope.
E0255Una definizione locale è in conflitto con un nome importato.
E0271Un tipo associato in un'implementazione di trait non corrisponde al tipo atteso.
E0282Rust non riesce a inferire il tipo di un valore e richiede un'annotazione esplicita.
E0283Potrebbero applicarsi più implementazioni di trait e Rust non riesce a determinare quale usare.
E0310Un parametro di tipo generico non soddisfa il bound di lifetime richiesto.
E0317Un'espressione if usata come valore è priva del ramo else.
E0373Una closure cattura un riferimento a una variabile che potrebbe non vivere abbastanza a lungo.
E0392Un parametro di tipo generico o lifetime è dichiarato ma non usato nella struct o nell'enum.
E0404Un tipo è stato usato dove era atteso un trait.
E0405Un nome di trait è usato ma non è definito o importato nello scope corrente.
E0428Un elemento con lo stesso nome è definito più di una volta nello stesso scope.
E0463Il crate specificato non può essere trovato dal compilatore.
E0520La specializzazione delle implementazioni di trait richiede una feature del compilatore nightly.
E0596Stai cercando di prendere in prestito mutabilmente un valore che non è dichiarato come mutabile.
E0600Un operatore unario è applicato a un tipo che non lo supporta.
E0601Il crate binario non ha un punto di ingresso della funzione main.
E0603Stai cercando di accedere a un elemento privato dall'esterno del suo modulo.
E0621Un parametro di funzione richiede un'annotazione di lifetime esplicita per soddisfare il borrow checker.
E0308Bracci diversi del match restituiscono tipi incompatibili.
E0716Un riferimento è tenuto a un valore temporaneo che viene immediatamente rilasciato.
E0728La keyword .await è usata in una funzione non dichiarata async.
panic-unwrapIl programma ha generato un panic perché unwrap() è stato chiamato su un valore None o Err.
panic-index-out-of-boundsIl programma ha generato un panic perché un indice era fuori dall'intervallo valido per una collezione.
panic-integer-overflowIl programma ha generato un panic perché un'operazione aritmetica ha causato overflow di interi in modalità debug.
panic-stack-overflowIl programma ha generato un panic a causa di un utilizzo eccessivo dello stack, tipicamente causato da una ricorsione profonda.
clippy::needless_returnLa keyword return è usata inutilmente alla fine di una funzione.
clippy::let_and_returnUna variabile viene dichiarata e immediatamente restituita nella riga successiva.
clippy::unused_importsUn elemento importato non viene utilizzato in nessun punto del file.
clippy::clone_on_copyIl metodo clone() viene chiamato su un tipo che implementa Copy.
clippy::unwrap_usedIl metodo unwrap() è utilizzato e potrebbe causare un panic a runtime.
dead_codeUna funzione, struct, variante di enum o costante è definita ma non viene mai utilizzata.
unused_variablesUna variabile è dichiarata ma non viene mai utilizzata nel codice.
unused_mutUna variabile è dichiarata come mutabile ma non viene mai effettivamente mutata.
E0046Non tutti i metodi obbligatori di un trait sono stati implementati.
E0053La firma del metodo nel blocco impl non corrisponde alla firma del metodo dichiarata nel trait.
E0277Un tipo che non implementa Send viene usato in un contesto che richiede la thread-safety.
E0277Un tipo a dimensione dinamica (DST) viene usato dove è richiesto un tipo Sized.
E0277Un tipo viene usato in un ciclo for o in un contesto iteratore ma non implementa Iterator.
E0308La closure restituisce un tipo diverso da quello atteso dal contesto.
E0562La sintassi impl Trait viene usata in una posizione in cui non è consentita.
E0308La funzione restituisce un Result con un tipo Ok o Err errato.
E0277Un tipo viene usato come chiamabile ma non implementa Fn, FnMut o FnOnce.
panic-divide-by-zeroIl programma ha generato un panic a causa di una divisione intera per zero.
panic-slice-index-out-of-rangeIl programma ha generato un panic perché un intervallo di slice è fuori dai limiti.
clippy::map_unwrap_orL'uso di .map().unwrap_or() può essere sostituito con .map_or().
clippy::single_matchUn'espressione match con un solo braccio significativo può essere semplificata in un if let.
clippy::redundant_closureUna closure che si limita a chiamare una funzione può essere sostituita dalla funzione stessa.