blob: b7bb04de802e51329bee639a3e3210f73cff52a2 [file] [log] [blame]
use pin_project::pin_project;
use std::marker::PhantomPinned;
#[pin_project]
struct Foo<T> {
#[cfg(any())]
#[pin]
inner: T,
#[cfg(not(any()))]
inner: T,
}
#[pin_project]
struct Bar<T> {
#[cfg(any())]
inner: T,
#[cfg(not(any()))]
#[pin]
inner: T,
}
fn is_unpin<T: Unpin>() {}
fn main() {
is_unpin::<Foo<PhantomPinned>>(); // Ok
is_unpin::<Bar<()>>(); // Ok
is_unpin::<Bar<PhantomPinned>>(); //~ ERROR E0277
}