rust/src/test/ui/repr/repr-transparent.stderr

143 lines
4.1 KiB
Plaintext
Raw Normal View History

2018-08-08 07:28:26 -05:00
error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 0
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:11:1
2018-08-08 07:28:26 -05:00
|
2019-03-09 06:03:44 -06:00
LL | struct NoFields;
2018-08-08 07:28:26 -05:00
| ^^^^^^^^^^^^^^^^
error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 0
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:14:1
2018-08-08 07:28:26 -05:00
|
2019-03-09 06:03:44 -06:00
LL | struct ContainsOnlyZst(());
2018-08-08 07:28:26 -05:00
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 0
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:17:1
2018-08-08 07:28:26 -05:00
|
2019-03-09 06:03:44 -06:00
LL | struct ContainsOnlyZstArray([bool; 0]);
2018-08-08 07:28:26 -05:00
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 0
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:20:1
2018-08-08 07:28:26 -05:00
|
LL | struct ContainsMultipleZst(PhantomData<*const i32>, NoFields);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 2
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:24:1
2018-08-08 07:28:26 -05:00
|
2019-03-09 06:03:44 -06:00
LL | struct MultipleNonZst(u8, u8);
2018-08-08 07:28:26 -05:00
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: the following non-zero-sized fields exist on `MultipleNonZst`:
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:24:23
2018-08-08 07:28:26 -05:00
|
2019-03-09 06:03:44 -06:00
LL | struct MultipleNonZst(u8, u8);
2018-08-08 07:28:26 -05:00
| ^^ ^^
error[E0690]: transparent struct needs exactly one non-zero-sized field, but has 2
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:30:1
2018-08-08 07:28:26 -05:00
|
LL | pub struct StructWithProjection(f32, <f32 as Mirror>::It);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: the following non-zero-sized fields exist on `StructWithProjection`:
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:30:33
2018-08-08 07:28:26 -05:00
|
LL | pub struct StructWithProjection(f32, <f32 as Mirror>::It);
| ^^^ ^^^^^^^^^^^^^^^^^^^
error[E0691]: zero-sized field in transparent struct has alignment larger than 1
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:34:32
2018-08-08 07:28:26 -05:00
|
2019-03-09 06:03:44 -06:00
LL | struct NontrivialAlignZst(u32, [u16; 0]);
2018-08-08 07:28:26 -05:00
| ^^^^^^^^
error[E0691]: zero-sized field in transparent struct has alignment larger than 1
2018-12-25 09:56:47 -06:00
--> $DIR/repr-transparent.rs:40:24
2018-08-08 07:28:26 -05:00
|
2019-03-09 06:03:44 -06:00
LL | struct GenericAlign<T>(ZstAlign32<T>, u32);
2018-08-08 07:28:26 -05:00
| ^^^^^^^^^^^^^
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 {}
| ^^^^^^^^^^^^
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 {
LL | | Foo,
LL | | }
| |_^
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 {
LL | | Foo(u32, String),
LL | | }
| |_^
|
note: the following non-zero-sized fields exist on `TooManyFieldsEnum`:
--> $DIR/repr-transparent.rs:53:9
|
LL | Foo(u32, String),
| ^^^ ^^^^^^
error[E0731]: transparent enum needs exactly one variant, but has 2
--> $DIR/repr-transparent.rs:58:1
|
LL | / enum TooManyVariants {
LL | | Foo(String),
LL | | Bar,
LL | | }
| |_^
|
note: the following variants exist on `TooManyVariants`
--> $DIR/repr-transparent.rs:59:5
|
LL | Foo(String),
| ^^^^^^^^^^^
LL | Bar,
| ^^^
error[E0690]: transparent union needs exactly one non-zero-sized field, but has 0
--> $DIR/repr-transparent.rs:64:1
|
LL | / union UnitUnion {
LL | | u: (),
LL | | }
| |_^
error[E0690]: transparent union needs exactly one non-zero-sized field, but has 2
--> $DIR/repr-transparent.rs:69:1
|
LL | / union TooManyFields {
LL | | u: u32,
LL | | s: i32
LL | | }
| |_^
|
note: the following non-zero-sized fields exist on `TooManyFields`:
--> $DIR/repr-transparent.rs:70:5
|
LL | u: u32,
| ^^^^^^
LL | s: i32
| ^^^^^^
error: aborting due to 15 previous errors
2018-08-08 07:28:26 -05:00
Some errors have detailed explanations: E0084, E0690, E0691, E0731.
For more information about an error, try `rustc --explain E0084`.