error: layout debugging: Layout {
    fields: Arbitrary {
        offsets: [
            Size {
                raw: 0,
            },
        ],
        memory_index: [
            0,
        ],
    },
    variants: Multiple {
        discr: Scalar {
            value: Int(
                I32,
                false,
            ),
            valid_range: 0..=0,
        },
        discr_kind: Tag,
        discr_index: 0,
        variants: [
            Layout {
                fields: Arbitrary {
                    offsets: [],
                    memory_index: [],
                },
                variants: Single {
                    index: 0,
                },
                abi: Aggregate {
                    sized: true,
                },
                largest_niche: None,
                align: AbiAndPrefAlign {
                    abi: Align {
                        pow2: 0,
                    },
                    pref: $PREF_ALIGN,
                },
                size: Size {
                    raw: 4,
                },
            },
            Layout {
                fields: Arbitrary {
                    offsets: [
                        Size {
                            raw: 4,
                        },
                        Size {
                            raw: 4,
                        },
                        Size {
                            raw: 8,
                        },
                    ],
                    memory_index: [
                        0,
                        1,
                        2,
                    ],
                },
                variants: Single {
                    index: 1,
                },
                abi: Uninhabited,
                largest_niche: None,
                align: AbiAndPrefAlign {
                    abi: Align {
                        pow2: 2,
                    },
                    pref: $PREF_ALIGN,
                },
                size: Size {
                    raw: 12,
                },
            },
        ],
    },
    abi: Aggregate {
        sized: true,
    },
    largest_niche: Some(
        Niche {
            offset: Size {
                raw: 0,
            },
            scalar: Scalar {
                value: Int(
                    I32,
                    false,
                ),
                valid_range: 0..=0,
            },
        },
    ),
    align: AbiAndPrefAlign {
        abi: Align {
            pow2: 2,
        },
        pref: $PREF_ALIGN,
    },
    size: Size {
        raw: 12,
    },
}
  --> $DIR/debug.rs:6:1
   |
LL | enum E { Foo, Bar(!, i32, i32) }
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: layout debugging: Layout {
    fields: Arbitrary {
        offsets: [
            Size {
                raw: 0,
            },
            Size {
                raw: 0,
            },
            Size {
                raw: 4,
            },
        ],
        memory_index: [
            1,
            0,
            2,
        ],
    },
    variants: Single {
        index: 0,
    },
    abi: ScalarPair(
        Scalar {
            value: Int(
                I32,
                true,
            ),
            valid_range: 0..=4294967295,
        },
        Scalar {
            value: Int(
                I32,
                true,
            ),
            valid_range: 0..=4294967295,
        },
    ),
    largest_niche: None,
    align: AbiAndPrefAlign {
        abi: Align {
            pow2: 2,
        },
        pref: $PREF_ALIGN,
    },
    size: Size {
        raw: 8,
    },
}
  --> $DIR/debug.rs:9:1
   |
LL | struct S { f1: i32, f2: (), f3: i32 }
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: layout debugging: Layout {
    fields: Union(
        2,
    ),
    variants: Single {
        index: 0,
    },
    abi: Aggregate {
        sized: true,
    },
    largest_niche: None,
    align: AbiAndPrefAlign {
        abi: Align {
            pow2: 2,
        },
        pref: $PREF_ALIGN,
    },
    size: Size {
        raw: 8,
    },
}
  --> $DIR/debug.rs:12:1
   |
LL | union U { f1: (i32, i32), f3: i32 }
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: layout debugging: Layout {
    fields: Arbitrary {
        offsets: [
            Size {
                raw: 0,
            },
        ],
        memory_index: [
            0,
        ],
    },
    variants: Multiple {
        discr: Scalar {
            value: Int(
                I32,
                false,
            ),
            valid_range: 0..=1,
        },
        discr_kind: Tag,
        discr_index: 0,
        variants: [
            Layout {
                fields: Arbitrary {
                    offsets: [
                        Size {
                            raw: 4,
                        },
                    ],
                    memory_index: [
                        0,
                    ],
                },
                variants: Single {
                    index: 0,
                },
                abi: Aggregate {
                    sized: true,
                },
                largest_niche: None,
                align: AbiAndPrefAlign {
                    abi: Align {
                        pow2: 2,
                    },
                    pref: $PREF_ALIGN,
                },
                size: Size {
                    raw: 8,
                },
            },
            Layout {
                fields: Arbitrary {
                    offsets: [
                        Size {
                            raw: 4,
                        },
                    ],
                    memory_index: [
                        0,
                    ],
                },
                variants: Single {
                    index: 1,
                },
                abi: Aggregate {
                    sized: true,
                },
                largest_niche: None,
                align: AbiAndPrefAlign {
                    abi: Align {
                        pow2: 2,
                    },
                    pref: $PREF_ALIGN,
                },
                size: Size {
                    raw: 8,
                },
            },
        ],
    },
    abi: ScalarPair(
        Scalar {
            value: Int(
                I32,
                false,
            ),
            valid_range: 0..=1,
        },
        Scalar {
            value: Int(
                I32,
                true,
            ),
            valid_range: 0..=4294967295,
        },
    ),
    largest_niche: Some(
        Niche {
            offset: Size {
                raw: 0,
            },
            scalar: Scalar {
                value: Int(
                    I32,
                    false,
                ),
                valid_range: 0..=1,
            },
        },
    ),
    align: AbiAndPrefAlign {
        abi: Align {
            pow2: 2,
        },
        pref: $PREF_ALIGN,
    },
    size: Size {
        raw: 8,
    },
}
  --> $DIR/debug.rs:15:1
   |
LL | type Test = Result<i32, i32>;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 4 previous errors

