82 lines
3.7 KiB
Plaintext
82 lines
3.7 KiB
Plaintext
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<T, U> {
|
|
9 | | #[pin]
|
|
10 | | future: T,
|
|
... |
|
|
13 | | }
|
|
| |_^ conflicting implementation for `Foo<_, _>`
|
|
...
|
|
16 | impl<T, U> Unpin for Foo<T, U> 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<T, U> {
|
|
22 | | #[pin]
|
|
23 | | future: T,
|
|
... |
|
|
26 | | }
|
|
| |_^ conflicting implementation for `Bar<_, _>`
|
|
...
|
|
29 | impl<T, U> Unpin for Bar<T, U> {} // 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<T, U> {
|
|
33 | | #[pin]
|
|
34 | | future: T,
|
|
... |
|
|
37 | | }
|
|
| |_^ conflicting implementation for `Baz<_, _>`
|
|
...
|
|
40 | impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {} // 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<T, U> {
|
|
45 | | #[pin]
|
|
... |
|
|
49 | | }
|
|
| |_^ conflicting implementation for `Qux<_, _>`
|
|
...
|
|
52 | impl<T, U> Unpin for Qux<T, U> {} // 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<T, U> {
|
|
57 | | #[pin]
|
|
... |
|
|
61 | | }
|
|
| |_^ conflicting implementation for `Fred<_, _>`
|
|
...
|
|
64 | impl<T: Unpin, U: Unpin> Unpin for Fred<T, U> {} // 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)
|