error[E0277]: the size for values of type `T` cannot be known at compilation time --> 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 4 | struct Struct { | - this type parameter needs to be `std::marker::Sized` | note: required because it appears within the type `Struct` --> tests/ui/pin_project/project_replace_unsized.rs:4:8 | 4 | struct Struct { | ^^^^^^ = 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 { 4 + struct Struct { | 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 --> 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 4 | struct Struct { | - this type parameter needs to be `std::marker::Sized` | note: required because it appears within the type `Struct` --> tests/ui/pin_project/project_replace_unsized.rs:4:8 | 4 | struct Struct { | ^^^^^^ note: required by a bound in `UnsafeOverwriteGuard::::new` --> src/lib.rs | | impl UnsafeOverwriteGuard { | ^ required by this bound in `UnsafeOverwriteGuard::::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 { 4 + struct Struct { | error[E0277]: the size for values of type `T` cannot be known at compilation time --> 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 { | - 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(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 { 4 + struct Struct { | error[E0277]: the size for values of type `T` cannot be known at compilation time --> 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 9 | struct TupleStruct(T); | - this type parameter needs to be `std::marker::Sized` | note: required because it appears within the type `TupleStruct` --> tests/ui/pin_project/project_replace_unsized.rs:9:8 | 9 | struct TupleStruct(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); 9 + struct TupleStruct(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 --> 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 9 | struct TupleStruct(T); | - this type parameter needs to be `std::marker::Sized` | note: required because it appears within the type `TupleStruct` --> tests/ui/pin_project/project_replace_unsized.rs:9:8 | 9 | struct TupleStruct(T); | ^^^^^^^^^^^ note: required by a bound in `UnsafeOverwriteGuard::::new` --> src/lib.rs | | impl UnsafeOverwriteGuard { | ^ required by this bound in `UnsafeOverwriteGuard::::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` | 9 - struct TupleStruct(T); 9 + struct TupleStruct(T); |