diff options
Diffstat (limited to 'tests/ui/pinned_drop/conditional-drop-impl.stderr')
-rw-r--r-- | tests/ui/pinned_drop/conditional-drop-impl.stderr | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/tests/ui/pinned_drop/conditional-drop-impl.stderr b/tests/ui/pinned_drop/conditional-drop-impl.stderr index 6381a29..8ab2294 100644 --- a/tests/ui/pinned_drop/conditional-drop-impl.stderr +++ b/tests/ui/pinned_drop/conditional-drop-impl.stderr @@ -1,26 +1,31 @@ error[E0367]: `Drop` impl requires `T: Unpin` but the struct it is implemented for does not - --> $DIR/conditional-drop-impl.rs:10:9 + --> $DIR/conditional-drop-impl.rs:11:9 | -10 | impl<T: Unpin> Drop for DropImpl<T> { +11 | impl<T: Unpin> Drop for DropImpl<T> { | ^^^^^ | note: the implementor must specify the same requirement - --> $DIR/conditional-drop-impl.rs:6:1 + --> $DIR/conditional-drop-impl.rs:7:1 | -6 | / struct DropImpl<T> { -7 | | f: T, -8 | | } +7 | / struct DropImpl<T> { +8 | | f: T, +9 | | } | |_^ error[E0277]: `T` cannot be unpinned - --> $DIR/conditional-drop-impl.rs:15:15 + --> $DIR/conditional-drop-impl.rs:16:15 | -15 | #[pin_project(PinnedDrop)] //~ ERROR E0277 +16 | #[pin_project(PinnedDrop)] //~ ERROR E0277 | ^^^^^^^^^^ the trait `Unpin` is not implemented for `T` | - = note: required because of the requirements on the impl of `PinnedDrop` for `PinnedDropImpl<T>` + = note: consider using `Box::pin` +note: required because of the requirements on the impl of `PinnedDrop` for `PinnedDropImpl<T>` + --> $DIR/conditional-drop-impl.rs:23:16 + | +23 | impl<T: Unpin> PinnedDrop for PinnedDropImpl<T> { + | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ = note: required by `pin_project::__private::PinnedDrop::drop` help: consider restricting type parameter `T` | -16 | struct PinnedDropImpl<T: Unpin> { - | ^^^^^^^ +17 | struct PinnedDropImpl<T: std::marker::Unpin> { + | ^^^^^^^^^^^^^^^^^^^^ |