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