blob: 7b882055423e0d7ac46478b7de146c111e18f322 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
use pin_project::pin_project;
use std::marker::PhantomPinned;
#[cfg_attr(any(), pin_project)]
struct Foo<T> {
inner: T,
}
#[cfg_attr(not(any()), pin_project)]
struct Bar<T> {
#[cfg_attr(not(any()), pin)]
inner: T,
}
fn is_unpin<T: Unpin>() {}
fn main() {
is_unpin::<Foo<PhantomPinned>>(); // ERROR E0277
is_unpin::<Bar<()>>(); // Ok
is_unpin::<Bar<PhantomPinned>>(); //~ ERROR E0277
}
|