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