error[E0119]: conflicting implementations of trait `Unpin` for type `Foo<_, _>` --> tests/ui/pin_project/conflict-unpin.rs:5:1 | 5 | / pin_project! { //~ ERROR E0119 6 | | struct Foo { 7 | | #[pin] 8 | | future: T, 9 | | field: U, 10 | | } 11 | | } | |_^ conflicting implementation for `Foo<_, _>` ... 14 | 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:18:1 | 18 | / pin_project! { //~ ERROR E0119 19 | | struct Bar { 20 | | #[pin] 21 | | future: T, 22 | | field: U, 23 | | } 24 | | } | |_^ conflicting implementation for `Bar<_, _>` ... 27 | 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:29:1 | 29 | / pin_project! { //~ ERROR E0119 30 | | struct Baz { 31 | | #[pin] 32 | | future: T, 33 | | field: U, 34 | | } 35 | | } | |_^ conflicting implementation for `Baz<_, _>` ... 38 | 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:40:1 | 40 | / pin_project! { //~ ERROR E0119 41 | | #[project(!Unpin)] 42 | | struct Qux { 43 | | #[pin] ... | 46 | | } 47 | | } | |_^ conflicting implementation for `Qux<_, _>` ... 50 | impl Unpin for Qux {} // 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 `Fred<_, _>` --> tests/ui/pin_project/conflict-unpin.rs:52:1 | 52 | / pin_project! { //~ ERROR E0119 53 | | #[project(!Unpin)] 54 | | struct Fred { 55 | | #[pin] ... | 58 | | } 59 | | } | |_^ conflicting implementation for `Fred<_, _>` ... 62 | impl Unpin for Fred {} // 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)