Rust errors / Attributes, macros and features
Rust compiler error · checked with rustc 1.99.0
Rust error E0565: malformed `repr` attribute input
What it meansA literal was used in a built-in attribute that doesn't support literals.
What rustc prints
error[E0565]: malformed `repr` attribute input --> main.rs:1:3 | 1 | #[repr("C")] // error: meta item in `repr` must be an identifier | ^^^^^---^ | | | expected a valid identifier here | = note: for more information, visit <https://doc.rust-lang.org/reference/type-layout.html#representations>
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
A literal was used in a built-in attribute that doesn't support literals.
Erroneous code example:
#[repr("C")] // error: meta item in `repr` must be an identifier
struct Repr {}
fn main() {}
Not all attributes support literals in their input, and in some cases they expect an identifier instead. That would be the solution in the case of repr:
#[repr(C)] // ok!
struct Repr {}
fn main() {}From rustc --explain E0565 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
Up next
Often hit nextE0658: is unstableA related error from the same family.Read it next →Did this answer your question?