Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0211: #### Note: this error code is no longer emitted by the compiler
What it means#### Note: this error code is no longer emitted by the compiler.
Retired: rustc no longer emits this error code. You may still see it in old answers, books and CI logs from older toolchains; the explanation below is kept for reference.
The compiler team's explanation
Note: this error code is no longer emitted by the compiler.
You used a function or type which doesn't fit the requirements for where it was used. Erroneous code examples:
#![feature(intrinsics)]
#![allow(internal_features)]
#[rustc_intrinsic]
unsafe fn unreachable(); // error: intrinsic has wrong type
// or:
fn main() -> i32 { 0 }
// error: main function expects type: `fn() {main}`: expected (), found i32
// or:
let x = 1u8;
match x {
0u8..=3i8 => (),
// error: mismatched types in range: expected u8, found i8
_ => ()
}
// or:
use std::rc::Rc;
struct Foo;
impl Foo {
fn x(self: Rc<Foo>) {}
// error: mismatched self type: expected `Foo`: expected struct
// `Foo`, found struct `alloc::rc::Rc`
}
For the first code example, please check the function definition. Example:
#![feature(intrinsics)]
#![allow(internal_features)]
#[rustc_intrinsic]
unsafe fn unreachable() -> !; // ok!
The second case example is a bit particular: the main function must always have this definition:
fn main();
They never take parameters and never return types.
For the third example, when you match, all patterns must have the same type as the type you're matching on. Example:
let x = 1u8;
match x {
0u8..=3u8 => (), // ok!
_ => ()
}
And finally, for the last example, only Box<Self>, &Self, Self, or &mut Self work as explicit self parameters. Example:
struct Foo;
impl Foo {
fn x(self: Box<Foo>) {} // ok!
}From rustc --explain E0211 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0061this function takes N arguments but M were supplied
- E0412cannot find type in this scope
- E0515cannot return reference to local variable
- E0728await is only allowed inside async functions and blocks
- E0133call to unsafe function `f` is unsafe and requires unsafe function or block
- E0152found duplicate lang item `owned_box`
- E0264unknown external lang item: `copy`
- E0267`break` inside of a closure
Up next
Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →Did this answer your question?