summaryrefslogtreecommitdiffstats
path: root/src/test/ui/repr/repr-transparent.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/repr/repr-transparent.stderr')
-rw-r--r--src/test/ui/repr/repr-transparent.stderr90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/test/ui/repr/repr-transparent.stderr b/src/test/ui/repr/repr-transparent.stderr
new file mode 100644
index 000000000..f1c570b95
--- /dev/null
+++ b/src/test/ui/repr/repr-transparent.stderr
@@ -0,0 +1,90 @@
+error[E0690]: transparent struct needs at most one non-zero-sized field, but has 2
+ --> $DIR/repr-transparent.rs:26:1
+ |
+LL | struct MultipleNonZst(u8, u8);
+ | ^^^^^^^^^^^^^^^^^^^^^ -- -- this field is non-zero-sized
+ | | |
+ | | this field is non-zero-sized
+ | needs at most one non-zero-sized field, but has 2
+
+error[E0690]: transparent struct needs at most one non-zero-sized field, but has 2
+ --> $DIR/repr-transparent.rs:32:1
+ |
+LL | pub struct StructWithProjection(f32, <f32 as Mirror>::It);
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --- ------------------- this field is non-zero-sized
+ | | |
+ | | this field is non-zero-sized
+ | needs at most 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:36: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:42: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:44: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:45:1
+ |
+LL | enum Void {}
+ | ^^^^^^^^^ needs exactly one variant, but has 0
+
+error[E0690]: the variant of a transparent enum needs at most one non-zero-sized field, but has 2
+ --> $DIR/repr-transparent.rs:58:1
+ |
+LL | enum TooManyFieldsEnum {
+ | ^^^^^^^^^^^^^^^^^^^^^^ needs at most 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:64:1
+ |
+LL | enum MultipleVariants {
+ | ^^^^^^^^^^^^^^^^^^^^^ needs exactly one variant, but has 2
+LL | Foo(String),
+ | ---
+LL | Bar,
+ | --- too many variants in `MultipleVariants`
+
+error[E0691]: zero-sized field in transparent enum has alignment larger than 1
+ --> $DIR/repr-transparent.rs:71: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:76:11
+ |
+LL | Foo { bar: ZstAlign32<T>, baz: u32 }
+ | ^^^^^^^^^^^^^^^^^^ has alignment larger than 1
+
+error[E0690]: transparent union needs at most one non-zero-sized field, but has 2
+ --> $DIR/repr-transparent.rs:85:1
+ |
+LL | union TooManyFields {
+ | ^^^^^^^^^^^^^^^^^^^ needs at most 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 11 previous errors
+
+Some errors have detailed explanations: E0084, E0690, E0691, E0731.
+For more information about an error, try `rustc --explain E0084`.