Rust errors / Types and traits
Rust compiler error · checked with rustc 1.99.0
Rust error E0324: item `N` is an associated method, which doesn't match its trait `Foo`
What it meansA method was implemented when another trait item was expected.
What rustc prints
error[E0324]: item `N` is an associated method, which doesn't match its trait `Foo`
--> main.rs:10:5
|
4 | const N : u32;
| -------------- item in trait
...
10 | fn N() {}
| ^^^^^^^^^ does not match traitReal output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
A method was implemented when another trait item was expected.
Erroneous code example:
struct Bar;
trait Foo {
const N : u32;
fn M();
}
impl Foo for Bar {
fn N() {}
// error: item `N` is an associated method, which doesn't match its
// trait `<Bar as Foo>`
}
To fix this error, please verify that the method name wasn't misspelled and verify that you are indeed implementing the correct trait items. Example:
struct Bar;
trait Foo {
const N : u32;
fn M();
}
impl Foo for Bar {
const N : u32 = 0;
fn M() {} // ok!
}From rustc --explain E0324 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0308mismatched types
- E0277the trait bound is not satisfied
- E0599no method named X found in the current scope
- E0433failed to resolve
- E0322explicit impls for the `Sized` trait are not permitted
- E0323item `N` is an associated const, which doesn't match its trait `Foo`
- E0325item `N` is an associated type, which doesn't match its trait `Foo`
- E0326implemented const `BAR` has an incompatible type for trait
Up next
Often hit nextE0308: mismatched typesA related error from the same family.Read it next →Did this answer your question?