error[E0119]: conflicting implementations of trait `Unpin` for type `Foo<_, _>` --> tests/ui/pin_project/conflict-unpin.rs:7:1 | 7 | / pin_project! { //~ ERROR E0119 8 | | struct Foo { 9 | | #[pin] 10 | | future: T, 11 | | field: U, 12 | | } 13 | | } | |_^ conflicting implementation for `Foo<_, _>` ... 16 | impl Unpin for Foo where T: Unpin {} // Conditional Unpin impl | --------------------------------------------- first implementation here | = 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) error[E0119]: conflicting implementations of trait `Unpin` for type `Bar<_, _>` --> tests/ui/pin_project/conflict-unpin.rs:20:1 | 20 | / pin_project! { //~ ERROR E0119 21 | | struct Bar { 22 | | #[pin] 23 | | future: T, 24 | | field: U, 25 | | } 26 | | } | |_^ conflicting implementation for `Bar<_, _>` ... 29 | impl Unpin for Bar {} // Non-conditional Unpin impl | ------------------------------ first implementation here | = 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) error[E0119]: conflicting implementations of trait `Unpin` for type `Baz<_, _>` --> tests/ui/pin_project/conflict-unpin.rs:31:1 | 31 | / pin_project! { //~ ERROR E0119 32 | | struct Baz { 33 | | #[pin] 34 | | future: T, 35 | | field: U, 36 | | } 37 | | } | |_^ conflicting implementation for `Baz<_, _>` ... 40 | impl Unpin for Baz {} // Conditional Unpin impl | -------------------------------------------- first implementation here | = 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) error[E0119]: conflicting implementations of trait `Unpin` for type `Qux<_, _>` --> tests/ui/pin_project/conflict-unpin.rs:42:1 | 42 | / pin_project! { //~ ERROR E0119 43 | | #[project(!Unpin)] 44 | | struct Qux { 45 | | #[pin] ... | 48 | | } 49 | | } | |_^ conflicting implementation for `Qux<_, _>` ... 52 | impl Unpin for Qux {} // Non-conditional Unpin impl | ------------------------------ first implementation here | = note: upstream crates may add a new impl of trait `std::marker::Unpin` for type `(std::marker::PhantomData<&()>, std::marker::PhantomPinned)` in future versions = 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) error[E0119]: conflicting implementations of trait `Unpin` for type `Fred<_, _>` --> tests/ui/pin_project/conflict-unpin.rs:54:1 | 54 | / pin_project! { //~ ERROR E0119 55 | | #[project(!Unpin)] 56 | | struct Fred { 57 | | #[pin] ... | 60 | | } 61 | | } | |_^ conflicting implementation for `Fred<_, _>` ... 64 | impl Unpin for Fred {} // Conditional Unpin impl | --------------------------------------------- first implementation here | = note: upstream crates may add a new impl of trait `std::marker::Unpin` for type `(std::marker::PhantomData<&()>, std::marker::PhantomPinned)` in future versions = 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)