{"message":"unsupported on types with type parameters","code":null,"level":"error","spans":[{"file_name":"tests/ui/struct.rs","byte_start":250,"byte_end":257,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":"#[derive(AsBytes)]","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"tests/ui/struct.rs","byte_start":250,"byte_end":257,"line_start":14,"line_end":14,"column_start":10,"column_end":17,"is_primary":false,"text":[{"text":"#[derive(AsBytes)]","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[derive(AsBytes)]","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: unsupported on types with type parameters\n --> tests/ui/struct.rs:14:10\n |\n14 | #[derive(AsBytes)]\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":"cannot derive Unaligned with repr(align(N > 1))","code":null,"level":"error","spans":[{"file_name":"tests/ui/struct.rs","byte_start":353,"byte_end":361,"line_start":23,"line_end":23,"column_start":11,"column_end":19,"is_primary":true,"text":[{"text":"#[repr(C, align(2))]","highlight_start":11,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: cannot derive Unaligned with repr(align(N > 1))\n --> tests/ui/struct.rs:23:11\n |\n23 | #[repr(C, align(2))]\n | ^^^^^^^^\n\n"}
{"message":"cannot derive Unaligned with repr(align(N > 1))","code":null,"level":"error","spans":[{"file_name":"tests/ui/struct.rs","byte_start":425,"byte_end":433,"line_start":27,"line_end":27,"column_start":21,"column_end":29,"is_primary":true,"text":[{"text":"#[repr(transparent, align(2))]","highlight_start":21,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: cannot derive Unaligned with repr(align(N > 1))\n --> tests/ui/struct.rs:27:21\n |\n27 | #[repr(transparent, align(2))]\n | ^^^^^^^^\n\n"}
{"message":"cannot derive Unaligned with repr(align(N > 1))","code":null,"level":"error","spans":[{"file_name":"tests/ui/struct.rs","byte_start":508,"byte_end":516,"line_start":33,"line_end":33,"column_start":16,"column_end":24,"is_primary":true,"text":[{"text":"#[repr(packed, align(2))]","highlight_start":16,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: cannot derive Unaligned with repr(align(N > 1))\n --> tests/ui/struct.rs:33:16\n |\n33 | #[repr(packed, align(2))]\n | ^^^^^^^^\n\n"}
{"message":"cannot derive Unaligned with repr(align(N > 1))","code":null,"level":"error","spans":[{"file_name":"tests/ui/struct.rs","byte_start":577,"byte_end":585,"line_start":37,"line_end":37,"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/struct.rs:37:18\n |\n37 | #[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/struct.rs","byte_start":636,"byte_end":644,"line_start":41,"line_end":41,"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/struct.rs:41:8\n |\n41 | #[repr(align(2), align(4))]\n | ^^^^^^^^\n\n"}
{"message":"transparent struct cannot have other repr hints","code":{"code":"E0692","explanation":"A `repr(transparent)` type was also annotated with other, incompatible\nrepresentation hints.\n\nErroneous code example:\n\n```compile_fail,E0692\n#[repr(transparent, C)] // error: incompatible representation hints\nstruct Grams(f32);\n```\n\nA type annotated as `repr(transparent)` delegates all representation concerns to\nanother type, so adding more representation hints is contradictory. Remove\neither the `transparent` hint or the other hints, like this:\n\n```\n#[repr(transparent)]\nstruct Grams(f32);\n```\n\nAlternatively, move the other attributes to the contained type:\n\n```\n#[repr(C)]\nstruct Foo {\n x: i32,\n // ...\n}\n\n#[repr(transparent)]\nstruct FooWrapper(Foo);\n```\n\nNote that introducing another `struct` just to have a place for the other\nattributes may have unintended side effects on the representation:\n\n```\n#[repr(transparent)]\nstruct Grams(f32);\n\n#[repr(C)]\nstruct Float(f32);\n\n#[repr(transparent)]\nstruct Grams2(Float); // this is not equivalent to `Grams` above\n```\n\nHere, `Grams2` is a not equivalent to `Grams` -- the former transparently wraps\na (non-transparent) struct containing a single float, while `Grams` is a\ntransparent wrapper around a float. This can make a difference for the ABI.\n"},"level":"error","spans":[{"file_name":"tests/ui/struct.rs","byte_start":412,"byte_end":423,"line_start":27,"line_end":27,"column_start":8,"column_end":19,"is_primary":true,"text":[{"text":"#[repr(transparent, align(2))]","highlight_start":8,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"tests/ui/struct.rs","byte_start":425,"byte_end":433,"line_start":27,"line_end":27,"column_start":21,"column_end":29,"is_primary":true,"text":[{"text":"#[repr(transparent, align(2))]","highlight_start":21,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0692]: transparent struct cannot have other repr hints\n --> tests/ui/struct.rs:27:8\n |\n27 | #[repr(transparent, align(2))]\n | ^^^^^^^^^^^ ^^^^^^^^\n\n"}
{"message":"type has conflicting packed and align representation hints","code":{"code":"E0587","explanation":"A type has both `packed` and `align` representation hints.\n\nErroneous code example:\n\n```compile_fail,E0587\n#[repr(packed, align(8))] // error!\nstruct Umbrella(i32);\n```\n\nYou cannot use `packed` and `align` hints on a same type. If you want to pack a\ntype to a given size, you should provide a size to packed:\n\n```\n#[repr(packed)] // ok!\nstruct Umbrella(i32);\n```\n"},"level":"error","spans":[{"file_name":"tests/ui/struct.rs","byte_start":519,"byte_end":537,"line_start":34,"line_end":34,"column_start":1,"column_end":19,"is_primary":true,"text":[{"text":"struct Unaligned3;","highlight_start":1,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0587]: type has conflicting packed and align representation hints\n --> tests/ui/struct.rs:34:1\n |\n34 | struct Unaligned3;\n | ^^^^^^^^^^^^^^^^^^\n\n"}
{"message":"aborting due to 8 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 8 previous errors\n\n"}
{"message":"Some errors have detailed explanations: E0587, E0692.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"Some errors have detailed explanations: E0587, E0692.\n"}
{"message":"For more information about an error, try `rustc --explain E0587`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0587`.\n"}