pub trait PinnedDrop { // Required method fn drop(self: Pin<&mut Self>); }
This trait needs to be implemented if you use the #[pin_drop] attribute. It enables you to implement Drop for your type safely.
#[pin_drop]
This is the equivalent to the regular Drop trait with the difference that self is pinned.