Rust errors / Types and traits
Rust compiler error · checked with rustc 1.99.0
Rust error E0437: type `Bar` is not a member of trait `Foo`
What it meansAn associated type whose name does not match any of the associated types in the trait was used when implementing the trait.
What rustc prints
error[E0437]: type `Bar` is not a member of trait `Foo`
--> main.rs:4:5
|
4 | type Bar = bool;
| ^^^^^^^^^^^^^^^^ not a member of trait `Foo`Real 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
An associated type whose name does not match any of the associated types in the trait was used when implementing the trait.
Erroneous code example:
trait Foo {}
impl Foo for i32 {
type Bar = bool;
}
Trait implementations can only implement associated types that are members of the trait in question.
The solution to this problem is to remove the extraneous associated type:
trait Foo {}
impl Foo for i32 {}From rustc --explain E0437 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
Up next
Often hit nextE0308: mismatched typesA related error from the same family.Read it next →Did this answer your question?