2025-01-08 18:04:15 +00:00
|
|
|
union Foo {
|
|
|
|
a: str,
|
|
|
|
//~^ ERROR the size for values of type `str` cannot be known at compilation time
|
|
|
|
//~| ERROR field must implement `Copy` or be wrapped in `ManuallyDrop<...>`
|
|
|
|
}
|
|
|
|
|
|
|
|
enum Bar {
|
|
|
|
Boo = {
|
2025-01-06 10:39:07 +00:00
|
|
|
let _: Option<Foo> = None; //~ ERROR evaluation of constant value failed
|
2025-01-08 18:04:15 +00:00
|
|
|
0
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
union Foo2 {}
|
|
|
|
//~^ ERROR unions cannot have zero fields
|
|
|
|
|
|
|
|
enum Bar2 {
|
|
|
|
Boo = {
|
|
|
|
let _: Option<Foo2> = None;
|
|
|
|
0
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
#[repr(u8, packed)]
|
|
|
|
//~^ ERROR attribute should be applied to a struct or union
|
|
|
|
enum Foo3 {
|
|
|
|
A
|
|
|
|
}
|
|
|
|
|
|
|
|
enum Bar3 {
|
|
|
|
Boo = {
|
|
|
|
let _: Option<Foo3> = None;
|
|
|
|
0
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|