• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use std::pin::Pin;
2 
3 use pin_project::{pin_project, pinned_drop};
4 
5 #[pin_project(PinnedDrop, project = EnumProj, project_ref = EnumProjRef)]
6 enum Enum<T, U> {
7     Struct {
8         #[pin]
9         pinned: T,
10         unpinned: U,
11     },
12     Tuple(#[pin] T, U),
13     Unit,
14 }
15 
16 #[pinned_drop]
17 impl<T, U> PinnedDrop for Enum<T, U> {
drop(self: Pin<&mut Self>)18     fn drop(self: Pin<&mut Self>) {
19         let _ = self;
20     }
21 }
22 
main()23 fn main() {}
24