error: layout_of(std::result::Result<[u32; 0], bool>) = Layout { size: Size(4 bytes), align: AbiAndPrefAlign { abi: Align(4 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(0 bytes), ], memory_index: [ 0, ], }, largest_niche: Some( Niche { offset: Size(0 bytes), value: Int( I8, false, ), valid_range: 0..=1, }, ), variants: Multiple { tag: Initialized { value: Int( I8, false, ), valid_range: 0..=1, }, tag_encoding: Direct, tag_field: 0, variants: [ Layout { size: Size(4 bytes), align: AbiAndPrefAlign { abi: Align(4 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(4 bytes), ], memory_index: [ 0, ], }, largest_niche: None, variants: Single { index: 0, }, max_repr_align: None, unadjusted_abi_align: Align(4 bytes), }, Layout { size: Size(2 bytes), align: AbiAndPrefAlign { abi: Align(1 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(1 bytes), ], memory_index: [ 0, ], }, largest_niche: Some( Niche { offset: Size(1 bytes), value: Int( I8, false, ), valid_range: 0..=1, }, ), variants: Single { index: 1, }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), }, ], }, max_repr_align: None, unadjusted_abi_align: Align(4 bytes), } --> $DIR/zero-sized-array-enum-niche.rs:13:1 | LL | type AlignedResult = Result<[u32; 0], bool>; | ^^^^^^^^^^^^^^^^^^ error: layout_of(MultipleAlignments) = Layout { size: Size(4 bytes), align: AbiAndPrefAlign { abi: Align(4 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(0 bytes), ], memory_index: [ 0, ], }, largest_niche: Some( Niche { offset: Size(0 bytes), value: Int( I8, false, ), valid_range: 0..=2, }, ), variants: Multiple { tag: Initialized { value: Int( I8, false, ), valid_range: 0..=2, }, tag_encoding: Direct, tag_field: 0, variants: [ Layout { size: Size(2 bytes), align: AbiAndPrefAlign { abi: Align(2 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(2 bytes), ], memory_index: [ 0, ], }, largest_niche: None, variants: Single { index: 0, }, max_repr_align: None, unadjusted_abi_align: Align(2 bytes), }, Layout { size: Size(4 bytes), align: AbiAndPrefAlign { abi: Align(4 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(4 bytes), ], memory_index: [ 0, ], }, largest_niche: None, variants: Single { index: 1, }, max_repr_align: None, unadjusted_abi_align: Align(4 bytes), }, Layout { size: Size(2 bytes), align: AbiAndPrefAlign { abi: Align(1 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(1 bytes), ], memory_index: [ 0, ], }, largest_niche: Some( Niche { offset: Size(1 bytes), value: Int( I8, false, ), valid_range: 0..=1, }, ), variants: Single { index: 2, }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), }, ], }, max_repr_align: None, unadjusted_abi_align: Align(4 bytes), } --> $DIR/zero-sized-array-enum-niche.rs:21:1 | LL | enum MultipleAlignments { | ^^^^^^^^^^^^^^^^^^^^^^^ error: layout_of(std::result::Result<[u32; 0], Packed>) = Layout { size: Size(4 bytes), align: AbiAndPrefAlign { abi: Align(4 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(0 bytes), ], memory_index: [ 0, ], }, largest_niche: Some( Niche { offset: Size(0 bytes), value: Int( I8, false, ), valid_range: 0..=1, }, ), variants: Multiple { tag: Initialized { value: Int( I8, false, ), valid_range: 0..=1, }, tag_encoding: Direct, tag_field: 0, variants: [ Layout { size: Size(4 bytes), align: AbiAndPrefAlign { abi: Align(4 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(4 bytes), ], memory_index: [ 0, ], }, largest_niche: None, variants: Single { index: 0, }, max_repr_align: None, unadjusted_abi_align: Align(4 bytes), }, Layout { size: Size(3 bytes), align: AbiAndPrefAlign { abi: Align(1 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(1 bytes), ], memory_index: [ 0, ], }, largest_niche: Some( Niche { offset: Size(1 bytes), value: Int( I16, false, ), valid_range: 1..=65535, }, ), variants: Single { index: 1, }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), }, ], }, max_repr_align: None, unadjusted_abi_align: Align(4 bytes), } --> $DIR/zero-sized-array-enum-niche.rs:37:1 | LL | type NicheLosesToTagged = Result<[u32; 0], Packed>; | ^^^^^^^^^^^^^^^^^^^^^^^ error: layout_of(std::result::Result<[u32; 0], Packed>) = Layout { size: Size(4 bytes), align: AbiAndPrefAlign { abi: Align(4 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(0 bytes), ], memory_index: [ 0, ], }, largest_niche: Some( Niche { offset: Size(0 bytes), value: Int( I16, false, ), valid_range: 0..=1, }, ), variants: Multiple { tag: Initialized { value: Int( I16, false, ), valid_range: 0..=1, }, tag_encoding: Niche { untagged_variant: 1, niche_variants: 0..=0, niche_start: 1, }, tag_field: 0, variants: [ Layout { size: Size(0 bytes), align: AbiAndPrefAlign { abi: Align(4 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(0 bytes), ], memory_index: [ 0, ], }, largest_niche: None, variants: Single { index: 0, }, max_repr_align: None, unadjusted_abi_align: Align(4 bytes), }, Layout { size: Size(2 bytes), align: AbiAndPrefAlign { abi: Align(1 bytes), pref: $PREF_ALIGN, }, abi: Aggregate { sized: true, }, fields: Arbitrary { offsets: [ Size(0 bytes), ], memory_index: [ 0, ], }, largest_niche: Some( Niche { offset: Size(0 bytes), value: Int( I16, false, ), valid_range: 0..=0, }, ), variants: Single { index: 1, }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), }, ], }, max_repr_align: None, unadjusted_abi_align: Align(4 bytes), } --> $DIR/zero-sized-array-enum-niche.rs:44:1 | LL | type NicheWinsOverTagged = Result<[u32; 0], Packed>; | ^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 4 previous errors