use pin_project_lite::pin_project; // In `Drop` impl, the implementor must specify the same requirement as type definition. struct DropImpl { f: T, } impl Drop for DropImpl { //~^ ERROR E0367 fn drop(&mut self) {} } pin_project! { //~^ ERROR E0367 struct PinnedDropImpl { #[pin] f: T, } impl PinnedDrop for PinnedDropImpl { fn drop(_this: Pin<&mut Self>) {} } } fn main() {}