1 // SPDX-License-Identifier: Apache-2.0 OR MIT 2 3 use std::pin::Pin; 4 5 use pin_project::{pin_project, pinned_drop}; 6 7 #[pin_project(PinnedDrop)] 8 struct Struct<T, U> { 9 #[pin] 10 pinned: T, 11 unpinned: U, 12 } 13 14 #[pinned_drop] 15 impl<T, U> PinnedDrop for Struct<T, U> { drop(self: Pin<&mut Self>)16 fn drop(self: Pin<&mut Self>) { 17 let _ = self; 18 } 19 } 20 main()21fn main() {} 22