1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use std::marker::PhantomPinned; use pin_project_lite::pin_project; pin_project! { struct Foo<T> { #[pin] inner: T, } } struct __Origin {} impl Unpin for __Origin {} fn is_unpin<T: Unpin>() {} fn main() { is_unpin::<Foo<PhantomPinned>>(); //~ ERROR E0277 }