• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1error[E0277]: `PhantomPinned` cannot be unpinned
2  --> tests/ui/pin_project/overlapping_unpin_struct.rs:19:16
3   |
419 |     is_unpin::<Foo<PhantomPinned>>(); //~ ERROR E0277
5   |                ^^^^^^^^^^^^^^^^^^ within `_::__Origin<'_, PhantomPinned>`, the trait `Unpin` is not implemented for `PhantomPinned`
6   |
7   = note: consider using the `pin!` macro
8           consider using `Box::pin` if you need to access the pinned value outside of the current scope
9note: required because it appears within the type `__Origin<'_, PhantomPinned>`
10  --> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1
11   |
125  | / pin_project! {
136  | |     struct Foo<T> {
147  | |         #[pin]
158  | |         inner: T,
169  | |     }
1710 | | }
18   | |_^
19note: required for `Foo<PhantomPinned>` to implement `Unpin`
20  --> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1
21   |
225  | / pin_project! {
236  | |     struct Foo<T> {
247  | |         #[pin]
258  | |         inner: T,
269  | |     }
2710 | | }
28   | |_^ unsatisfied trait bound introduced here
29note: required by a bound in `is_unpin`
30  --> tests/ui/pin_project/overlapping_unpin_struct.rs:16:16
31   |
3216 | fn is_unpin<T: Unpin>() {}
33   |                ^^^^^ required by this bound in `is_unpin`
34   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
35