| error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 0 |
| --> $DIR/repr-transparent.rs:11:1 |
| | |
| LL | struct NoFields; |
| | ^^^^^^^^^^^^^^^^ needs exactly one non-zero-sized field, but has 0 |
| |
| error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 0 |
| --> $DIR/repr-transparent.rs:14:1 |
| | |
| LL | struct ContainsOnlyZst(()); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ needs exactly one non-zero-sized field, but has 0 |
| |
| error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 0 |
| --> $DIR/repr-transparent.rs:17:1 |
| | |
| LL | struct ContainsOnlyZstArray([bool; 0]); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ needs exactly one non-zero-sized field, but has 0 |
| |
| error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 0 |
| --> $DIR/repr-transparent.rs:20:1 |
| | |
| LL | struct ContainsMultipleZst(PhantomData<*const i32>, NoFields); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ needs exactly one non-zero-sized field, but has 0 |
| |
| error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 2 |
| --> $DIR/repr-transparent.rs:24:1 |
| | |
| LL | struct MultipleNonZst(u8, u8); |
| | ^^^^^^^^^^^^^^^^^^^^^^--^^--^^ |
| | | | | |
| | | | this field is non-zero-sized |
| | | this field is non-zero-sized |
| | needs exactly one non-zero-sized field, but has 2 |
| |
| error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 2 |
| --> $DIR/repr-transparent.rs:30:1 |
| | |
| LL | pub struct StructWithProjection(f32, <f32 as Mirror>::It); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^-------------------^^ |
| | | | | |
| | | | this field is non-zero-sized |
| | | this field is non-zero-sized |
| | needs exactly one non-zero-sized field, but has 2 |
| |
| error[E0691]: zero-sized field in transparent struct has alignment larger than 1 |
| --> $DIR/repr-transparent.rs:34:32 |
| | |
| LL | struct NontrivialAlignZst(u32, [u16; 0]); |
| | ^^^^^^^^ has alignment larger than 1 |
| |
| error[E0691]: zero-sized field in transparent struct has alignment larger than 1 |
| --> $DIR/repr-transparent.rs:40:24 |
| | |
| LL | struct GenericAlign<T>(ZstAlign32<T>, u32); |
| | ^^^^^^^^^^^^^ has alignment larger than 1 |
| |
| error[E0084]: unsupported representation for zero-variant enum |
| --> $DIR/repr-transparent.rs:42:1 |
| | |
| LL | #[repr(transparent)] |
| | ^^^^^^^^^^^^^^^^^^^^ |
| LL | enum Void {} |
| | ------------ zero-variant enum |
| |
| error[E0731]: transparent enum needs exactly one variant, but has 0 |
| --> $DIR/repr-transparent.rs:43:1 |
| | |
| LL | enum Void {} |
| | ^^^^^^^^^ needs exactly one variant, but has 0 |
| |
| error[E0690]: the variant of a transparent enum needs exactly one non-zero-sized field, but has 0 |
| --> $DIR/repr-transparent.rs:47:1 |
| | |
| LL | enum FieldlessEnum { |
| | ^^^^^^^^^^^^^^^^^^ needs exactly one non-zero-sized field, but has 0 |
| |
| error[E0690]: the variant of a transparent enum needs exactly one non-zero-sized field, but has 2 |
| --> $DIR/repr-transparent.rs:52:1 |
| | |
| LL | enum TooManyFieldsEnum { |
| | ^^^^^^^^^^^^^^^^^^^^^^ needs exactly one non-zero-sized field, but has 2 |
| LL | Foo(u32, String), |
| | --- ------ this field is non-zero-sized |
| | | |
| | this field is non-zero-sized |
| |
| error[E0731]: transparent enum needs exactly one variant, but has 2 |
| --> $DIR/repr-transparent.rs:58:1 |
| | |
| LL | enum TooManyVariants { |
| | ^^^^^^^^^^^^^^^^^^^^ needs exactly one variant, but has 2 |
| LL | Foo(String), |
| | ----------- |
| LL | Bar, |
| | --- too many variants in `TooManyVariants` |
| |
| error[E0691]: zero-sized field in transparent enum has alignment larger than 1 |
| --> $DIR/repr-transparent.rs:65:14 |
| | |
| LL | Foo(u32, [u16; 0]), |
| | ^^^^^^^^ has alignment larger than 1 |
| |
| error[E0691]: zero-sized field in transparent enum has alignment larger than 1 |
| --> $DIR/repr-transparent.rs:70:11 |
| | |
| LL | Foo { bar: ZstAlign32<T>, baz: u32 } |
| | ^^^^^^^^^^^^^^^^^^ has alignment larger than 1 |
| |
| error[E0690]: transparent union needs exactly one non-zero-sized field, but has 0 |
| --> $DIR/repr-transparent.rs:74:1 |
| | |
| LL | union UnitUnion { |
| | ^^^^^^^^^^^^^^^ needs exactly one non-zero-sized field, but has 0 |
| |
| error[E0690]: transparent union needs exactly one non-zero-sized field, but has 2 |
| --> $DIR/repr-transparent.rs:79:1 |
| | |
| LL | union TooManyFields { |
| | ^^^^^^^^^^^^^^^^^^^ needs exactly one non-zero-sized field, but has 2 |
| LL | u: u32, |
| | ------ this field is non-zero-sized |
| LL | s: i32 |
| | ------ this field is non-zero-sized |
| |
| error: aborting due to 17 previous errors |
| |
| Some errors have detailed explanations: E0084, E0690, E0691, E0731. |
| For more information about an error, try `rustc --explain E0084`. |