Relative to Rustc
gccrs error code support 🦀
There are some errors which are not longer emitted by rustc-1.49.0.
Error code | Is Emitted by rustc-1.49.0 | Is Error generated by gccrs | Error support in gccrs | Description |
---|---|---|---|---|
E0001 | No | Yes | Issue | Unreachable Pattern in Match Statement |
E0002 | No | No | - | Empty Match Expression on Non-Empty Type |
E0004 | Yes | No | Issue | Non-Exhaustive Patterns: Matching Error |
E0005 | Yes | Yes | Issue | Patterns used to bind names must be irrefutable , that is, they must guarantee that a name will be extracted in all cases. |
E0007 | No | Yes | No | cannot bind by-move with sub-bindings |
E0010 | Yes | Yes | No | allocations are not allowed in constants |
E0015 | Yes | Yes | Yes | A non-const function was called in a const context. |
E0023 | Yes | Yes | Yes | Incorrect Number of Fields in Pattern Extraction |
E0026 | Yes | Yes | Yes | Non-Existent Field Extraction in Struct Pattern also need to refactor this |
E0027 | Yes | Yes | Yes | A pattern for a struct fails to specify a sub-pattern for every one of the struct’s fields. |
E0029 | Yes | Yes | No | Non-Comparable Range Error (Something other than numbers and characters has been used for a range) |
E0030 | Yes | No | - | Empty Range Pattern Error |
E0033 | Yes | Yes | No | A trait type has been dereferenced (Internal Compile error in gccrs) |
E0034 | Yes | Yes | Yes Issue Issue-Fix | Ambiguous Method Call Error - more than one method has the same prototype |
E0038 | Yes | Yes | No - Issue | Traits that are declared as Trait: Sized or which otherwise inherit a constraint of Self:Sized are not object-safe. |
E0040 | Yes | Yes | No | Explicit use of destructor method |
E0044 | Yes | No | Issue | Type or Const Parameters Not Allowed on Foreign Items |
E0045 | Yes | No | Yes - Issue | Variadic Parameters Used on Non-C ABI Function |
E0046 | Yes | Yes | Yes | Missing Items in Trait Implementation - Issue |
E0049 | Yes | Yes | No | An attempted implementation of a trait method has the wrong number of type or const parameters - Error Link |
E0050 | Yes | Yes | No | An attempted implementation of a trait method has the wrong number of function parameters - godbolt-link](https://godbolt.org/z/8Waa3KK19) - [ gccrs error - rustc fine` |
E0053 | Yes | Yes | Yes | The parameters of any trait method must match between a trait implementation and the trait definition - method ‘x’ has an incompatible type for trait ‘y’ |
E0054 | Yes | Yes | Yes | Invalid Cast of Integer to Bool |
E0055 | Yes | Yes | No - need review | Recursion Limit Exceeded |
E0057 | Yes | Yes | Issue | An invalid number of arguments was given when calling a closure - compiler-explorer |
E0059 | Yes | Yes | No | Incorrect Usage of Angle-Bracket Notation in Function Traits - (Failed to resolve type path error) |
E0060 | Yes | Yes | No | Variadic Function Requires Minimum Number of Arguments - (likewise same as failed to resolve type path in this scope) |
E0061 | Yes | Yes | Yes | Invalid number of arguments was passed when calling a function - unexpected number of arguments x expected y |
E0062 | Yes | Yes | Issue | A struct’s or struct-like enum variant’s field was specified more than once. |
E0063 | Yes | Yes | Yes - Missing-Location-info-ISSUE - no-fields-in-constructor | Missing Field in Struct or Struct-like Enum Variant - constructor is missing fields |
E0069 | Yes | Yes | No - Work on this later | Mismatch between function return type & the value being returned |
E0070 | Yes | Yes | Yes - Issue | An assignment operator was used on a non-place expression. |
E0071 | Yes | Yes | No - Work on this later | A structure-literal syntax was used to create an item that is not a structure or enum variant. |
E0072 | Yes | Yes | No - Work on this later | A recursive type has infinite size because it doesn’t have an indirection. |
E0073 | Yes | Yes | No - Work on this later | You cannot define a struct (or enum) Foo that requires an instance of Foo in order to make a new Foo value. |
E0074 | Yes | Yes | No - Work on this later -smid feature | When using the #[simd] attribute on a tuple struct, the components of the tuple struct must all be of a concrete, nongeneric type so the compiler can reason about how to use SIMD with them. |
E0075 | Yes | Yes | No - Work on this later - simd macro error | A #[simd] attribute was applied to an empty tuple struct. |
E0076 | Yes | Yes | No - Work on this later - simd macro error | All types in a tuple struct aren’t the same when using the #[simd] attribute. |
E0077 | Yes | Yes | No - Work on this later - simd macro error | A tuple struct’s element isn’t a machine type when using the #[simd] attribute. |
E0080 | Yes | Yes | No -Issue-link | A constant value failed to get evaluated. |
E0081 | Yes | Yes | No | A discriminant value is present more than once. |
E0093 | Yes | Yes | Yes | An unknown intrinsic function was declared. |
E0107 | Yes | Yes | Yes | An incorrect number of generic arguments was provided. |
E0116 | Yes | Yes | NO - Internal compile Error | An inherent implementation was defined for a type outside the current crate. |
E0124 | Yes | Yes | Yes | A struct was declared with two fields having the same name. |
E0133 | Yes | Yes | Yes | Unsafe code was used outside of an unsafe function or block. |
E0164 | Yes | Yes | No - Issue | Something which is neither a tuple struct nor a tuple variant was used as a pattern. |
E0184 | Yes | Yes | ICE - Issue | the trait Copy may not be implemented for this type; the type has a destructor |
E0229 | Yes | Yes | Yes | Associated Type Binding Outside of Type Parameter Declaration and Where Clause |
E0267 | Yes | Yes | Issue | A loop keyword (break or continue) was used inside a closure but outside of any loop. |
E0268 | Yes | Yes | Yes | A loop keyword (break or continue) was used outside of a loop. |
E0271 | Yes | Yes | Yes | A type mismatched an associated type of a trait. |
E0277 | Yes | Yes | Yes | Type Does Not Implement Expected Trait - the type [{integer}] cannot be indexed by u32 |
E0282 | Yes | Yes | Yes | The compiler could not infer a type and asked for a type annotation. |
E0303 | No | Yes | No - Added as subtask on #2509 | pattern bindings are not allowed after an @ |
E0308 | Yes | Yes | Yes array-case | Expected type did not match the received type. |
E0323 | Yes | Yes | Yes | An associated const was implemented when another trait item was expected. |
E0324 | Yes | Yes | Issue - No | A method was implemented when another trait item was expected. |
E0380 | Yes | Yes | Yes | An auto trait was declared with a method or an associated item. |
E0390 | Yes | No | Issue No (Raise issue- https://godbolt.org/z/Pr3ae4ovP) | A method or constant was implemented on a primitive type. |
E0391 | Yes | Yes | Yes | A type dependency cycle has been encountered. |
E0404 | Yes | Yes | ICE - Issue | A type that is not a trait was used in a trait position, such as a bound or impl. |
E0412 | Yes | Yes | Yes | A used type name is not in scope. |
E0423 | Yes | Yes | Yes - Issue | An identifier was used like a function name or a value was expected and the identifier exists but it belongs to a different namespace. |
E0425 | Yes | Yes | Yes | Use of unresolved name |
E0426 | Yes | Yes | Yes | An undeclared label was used. |
E0431 | Yes | Yes | Issue - No | An invalid self import was made. |
E0433 | Yes | Yes | Yes | Failed to resolve. Use of Undeclared Crate, Module, or Type |
E0532 | Yes | Yes | Yes | Arm Does Not Match Expected Kind - expected tuple struct or tuple variant, found struct variant |
E0534 | Yes | Yes | Yes | The inline attribute was malformed. |
E0535 | Yes | Yes | Yes | An unknown argument was given to the inline attribute. |
E0541 | Yes | Yes | Yes | An unknown meta item was used. |
E0554 | Yes | Yes | No | Feature attributes are only allowed on the nightly release channel. |
E0571 | Yes | Yes | Yes | A break statement with an argument appeared in a non-loop loop. |
E0572 | Yes | Yes | YES Issue (ICE) | A return statement was found outside of a function body. |
E0573 | Yes | Yes | Issue Yes | Something other than a type has been used when one was expected. |
E0592 | Yes | Yes | Yes | This error occurs when you defined methods or associated functions with same name. |
E0599 | Yes | Yes | Yes | This error occurs when a method is used on a type which doesn’t implement it: |
E0601 | Yes | Yes | ICE - Issue | No main function was found in a binary crate. |
E0604 | Yes | Yes | Yes | A cast to char was attempted on a type other than u8 |
E0605 | Yes | Yes | Need Rust standad library Yes | An invalid cast was attempted. |
E0606 | Yes | Yes | Yes | An incompatible cast was attempted. |
E0607 | Yes | Yes | No Need rust sl | A cast between a thin and a fat pointer was attempted. |
E0618 | Yes | Yes | No | Attempted to call something which isn’t a function nor a method. |
E0620 | Yes | Yes | Yes | A cast to an unsized type was attempted. |
E0623 | Yes | Yes | No - Need rust sl | A lifetime didn’t match what was expected. |
E0635 | Yes | Yes | Yes | The #![feature] attribute specified an unknown feature. |
E0641 | Yes | Yes | No - Need rust sl | Attempted to cast to/from a pointer with an unknown kind. |
E0658 | Yes | Yes | Yes mut-ref Top level patterns in le experssion | An unstable feature was used |
E0703 | Yes | Yes | Yes | Invalid ABI (Application Binary Interface) used in the code. |
E0720 | Yes | Yes | ICE - Issue | An impl Trait type expands to a recursive type. |
E0753 | Yes | Yes | Yes | An inner doc comment was used in an invalid context. |
E0769 | Yes | Yes | Yes | A tuple struct or tuple variant was used in a pattern as if it were a struct or struct variant. |
E0781 | Yes | Yes | No - Need rust sl | The C-cmse-nonsecure-call ABI can only be used with function pointers. |