error[E0277]: `PhantomPinned` cannot be unpinned --> tests/ui/pin_project/overlapping_unpin_struct.rs:19:16 | 19 | is_unpin::>(); //~ ERROR E0277 | ^^^^^^^^^^^^^^^^^^ within `_::__Origin<'_, PhantomPinned>`, the trait `Unpin` is not implemented for `PhantomPinned` | = note: consider using the `pin!` macro consider using `Box::pin` if you need to access the pinned value outside of the current scope note: required because it appears within the type `__Origin<'_, PhantomPinned>` --> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1 | 5 | / pin_project! { 6 | | struct Foo { 7 | | #[pin] 8 | | inner: T, 9 | | } 10 | | } | |_^ note: required for `Foo` to implement `Unpin` --> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1 | 5 | / pin_project! { 6 | | struct Foo { 7 | | #[pin] 8 | | inner: T, 9 | | } 10 | | } | |_^ unsatisfied trait bound introduced here note: required by a bound in `is_unpin` --> tests/ui/pin_project/overlapping_unpin_struct.rs:16:16 | 16 | fn is_unpin() {} | ^^^^^ required by this bound in `is_unpin` = 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)