{"message":"unrecognized representation hint","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":269,"byte_end":274,"line_start":15,"line_end":15,"column_start":8,"column_end":13,"is_primary":true,"text":[{"text":"#[repr(\"foo\")]","highlight_start":8,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: unrecognized representation hint\n --> tests/ui/enum.rs:15:8\n |\n15 | #[repr(\"foo\")]\n | ^^^^^\n\n"}
{"message":"unrecognized representation hint","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":331,"byte_end":334,"line_start":21,"line_end":21,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(foo)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: unrecognized representation hint\n --> tests/ui/enum.rs:21:8\n |\n21 | #[repr(foo)]\n | ^^^\n\n"}
{"message":"unsupported representation for deriving FromBytes, AsBytes, or Unaligned on an enum","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":391,"byte_end":402,"line_start":27,"line_end":27,"column_start":8,"column_end":19,"is_primary":true,"text":[{"text":"#[repr(transparent)]","highlight_start":8,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: unsupported representation for deriving FromBytes, AsBytes, or Unaligned on an enum\n --> tests/ui/enum.rs:27:8\n |\n27 | #[repr(transparent)]\n | ^^^^^^^^^^^\n\n"}
{"message":"conflicting representation hints","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":459,"byte_end":466,"line_start":33,"line_end":33,"column_start":8,"column_end":15,"is_primary":true,"text":[{"text":"#[repr(u8, u16)]","highlight_start":8,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: conflicting representation hints\n --> tests/ui/enum.rs:33:8\n |\n33 | #[repr(u8, u16)]\n | ^^^^^^^\n\n"}
{"message":"must have a non-align #[repr(...)] attribute in order to guarantee this type's memory layout","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":504,"byte_end":513,"line_start":38,"line_end":38,"column_start":10,"column_end":19,"is_primary":true,"text":[{"text":"#[derive(FromBytes)]","highlight_start":10,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"tests/ui/enum.rs","byte_start":504,"byte_end":513,"line_start":38,"line_end":38,"column_start":10,"column_end":19,"is_primary":false,"text":[{"text":"#[derive(FromBytes)]","highlight_start":10,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(FromBytes)]","def_site_span":{"file_name":"/Users/joshlf/.cargo/registry/src/github.com-1ecc6299db9ec823/synstructure-0.12.4/src/macros.rs","byte_start":2861,"byte_end":2961,"line_start":94,"line_end":96,"column_start":9,"column_end":41,"is_primary":false,"text":[{"text":" pub fn $derives(","highlight_start":9,"highlight_end":1},{"text":" i: $crate::macros::TokenStream","highlight_start":1,"highlight_end":1},{"text":" ) -> $crate::macros::TokenStream {","highlight_start":1,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"error: must have a non-align #[repr(...)] attribute in order to guarantee this type's memory layout\n --> tests/ui/enum.rs:38:10\n |\n38 | #[derive(FromBytes)]\n | ^^^^^^^^^\n |\n = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":597,"byte_end":598,"line_start":48,"line_end":48,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":"#[repr(C)]","highlight_start":8,"highlight_end":9}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"\n --> tests/ui/enum.rs:48:8\n |\n48 | #[repr(C)]\n | ^\n\n"}
{"message":"FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":657,"byte_end":662,"line_start":54,"line_end":54,"column_start":8,"column_end":13,"is_primary":true,"text":[{"text":"#[repr(usize)]","highlight_start":8,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"\n --> tests/ui/enum.rs:54:8\n |\n54 | #[repr(usize)]\n | ^^^^^\n\n"}
{"message":"FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":721,"byte_end":726,"line_start":60,"line_end":60,"column_start":8,"column_end":13,"is_primary":true,"text":[{"text":"#[repr(isize)]","highlight_start":8,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"\n --> tests/ui/enum.rs:60:8\n |\n60 | #[repr(isize)]\n | ^^^^^\n\n"}
{"message":"FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":785,"byte_end":788,"line_start":66,"line_end":66,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(u32)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"\n --> tests/ui/enum.rs:66:8\n |\n66 | #[repr(u32)]\n | ^^^\n\n"}
{"message":"FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":847,"byte_end":850,"line_start":72,"line_end":72,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(i32)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"\n --> tests/ui/enum.rs:72:8\n |\n72 | #[repr(i32)]\n | ^^^\n\n"}
{"message":"FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":909,"byte_end":912,"line_start":78,"line_end":78,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(u64)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"\n --> tests/ui/enum.rs:78:8\n |\n78 | #[repr(u64)]\n | ^^^\n\n"}
{"message":"FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":971,"byte_end":974,"line_start":84,"line_end":84,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(i64)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: FromBytes requires repr of \"u8\", \"u16\", \"i8\", or \"i16\"\n --> tests/ui/enum.rs:84:8\n |\n84 | #[repr(i64)]\n | ^^^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1060,"byte_end":1061,"line_start":94,"line_end":94,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":"#[repr(C)]","highlight_start":8,"highlight_end":9}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:94:8\n |\n94 | #[repr(C)]\n | ^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1120,"byte_end":1123,"line_start":100,"line_end":100,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(u16)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:100:8\n |\n100 | #[repr(u16)]\n | ^^^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1182,"byte_end":1185,"line_start":106,"line_end":106,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(i16)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:106:8\n |\n106 | #[repr(i16)]\n | ^^^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1244,"byte_end":1247,"line_start":112,"line_end":112,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(u32)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:112:8\n |\n112 | #[repr(u32)]\n | ^^^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1306,"byte_end":1309,"line_start":118,"line_end":118,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(i32)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:118:8\n |\n118 | #[repr(i32)]\n | ^^^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1368,"byte_end":1371,"line_start":124,"line_end":124,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(u64)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:124:8\n |\n124 | #[repr(u64)]\n | ^^^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1430,"byte_end":1433,"line_start":130,"line_end":130,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(i64)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:130:8\n |\n130 | #[repr(i64)]\n | ^^^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1492,"byte_end":1497,"line_start":136,"line_end":136,"column_start":8,"column_end":13,"is_primary":true,"text":[{"text":"#[repr(usize)]","highlight_start":8,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:136:8\n |\n136 | #[repr(usize)]\n | ^^^^^\n\n"}
{"message":"Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1556,"byte_end":1561,"line_start":142,"line_end":142,"column_start":8,"column_end":13,"is_primary":true,"text":[{"text":"#[repr(isize)]","highlight_start":8,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: Unaligned requires repr of \"u8\" or \"i8\", and no alignment (i.e., repr(align(N > 1)))\n --> tests/ui/enum.rs:142:8\n |\n142 | #[repr(isize)]\n | ^^^^^\n\n"}
{"message":"cannot derive Unaligned with repr(align(N > 1))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1624,"byte_end":1632,"line_start":148,"line_end":148,"column_start":12,"column_end":20,"is_primary":true,"text":[{"text":"#[repr(u8, align(2))]","highlight_start":12,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: cannot derive Unaligned with repr(align(N > 1))\n --> tests/ui/enum.rs:148:12\n |\n148 | #[repr(u8, align(2))]\n | ^^^^^^^^\n\n"}
{"message":"cannot derive Unaligned with repr(align(N > 1))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1696,"byte_end":1704,"line_start":154,"line_end":154,"column_start":12,"column_end":20,"is_primary":true,"text":[{"text":"#[repr(i8, align(2))]","highlight_start":12,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: cannot derive Unaligned with repr(align(N > 1))\n --> tests/ui/enum.rs:154:12\n |\n154 | #[repr(i8, align(2))]\n | ^^^^^^^^\n\n"}
{"message":"cannot derive Unaligned with repr(align(N > 1))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1774,"byte_end":1782,"line_start":160,"line_end":160,"column_start":18,"column_end":26,"is_primary":true,"text":[{"text":"#[repr(align(1), align(2))]","highlight_start":18,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: cannot derive Unaligned with repr(align(N > 1))\n --> tests/ui/enum.rs:160:18\n |\n160 | #[repr(align(1), align(2))]\n | ^^^^^^^^\n\n"}
{"message":"cannot derive Unaligned with repr(align(N > 1))","code":null,"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":1842,"byte_end":1850,"line_start":166,"line_end":166,"column_start":8,"column_end":16,"is_primary":true,"text":[{"text":"#[repr(align(2), align(4))]","highlight_start":8,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: cannot derive Unaligned with repr(align(N > 1))\n --> tests/ui/enum.rs:166:8\n |\n166 | #[repr(align(2), align(4))]\n | ^^^^^^^^\n\n"}
{"message":"meta item in `repr` must be an identifier","code":{"code":"E0565","explanation":"A literal was used in a built-in attribute that doesn't support literals.\n\nErroneous code example:\n\n```compile_fail,E0565\n#[repr(\"C\")] // error: meta item in `repr` must be an identifier\nstruct Repr {}\n\nfn main() {}\n```\n\nLiterals in attributes are new and largely unsupported in built-in attributes.\nWork to support literals where appropriate is ongoing. Try using an unquoted\nname instead:\n\n```\n#[repr(C)] // ok!\nstruct Repr {}\n\nfn main() {}\n```\n"},"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":269,"byte_end":274,"line_start":15,"line_end":15,"column_start":8,"column_end":13,"is_primary":true,"text":[{"text":"#[repr(\"foo\")]","highlight_start":8,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0565]: meta item in `repr` must be an identifier\n --> tests/ui/enum.rs:15:8\n |\n15 | #[repr(\"foo\")]\n | ^^^^^\n\n"}
{"message":"unrecognized representation hint","code":{"code":"E0552","explanation":"A unrecognized representation attribute was used.\n\nErroneous code example:\n\n```compile_fail,E0552\n#[repr(D)] // error: unrecognized representation hint\nstruct MyStruct {\n my_field: usize\n}\n```\n\nYou can use a `repr` attribute to tell the compiler how you want a struct or\nenum to be laid out in memory.\n\nMake sure you're using one of the supported options:\n\n```\n#[repr(C)] // ok!\nstruct MyStruct {\n my_field: usize\n}\n```\n\nFor more information about specifying representations, see the [\"Alternative\nRepresentations\" section] of the Rustonomicon.\n\n[\"Alternative Representations\" section]: https://doc.rust-lang.org/nomicon/other-reprs.html\n"},"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":331,"byte_end":334,"line_start":21,"line_end":21,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":"#[repr(foo)]","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0552]: unrecognized representation hint\n --> tests/ui/enum.rs:21:8\n |\n21 | #[repr(foo)]\n | ^^^\n\n"}
{"message":"conflicting representation hints","code":{"code":"E0566","explanation":"Conflicting representation hints have been used on a same item.\n\nErroneous code example:\n\n```compile_fail,E0566\n#[repr(u32, u64)]\nenum Repr { A }\n```\n\nIn most cases (if not all), using just one representation hint is more than\nenough. If you want to have a representation hint depending on the current\narchitecture, use `cfg_attr`. Example:\n\n```\n#[cfg_attr(linux, repr(u32))]\n#[cfg_attr(not(linux), repr(u64))]\nenum Repr { A }\n```\n"},"level":"error","spans":[{"file_name":"tests/ui/enum.rs","byte_start":459,"byte_end":461,"line_start":33,"line_end":33,"column_start":8,"column_end":10,"is_primary":true,"text":[{"text":"#[repr(u8, u16)]","highlight_start":8,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/ui/enum.rs","byte_start":463,"byte_end":466,"line_start":33,"line_end":33,"column_start":12,"column_end":15,"is_primary":true,"text":[{"text":"#[repr(u8, u16)]","highlight_start":12,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[deny(conflicting_repr_hints)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!","code":null,"level":"warning","spans":[],"children":[],"rendered":null},{"message":"for more information, see issue #68585 <https://github.com/rust-lang/rust/issues/68585>","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0566]: conflicting representation hints\n --> tests/ui/enum.rs:33:8\n |\n33 | #[repr(u8, u16)]\n | ^^ ^^^\n |\n = note: `#[deny(conflicting_repr_hints)]` on by default\n = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!\n = note: for more information, see issue #68585 <https://github.com/rust-lang/rust/issues/68585>\n\n"}
{"message":"aborting due to 28 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 28 previous errors\n\n"}
{"message":"Some errors have detailed explanations: E0552, E0565, E0566.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"Some errors have detailed explanations: E0552, E0565, E0566.\n"}
{"message":"For more information about an error, try `rustc --explain E0552`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0552`.\n"}