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