diff options
Diffstat (limited to 'src/test/ui/repr/repr-transparent.stderr')
-rw-r--r-- | src/test/ui/repr/repr-transparent.stderr | 90 |
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`. |