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