| error: zero-sized fields in `repr(transparent)` cannot contain external types with private fields | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:44:22 | 
 |    | | 
 | LL | pub struct T5(Sized, Private); | 
 |    |                      ^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `Private`, which contains private fields, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:49:22 | 
 |    | | 
 | LL | pub struct T6(Sized, NonExhaustive); | 
 |    |                      ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:54:23 | 
 |    | | 
 | LL | pub struct T6a(Sized, <i32 as Trait>::Assoc); // normalizes to `NonExhaustive` | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:59:22 | 
 |    | | 
 | LL | pub struct T7(Sized, NonExhaustiveEnum); | 
 |    |                      ^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveEnum`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:64:22 | 
 |    | | 
 | LL | pub struct T8(Sized, NonExhaustiveVariant); | 
 |    |                      ^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveVariant`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external types with private fields | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:69:22 | 
 |    | | 
 | LL | pub struct T9(Sized, InternalIndirection<Private>); | 
 |    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `Private`, which contains private fields, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:74:23 | 
 |    | | 
 | LL | pub struct T10(Sized, InternalIndirection<NonExhaustive>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:79:23 | 
 |    | | 
 | LL | pub struct T11(Sized, InternalIndirection<NonExhaustiveEnum>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveEnum`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:84:23 | 
 |    | | 
 | LL | pub struct T12(Sized, InternalIndirection<NonExhaustiveVariant>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveVariant`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external types with private fields | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:89:23 | 
 |    | | 
 | LL | pub struct T13(Sized, ExternalIndirection<Private>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `Private`, which contains private fields, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:94:23 | 
 |    | | 
 | LL | pub struct T14(Sized, ExternalIndirection<NonExhaustive>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:99:23 | 
 |    | | 
 | LL | pub struct T15(Sized, ExternalIndirection<NonExhaustiveEnum>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveEnum`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:104:23 | 
 |    | | 
 | LL | pub struct T16(Sized, ExternalIndirection<NonExhaustiveVariant>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveVariant`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:109:16 | 
 |    | | 
 | LL | pub struct T17(NonExhaustive, Sized); | 
 |    |                ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:114:31 | 
 |    | | 
 | LL | pub struct T18(NonExhaustive, NonExhaustive); | 
 |    |                               ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external types with private fields | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:119:31 | 
 |    | | 
 | LL | pub struct T19(NonExhaustive, Private); | 
 |    |                               ^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `Private`, which contains private fields, so it could become non-zero-sized in the future. | 
 |  | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:124:32 | 
 |    | | 
 | LL | pub struct T19Flipped(Private, NonExhaustive); | 
 |    |                                ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 |  | 
 | error: aborting due to 17 previous errors | 
 |  | 
 | Future incompatibility report: Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external types with private fields | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:44:22 | 
 |    | | 
 | LL | pub struct T5(Sized, Private); | 
 |    |                      ^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `Private`, which contains private fields, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:49:22 | 
 |    | | 
 | LL | pub struct T6(Sized, NonExhaustive); | 
 |    |                      ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:54:23 | 
 |    | | 
 | LL | pub struct T6a(Sized, <i32 as Trait>::Assoc); // normalizes to `NonExhaustive` | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:59:22 | 
 |    | | 
 | LL | pub struct T7(Sized, NonExhaustiveEnum); | 
 |    |                      ^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveEnum`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:64:22 | 
 |    | | 
 | LL | pub struct T8(Sized, NonExhaustiveVariant); | 
 |    |                      ^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveVariant`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external types with private fields | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:69:22 | 
 |    | | 
 | LL | pub struct T9(Sized, InternalIndirection<Private>); | 
 |    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `Private`, which contains private fields, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:74:23 | 
 |    | | 
 | LL | pub struct T10(Sized, InternalIndirection<NonExhaustive>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:79:23 | 
 |    | | 
 | LL | pub struct T11(Sized, InternalIndirection<NonExhaustiveEnum>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveEnum`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:84:23 | 
 |    | | 
 | LL | pub struct T12(Sized, InternalIndirection<NonExhaustiveVariant>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveVariant`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external types with private fields | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:89:23 | 
 |    | | 
 | LL | pub struct T13(Sized, ExternalIndirection<Private>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `Private`, which contains private fields, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:94:23 | 
 |    | | 
 | LL | pub struct T14(Sized, ExternalIndirection<NonExhaustive>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:99:23 | 
 |    | | 
 | LL | pub struct T15(Sized, ExternalIndirection<NonExhaustiveEnum>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveEnum`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:104:23 | 
 |    | | 
 | LL | pub struct T16(Sized, ExternalIndirection<NonExhaustiveVariant>); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustiveVariant`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:109:16 | 
 |    | | 
 | LL | pub struct T17(NonExhaustive, Sized); | 
 |    |                ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:114:31 | 
 |    | | 
 | LL | pub struct T18(NonExhaustive, NonExhaustive); | 
 |    |                               ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external types with private fields | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:119:31 | 
 |    | | 
 | LL | pub struct T19(NonExhaustive, Private); | 
 |    |                               ^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `Private`, which contains private fields, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | Future breakage diagnostic: | 
 | error: zero-sized fields in `repr(transparent)` cannot contain external non-exhaustive types | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:124:32 | 
 |    | | 
 | LL | pub struct T19Flipped(Private, NonExhaustive); | 
 |    |                                ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = note: for more information, see issue #78586 <https://github.com/rust-lang/rust/issues/78586> | 
 |    = note: this field contains `NonExhaustive`, which is marked with `#[non_exhaustive]`, so it could become non-zero-sized in the future. | 
 | note: the lint level is defined here | 
 |   --> $DIR/repr-transparent-non-exhaustive.rs:1:9 | 
 |    | | 
 | LL | #![deny(repr_transparent_non_zst_fields)] | 
 |    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  |