1 use pin_project::pin_project;
2 
3 #[pin_project]
4 struct Struct1 {} //~ ERROR may not be used on structs with zero fields
5 
6 #[pin_project]
7 struct Struct2(); //~ ERROR may not be used on structs with zero fields
8 
9 #[pin_project]
10 struct Struct3; //~ ERROR may not be used on structs with units
11 
12 #[pin_project]
13 enum Enum1 {} //~ ERROR may not be used on enums without variants
14 
15 #[pin_project]
16 enum Enum2 {
17     A = 2, //~ ERROR may not be used on enums with discriminants
18 }
19 
20 #[pin_project]
21 enum Enum3 {
22     A, //~ ERROR may not be used on enums that have no field
23     B,
24 }
25 
26 #[pin_project]
27 union Union {
28     //~^ ERROR may only be used on structs or enums
29     x: u8,
30 }
31 
32 fn main() {}
33