E0308E0308 — Felmatchade typer
Den förväntade typen matchar inte den faktiska typen som angavs.
Bläddra bland alla 80 Rust-kompilatorfel-felkoder med orsaker, lösningar och exempel.
E0308Den förväntade typen matchar inte den faktiska typen som angavs.
E0382Ett värde används efter att det har flyttats till en annan variabel eller funktion.
E0502Ett värde kan inte lånas muterbart medan ett omuterbart lån fortfarande är aktivt.
E0597En referens lever längre än den data den pekar på.
E0277En typ implementerar inte en obligatorisk trait.
E0599Metoden finns inte för den angivna typen, eller också är den obligatoriska traiten inte i räckvidd.
E0425En identifierare används men är inte definierad i det aktuella omfånget.
E0433Modulsökvägen som används i ett use-uttryck eller typsökväg kan inte lösas upp.
E0106En referens i en funktionssignatur eller struct saknar en livslängdsparameter.
E0015En icke-const-funktion anropas i ett konstant uttryckssammanhang.
E0658En funktion som ännu inte stabiliserats i Rust används utan funktionsgrinden.
E0609Structen eller unionen har inte ett fält med det angivna namnet.
E0614Avrefereringsoperatorn (*) används på en typ som inte implementerar Deref.
E0499Ett värde lånas muterbart mer än en gång samtidigt.
E0503Ett värde kan inte användas medan det är muterbart lånat av en annan variabel.
E0505Ett värde flyttas medan det fortfarande är lånat av en referens.
E0507Du försöker flytta ett värde ut ur en referens, vilket skulle lämna referensen dinglande.
E0515En funktion försöker returnera en referens till ett värde som skapas inuti funktionen.
E0432Modulen eller posten som refereras i ett use-uttryck kan inte hittas.
E0412Ett typnamn används men är varken definierat eller importerat i det aktuella omfånget.
E0423Ett typnamn används där ett värde förväntades.
E0424Nyckelordet self används utanför en metod eller associerad funktionskontext.
E0369En binär operator används med typer som inte stöder den.
E0384En variabel tilldelas om men deklarerades inte som muterbar.
E0061En funktion anropades med fel antal argument.
E0063En struct konstrueras utan alla obligatoriska fält.
E0107En generisk typ eller funktion används med fel antal typparametrar.
E0117Du implementerar ett externt trait för en extern typ, vilket bryter mot föräldralösen-regeln.
E0119Två eller fler implementationer av samma trait finns för samma typ.
E0133En osäker funktion eller operation används utanför ett unsafe-block.
E0152Ett language-objekt (#[lang = ...]) definieras mer än en gång.
E0200Ett osäkert trait måste implementeras med ett unsafe impl-block.
E0252Två importer för in samma namn i omfånget.
E0255En lokal definition konflikterar med ett importerat namn.
E0271En associerad typ i en trait-implementation matchar inte den förväntade typen.
E0282Rust kan inte inferera typen av ett värde och behöver en explicit annotering.
E0283Flera trait-implementationer kan tillämpas och Rust kan inte avgöra vilken som ska användas.
E0310En generisk typparameter uppfyller inte en obligatorisk livstidsbegränsning.
E0317Ett if-uttryck som används som värde saknar en else-gren.
E0373En closure fångar en referens till en variabel som kanske inte lever tillräckligt länge.
E0392En generisk typ- eller livstidsparameter är deklarerad men används inte i structen eller enum:en.
E0404En typ användes där ett trait förväntades.
E0405Ett trait-namn används men är inte definierat eller importerat i aktuellt scope.
E0428Ett objekt med samma namn definieras mer än en gång i samma scope.
E0463Den angivna crate:n kan inte hittas av kompilatorn.
E0520Specialisering av trait-implementationer kräver en nightly-kompilator och en feature-flagga.
E0596Du försöker låna ett värde muterbart men det är inte deklarerat som muterbart.
E0600En unär operator tillämpas på en typ som inte stöder den.
E0601Den binära crate:n saknar en main-funktion som startpunkt.
E0603Du försöker komma åt ett privat objekt utanför dess modul.
E0621En funktionsparameter behöver en explicit livstidsannotering för att borrow-checker:n ska bli nöjd.
E0308Olika match-armar returnerar inkompatibla typer.
E0716En referens hålls till ett temporärt värde som omedelbart droppas.
E0728Nyckelordet .await används i en funktion som inte är deklarerad async.
panic-unwrapProgrammet panikkade eftersom unwrap() anropades på ett None- eller Err-värde.
panic-index-out-of-boundsProgrammet panikkade eftersom ett index var utanför det giltiga intervallet för en samling.
panic-integer-overflowProgrammet panikkade eftersom en aritmetisk operation orsakade heltalsöverflöde i debug-läge.
panic-stack-overflowProgrammet panikkade på grund av för stor stackanvändning, typiskt från djup rekursion.
clippy::needless_returnNyckelordet return används i onödan i slutet av en funktion.
clippy::let_and_returnEn variabel deklareras och returneras omedelbart på nästa rad.
clippy::unused_importsEtt importerat element används inte någonstans i filen.
clippy::clone_on_copyMetoden clone() anropas på en typ som implementerar Copy.
clippy::unwrap_usedMetoden unwrap() används, vilket kan orsaka panik vid körning.
dead_codeEn funktion, struct, enum-variant eller konstant är definierad men aldrig använd.
unused_variablesEn variabel deklareras men används aldrig i koden.
unused_mutEn variabel deklareras som muterbar men muteras aldrig faktiskt.
E0046Alla obligatoriska metoder i en trait är inte implementerade.
E0053Metodsignaturen i ett impl-block matchar inte traitens metodsignatur.
E0277En typ som inte implementerar Send används i ett sammanhang som kräver trådsäkerhet.
E0277En dynamiskt storlekssatt typ (DST) används där en Sized-typ krävs.
E0277En typ används i en for-slinga eller iteratorkontext men implementerar inte Iterator.
E0308Closuren returnerar en annan typ än vad kontextet förväntar sig.
E0562Syntaxen impl Trait används på en plats där den inte är tillåten.
E0308Funktionen returnerar ett Result med fel Ok- eller Err-typ.
E0277En typ används som anropbar men implementerar inte Fn, FnMut eller FnOnce.
panic-divide-by-zeroProgrammet panikade på grund av en heltalsdivision med noll.
panic-slice-index-out-of-rangeProgrammet panikade eftersom ett slice-intervall är utanför gränserna.
clippy::map_unwrap_orAnvändning av .map().unwrap_or() kan ersättas med .map_or().
clippy::single_matchEtt match-uttryck med bara en meningsfull gren kan förenklas till ett if let.
clippy::redundant_closureEn closure som bara anropar en funktion kan ersättas med funktionen direkt.