| error: unions cannot have zero fields | |
| --> $DIR/debug.rs:84:1 | |
| | | |
| LL | union EmptyUnion {} | |
| | ^^^^^^^^^^^^^^^^^^^ | |
| error: the `rustc_dump_layout` attribute cannot be used on constants | |
| --> $DIR/debug.rs:71:3 | |
| | | |
| LL | #[rustc_dump_layout(debug)] | |
| | ^^^^^^^^^^^^^^^^^ | |
| | | |
| = help: the `rustc_dump_layout` attribute can be applied to data types and type aliases | |
| error: the `rustc_dump_layout` attribute cannot be used on associated consts | |
| --> $DIR/debug.rs:75:7 | |
| | | |
| LL | #[rustc_dump_layout(debug)] | |
| | ^^^^^^^^^^^^^^^^^ | |
| | | |
| = help: the `rustc_dump_layout` attribute can be applied to data types and type aliases | |
| error: layout_of(E) = Layout { | |
| size: Size(12 bytes), | |
| align: AbiAlign { | |
| abi: Align(4 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Arbitrary { | |
| offsets: [ | |
| Size(0 bytes), | |
| ], | |
| in_memory_order: [ | |
| 0, | |
| ], | |
| }, | |
| largest_niche: Some( | |
| Niche { | |
| offset: Size(0 bytes), | |
| value: u32, | |
| valid_range: 0..=0, | |
| }, | |
| ), | |
| uninhabited: false, | |
| variants: Multiple { | |
| tag: u32 is 0..=0, | |
| tag_encoding: Direct, | |
| tag_field: 0, | |
| variants: [ | |
| VariantLayout { | |
| size: Size(4 bytes), | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| field_offsets: [], | |
| fields_in_memory_order: [], | |
| largest_niche: None, | |
| uninhabited: false, | |
| }, | |
| VariantLayout { | |
| size: Size(12 bytes), | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| field_offsets: [ | |
| Size(4 bytes), | |
| Size(4 bytes), | |
| Size(8 bytes), | |
| ], | |
| fields_in_memory_order: [ | |
| 0, | |
| 1, | |
| 2, | |
| ], | |
| largest_niche: None, | |
| uninhabited: true, | |
| }, | |
| ], | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(4 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:8:1 | |
| | | |
| LL | enum E { Foo, Bar(!, i32, i32) } | |
| | ^^^^^^ | |
| error: layout_of(S) = Layout { | |
| size: Size(8 bytes), | |
| align: AbiAlign { | |
| abi: Align(4 bytes), | |
| }, | |
| backend_repr: ScalarPair { | |
| a: i32 is .., | |
| b: i32 is .., | |
| b_offset: Size(4 bytes), | |
| }, | |
| fields: Arbitrary { | |
| offsets: [ | |
| Size(0 bytes), | |
| Size(8 bytes), | |
| Size(4 bytes), | |
| ], | |
| in_memory_order: [ | |
| 0, | |
| 2, | |
| 1, | |
| ], | |
| }, | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(4 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:11:1 | |
| | | |
| LL | struct S { f1: i32, f2: (), f3: i32 } | |
| | ^^^^^^^^ | |
| error: layout_of(U) = Layout { | |
| size: Size(8 bytes), | |
| align: AbiAlign { | |
| abi: Align(4 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Union( | |
| 2, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(4 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:14:1 | |
| | | |
| LL | union U { f1: (i32, i32), f3: i32 } | |
| | ^^^^^^^ | |
| error: layout_of(Result<i32, i32>) = Layout { | |
| size: Size(8 bytes), | |
| align: AbiAlign { | |
| abi: Align(4 bytes), | |
| }, | |
| backend_repr: ScalarPair { | |
| a: u32 is 0..=1, | |
| b: i32 is .., | |
| b_offset: Size(4 bytes), | |
| }, | |
| fields: Arbitrary { | |
| offsets: [ | |
| Size(0 bytes), | |
| ], | |
| in_memory_order: [ | |
| 0, | |
| ], | |
| }, | |
| largest_niche: Some( | |
| Niche { | |
| offset: Size(0 bytes), | |
| value: u32, | |
| valid_range: 0..=1, | |
| }, | |
| ), | |
| uninhabited: false, | |
| variants: Multiple { | |
| tag: u32 is 0..=1, | |
| tag_encoding: Direct, | |
| tag_field: 0, | |
| variants: [ | |
| VariantLayout { | |
| size: Size(8 bytes), | |
| backend_repr: ScalarPair { | |
| a: u32 is 0..=1, | |
| b: i32 is .., | |
| b_offset: Size(4 bytes), | |
| }, | |
| field_offsets: [ | |
| Size(4 bytes), | |
| ], | |
| fields_in_memory_order: [ | |
| 0, | |
| ], | |
| largest_niche: None, | |
| uninhabited: false, | |
| }, | |
| VariantLayout { | |
| size: Size(8 bytes), | |
| backend_repr: ScalarPair { | |
| a: u32 is 0..=1, | |
| b: i32 is .., | |
| b_offset: Size(4 bytes), | |
| }, | |
| field_offsets: [ | |
| Size(4 bytes), | |
| ], | |
| fields_in_memory_order: [ | |
| 0, | |
| ], | |
| largest_niche: None, | |
| uninhabited: false, | |
| }, | |
| ], | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(4 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:17:1 | |
| | | |
| LL | type Test = Result<i32, i32>; | |
| | ^^^^^^^^^ | |
| error: layout_of(i32) = Layout { | |
| size: Size(4 bytes), | |
| align: AbiAlign { | |
| abi: Align(4 bytes), | |
| }, | |
| backend_repr: Scalar( | |
| i32 is .., | |
| ), | |
| fields: Primitive, | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(4 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:20:1 | |
| | | |
| LL | type T = impl std::fmt::Debug; | |
| | ^^^^^^ | |
| error: layout_of(V) = Layout { | |
| size: Size(2 bytes), | |
| align: AbiAlign { | |
| abi: Align(2 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Union( | |
| 2, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(2 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:27:1 | |
| | | |
| LL | pub union V { | |
| | ^^^^^^^^^^^ | |
| error: layout_of(W) = Layout { | |
| size: Size(2 bytes), | |
| align: AbiAlign { | |
| abi: Align(2 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Union( | |
| 2, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(2 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:33:1 | |
| | | |
| LL | pub union W { | |
| | ^^^^^^^^^^^ | |
| error: layout_of(Y) = Layout { | |
| size: Size(0 bytes), | |
| align: AbiAlign { | |
| abi: Align(2 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Union( | |
| 2, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(2 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:39:1 | |
| | | |
| LL | pub union Y { | |
| | ^^^^^^^^^^^ | |
| error: layout_of(P1) = Layout { | |
| size: Size(4 bytes), | |
| align: AbiAlign { | |
| abi: Align(1 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Union( | |
| 1, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(1 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:46:1 | |
| | | |
| LL | union P1 { x: u32 } | |
| | ^^^^^^^^ | |
| error: layout_of(P2) = Layout { | |
| size: Size(8 bytes), | |
| align: AbiAlign { | |
| abi: Align(1 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Union( | |
| 1, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(1 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:50:1 | |
| | | |
| LL | union P2 { x: (u32, u32) } | |
| | ^^^^^^^^ | |
| error: layout_of(P3) = Layout { | |
| size: Size(16 bytes), | |
| align: AbiAlign { | |
| abi: Align(1 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Union( | |
| 1, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(1 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:58:1 | |
| | | |
| LL | union P3 { x: F32x4 } | |
| | ^^^^^^^^ | |
| error: layout_of(P4) = Layout { | |
| size: Size(12 bytes), | |
| align: AbiAlign { | |
| abi: Align(1 bytes), | |
| }, | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| fields: Union( | |
| 1, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(1 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:62:1 | |
| | | |
| LL | union P4 { x: E } | |
| | ^^^^^^^^ | |
| error: layout_of(P5) = Layout { | |
| size: Size(1 bytes), | |
| align: AbiAlign { | |
| abi: Align(1 bytes), | |
| }, | |
| backend_repr: Scalar( | |
| union u8, | |
| ), | |
| fields: Union( | |
| 2, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(1 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:66:1 | |
| | | |
| LL | union P5 { zst: [u16; 0], byte: u8 } | |
| | ^^^^^^^^ | |
| error: layout_of(MaybeUninit<u8>) = Layout { | |
| size: Size(1 bytes), | |
| align: AbiAlign { | |
| abi: Align(1 bytes), | |
| }, | |
| backend_repr: Scalar( | |
| union u8, | |
| ), | |
| fields: Union( | |
| 2, | |
| ), | |
| largest_niche: None, | |
| uninhabited: false, | |
| variants: Single { | |
| index: 0, | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(1 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:69:1 | |
| | | |
| LL | type X = std::mem::MaybeUninit<u8>; | |
| | ^^^^^^ | |
| error[E0277]: the size for values of type `str` cannot be known at compilation time | |
| --> $DIR/debug.rs:80:19 | |
| | | |
| LL | type Impossible = (str, str); | |
| | ^^^^^^^^^^ doesn't have a size known at compile-time | |
| | | |
| = help: the trait `Sized` is not implemented for `str` | |
| = note: only the last element of a tuple may have a dynamically sized type | |
| error: the type has an unknown layout | |
| --> $DIR/debug.rs:84:1 | |
| | | |
| LL | union EmptyUnion {} | |
| | ^^^^^^^^^^^^^^^^ | |
| error: the type `T` does not have a fixed layout | |
| --> $DIR/debug.rs:90:1 | |
| | | |
| LL | type TooGeneric<T> = T; | |
| | ^^^^^^^^^^^^^^^^^^ | |
| error: layout_of(Option<bool>) = Layout { | |
| size: Size(1 bytes), | |
| align: AbiAlign { | |
| abi: Align(1 bytes), | |
| }, | |
| backend_repr: Scalar( | |
| u8 is 0..=2, | |
| ), | |
| fields: Arbitrary { | |
| offsets: [ | |
| Size(0 bytes), | |
| ], | |
| in_memory_order: [ | |
| 0, | |
| ], | |
| }, | |
| largest_niche: Some( | |
| Niche { | |
| offset: Size(0 bytes), | |
| value: u8, | |
| valid_range: 0..=2, | |
| }, | |
| ), | |
| uninhabited: false, | |
| variants: Multiple { | |
| tag: u8 is 0..=2, | |
| tag_encoding: Niche { | |
| untagged_variant: 1, | |
| niche_variants: 0..=0, | |
| niche_start: 2, | |
| }, | |
| tag_field: 0, | |
| variants: [ | |
| VariantLayout { | |
| size: Size(0 bytes), | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| field_offsets: [], | |
| fields_in_memory_order: [], | |
| largest_niche: None, | |
| uninhabited: false, | |
| }, | |
| VariantLayout { | |
| size: Size(1 bytes), | |
| backend_repr: Scalar( | |
| u8 is 0..=1, | |
| ), | |
| field_offsets: [ | |
| Size(0 bytes), | |
| ], | |
| fields_in_memory_order: [ | |
| 0, | |
| ], | |
| largest_niche: Some( | |
| Niche { | |
| offset: Size(0 bytes), | |
| value: u8, | |
| valid_range: 0..=1, | |
| }, | |
| ), | |
| uninhabited: false, | |
| }, | |
| ], | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(1 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:93:1 | |
| | | |
| LL | type OptBool = Option<bool>; | |
| | ^^^^^^^^^^^^ | |
| error: layout_of(Option<char>) = Layout { | |
| size: Size(4 bytes), | |
| align: AbiAlign { | |
| abi: Align(4 bytes), | |
| }, | |
| backend_repr: Scalar( | |
| u32 is (..=1114111) | (4294967295..), | |
| ), | |
| fields: Arbitrary { | |
| offsets: [ | |
| Size(0 bytes), | |
| ], | |
| in_memory_order: [ | |
| 0, | |
| ], | |
| }, | |
| largest_niche: Some( | |
| Niche { | |
| offset: Size(0 bytes), | |
| value: u32, | |
| valid_range: (..=1114111) | (4294967295..), | |
| }, | |
| ), | |
| uninhabited: false, | |
| variants: Multiple { | |
| tag: u32 is (..=1114111) | (4294967295..), | |
| tag_encoding: Niche { | |
| untagged_variant: 1, | |
| niche_variants: 0..=0, | |
| niche_start: 4294967295, | |
| }, | |
| tag_field: 0, | |
| variants: [ | |
| VariantLayout { | |
| size: Size(0 bytes), | |
| backend_repr: Memory { | |
| sized: true, | |
| }, | |
| field_offsets: [], | |
| fields_in_memory_order: [], | |
| largest_niche: None, | |
| uninhabited: false, | |
| }, | |
| VariantLayout { | |
| size: Size(4 bytes), | |
| backend_repr: Scalar( | |
| u32 is 0..=1114111, | |
| ), | |
| field_offsets: [ | |
| Size(0 bytes), | |
| ], | |
| fields_in_memory_order: [ | |
| 0, | |
| ], | |
| largest_niche: Some( | |
| Niche { | |
| offset: Size(0 bytes), | |
| value: u32, | |
| valid_range: 0..=1114111, | |
| }, | |
| ), | |
| uninhabited: false, | |
| }, | |
| ], | |
| }, | |
| max_repr_align: None, | |
| unadjusted_abi_align: Align(4 bytes), | |
| randomization_seed: $SEED, | |
| } | |
| --> $DIR/debug.rs:96:1 | |
| | | |
| LL | type OptChar = Option<char>; | |
| | ^^^^^^^^^^^^ | |
| error: aborting due to 22 previous errors | |
| For more information about this error, try `rustc --explain E0277`. |