diff options
Diffstat (limited to 'tests/ui/pin_project/project_replace_unsized.stderr')
-rw-r--r-- | tests/ui/pin_project/project_replace_unsized.stderr | 82 |
1 files changed, 52 insertions, 30 deletions
diff --git a/tests/ui/pin_project/project_replace_unsized.stderr b/tests/ui/pin_project/project_replace_unsized.stderr index d20d858..86cc148 100644 --- a/tests/ui/pin_project/project_replace_unsized.stderr +++ b/tests/ui/pin_project/project_replace_unsized.stderr @@ -1,5 +1,5 @@ error[E0277]: the size for values of type `T` cannot be known at compilation time - --> $DIR/project_replace_unsized.rs:3:15 + --> tests/ui/pin_project/project_replace_unsized.rs:3:15 | 3 | #[pin_project(project_replace)] //~ ERROR E0277 | ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time @@ -7,18 +7,23 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim | - this type parameter needs to be `std::marker::Sized` | note: required because it appears within the type `Struct<T>` - --> $DIR/project_replace_unsized.rs:4:8 + --> tests/ui/pin_project/project_replace_unsized.rs:4:8 | 4 | struct Struct<T: ?Sized> { | ^^^^^^ = help: unsized fn params are gated as an unstable feature +help: consider removing the `?Sized` bound to make the type parameter `Sized` + | +4 - struct Struct<T: ?Sized> { +4 + struct Struct<T> { + | help: function arguments must have a statically known size, borrowed types always have a known size | 3 | #[pin_project(&project_replace)] //~ ERROR E0277 - | ^ + | + error[E0277]: the size for values of type `T` cannot be known at compilation time - --> $DIR/project_replace_unsized.rs:3:1 + --> tests/ui/pin_project/project_replace_unsized.rs:3:1 | 3 | #[pin_project(project_replace)] //~ ERROR E0277 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time @@ -26,27 +31,45 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim | - this type parameter needs to be `std::marker::Sized` | note: required because it appears within the type `Struct<T>` - --> $DIR/project_replace_unsized.rs:4:8 + --> tests/ui/pin_project/project_replace_unsized.rs:4:8 | 4 | struct Struct<T: ?Sized> { | ^^^^^^ -note: required by `UnsafeOverwriteGuard` - --> $DIR/lib.rs:269:5 +note: required by a bound in `UnsafeOverwriteGuard::<T>::new` + --> src/lib.rs | -269 | pub struct UnsafeOverwriteGuard<T> { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | impl<T> UnsafeOverwriteGuard<T> { + | ^ required by this bound in `UnsafeOverwriteGuard::<T>::new` = note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info) +help: consider removing the `?Sized` bound to make the type parameter `Sized` + | +4 - struct Struct<T: ?Sized> { +4 + struct Struct<T> { + | error[E0277]: the size for values of type `T` cannot be known at compilation time - --> $DIR/project_replace_unsized.rs:5:5 + --> tests/ui/pin_project/project_replace_unsized.rs:5:5 | +3 | #[pin_project(project_replace)] //~ ERROR E0277 + | ------------------------------- required by a bound introduced by this call 4 | struct Struct<T: ?Sized> { | - this type parameter needs to be `std::marker::Sized` 5 | f: T, | ^ doesn't have a size known at compile-time + | +note: required by a bound in `std::ptr::read` + --> $RUST/core/src/ptr/mod.rs + | + | pub const unsafe fn read<T>(src: *const T) -> T { + | ^ required by this bound in `std::ptr::read` +help: consider removing the `?Sized` bound to make the type parameter `Sized` + | +4 - struct Struct<T: ?Sized> { +4 + struct Struct<T> { + | error[E0277]: the size for values of type `T` cannot be known at compilation time - --> $DIR/project_replace_unsized.rs:8:15 + --> tests/ui/pin_project/project_replace_unsized.rs:8:15 | 8 | #[pin_project(project_replace)] //~ ERROR E0277 | ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time @@ -54,18 +77,23 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim | - this type parameter needs to be `std::marker::Sized` | note: required because it appears within the type `TupleStruct<T>` - --> $DIR/project_replace_unsized.rs:9:8 + --> tests/ui/pin_project/project_replace_unsized.rs:9:8 | 9 | struct TupleStruct<T: ?Sized>(T); | ^^^^^^^^^^^ = help: unsized fn params are gated as an unstable feature +help: consider removing the `?Sized` bound to make the type parameter `Sized` + | +9 - struct TupleStruct<T: ?Sized>(T); +9 + struct TupleStruct<T>(T); + | help: function arguments must have a statically known size, borrowed types always have a known size | 8 | #[pin_project(&project_replace)] //~ ERROR E0277 - | ^ + | + error[E0277]: the size for values of type `T` cannot be known at compilation time - --> $DIR/project_replace_unsized.rs:8:1 + --> tests/ui/pin_project/project_replace_unsized.rs:8:1 | 8 | #[pin_project(project_replace)] //~ ERROR E0277 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time @@ -73,24 +101,18 @@ error[E0277]: the size for values of type `T` cannot be known at compilation tim | - this type parameter needs to be `std::marker::Sized` | note: required because it appears within the type `TupleStruct<T>` - --> $DIR/project_replace_unsized.rs:9:8 + --> tests/ui/pin_project/project_replace_unsized.rs:9:8 | 9 | struct TupleStruct<T: ?Sized>(T); | ^^^^^^^^^^^ -note: required by `UnsafeOverwriteGuard` - --> $DIR/lib.rs:269:5 +note: required by a bound in `UnsafeOverwriteGuard::<T>::new` + --> src/lib.rs | -269 | pub struct UnsafeOverwriteGuard<T> { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | impl<T> UnsafeOverwriteGuard<T> { + | ^ required by this bound in `UnsafeOverwriteGuard::<T>::new` = note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info) - -error[E0277]: the size for values of type `T` cannot be known at compilation time - --> $DIR/project_replace_unsized.rs:9:8 - | -9 | struct TupleStruct<T: ?Sized>(T); - | ^^^^^^^^^^^ - this type parameter needs to be `std::marker::Sized` - | | - | doesn't have a size known at compile-time - | - = note: all function arguments must have a statically known size - = help: unsized fn params are gated as an unstable feature +help: consider removing the `?Sized` bound to make the type parameter `Sized` + | +9 - struct TupleStruct<T: ?Sized>(T); +9 + struct TupleStruct<T>(T); + | |