1 // default pin_project! is completely safe.
2 
3 ::pin_project_lite::pin_project! {
4     #[derive(Debug)]
5     pub struct DefaultStruct<T, U> {
6         #[pin]
7         pub pinned: T,
8         pub unpinned: U,
9     }
10 }
11 
12 ::pin_project_lite::pin_project! {
13     #[project = DefaultStructProj]
14     #[project_ref = DefaultStructProjRef]
15     #[derive(Debug)]
16     pub struct DefaultStructNamed<T, U> {
17         #[pin]
18         pub pinned: T,
19         pub unpinned: U,
20     }
21 }
22 
23 ::pin_project_lite::pin_project! {
24     #[project = DefaultEnumProj]
25     #[project_ref = DefaultEnumProjRef]
26     #[derive(Debug)]
27     pub enum DefaultEnum<T, U> {
28         Struct {
29             #[pin]
30             pinned: T,
31             unpinned: U,
32         },
33         Unit,
34     }
35 }
36