Rust errors / Types and traits
Rust compiler error · checked with rustc 1.99.0
Rust error E0071: expected struct, variant or union type, found `u32`
What it meansA structure-literal syntax was used to create an item that is not a structure or enum variant.
What rustc prints
error[E0071]: expected struct, variant or union type, found `u32`
--> main.rs:4:9
|
4 | let t = U32 { value: 4 }; // error: expected struct, variant or union type,
| ^^^ not a structReal 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 structure-literal syntax was used to create an item that is not a structure or enum variant.
Example of erroneous code:
type U32 = u32;
let t = U32 { value: 4 }; // error: expected struct, variant or union type,
// found builtin type `u32`
To fix this, ensure that the name was correctly spelled, and that the correct form of initializer was used.
For example, the code above can be fixed to:
type U32 = u32;
let t: U32 = 4;
or:
struct U32 { value: u32 }
let t = U32 { value: 4 };From rustc --explain E0071 (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
- E0059type parameter to bare `FnOnce` trait must be a tuple
- E0069`return;` in a function whose return type is not `()`
- E0072recursive type has infinite size
- E0076SIMD vector's only field must be an array
Up next
Often hit nextE0308: mismatched typesA related error from the same family.Read it next →Did this answer your question?