diff --git a/tests/ui/pin_project/project_replace_unsized_fn_params.rs b/tests/ui/pin_project/project_replace_unsized_fn_params.rs index 2fbdf42f..40b1d082 100644 --- a/tests/ui/pin_project/project_replace_unsized_fn_params.rs +++ b/tests/ui/pin_project/project_replace_unsized_fn_params.rs @@ -1,5 +1,6 @@ // SPDX-License-Identifier: Apache-2.0 OR MIT +#![allow(internal_features)] #![feature(unsized_fn_params)] use pin_project::pin_project; diff --git a/tests/ui/pin_project/project_replace_unsized_fn_params.stderr b/tests/ui/pin_project/project_replace_unsized_fn_params.stderr index 54531590..2ce74036 100644 --- a/tests/ui/pin_project/project_replace_unsized_fn_params.stderr +++ b/tests/ui/pin_project/project_replace_unsized_fn_params.stderr @@ -1,36 +1,36 @@ error[E0277]: the size for values of type `T` cannot be known at compilation time - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:8:8 + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:9:8 | -8 | struct Struct { +9 | struct Struct { | ^^^^^^^-^^^^^^^^^ | | | | | this type parameter needs to be `Sized` | doesn't have a size known at compile-time | note: required because it appears within the type `__StructProjectionOwned` - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:8:8 + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:9:8 | -8 | struct Struct { +9 | struct Struct { | ^^^^^^ = note: the return type of a function must have a statically known size help: consider removing the `?Sized` bound to make the type parameter `Sized` | -8 - struct Struct { -8 + struct Struct { +9 - struct Struct { +9 + struct Struct { | error[E0277]: the size for values of type `T` cannot be known at compilation time - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:7:1 + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:8:1 | -7 | #[pin_project(project_replace)] //~ ERROR E0277 +8 | #[pin_project(project_replace)] //~ ERROR E0277 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time -8 | struct Struct { +9 | struct Struct { | - this type parameter needs to be `Sized` | note: required because it appears within the type `Struct` - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:8:8 + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:9:8 | -8 | struct Struct { +9 | struct Struct { | ^^^^^^ note: required by a bound in `UnsafeOverwriteGuard::::new` --> src/lib.rs @@ -43,64 +43,64 @@ note: required by a 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` | -8 - struct Struct { -8 + struct Struct { +9 - struct Struct { +9 + struct Struct { | error[E0277]: the size for values of type `T` cannot be known at compilation time - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:9:5 - | -7 | #[pin_project(project_replace)] //~ ERROR E0277 - | ------------------------------- required by a bound introduced by this call -8 | struct Struct { - | - this type parameter needs to be `Sized` -9 | f: T, - | ^ doesn't have a size known at compile-time - | + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:10:5 + | +8 | #[pin_project(project_replace)] //~ ERROR E0277 + | ------------------------------- required by a bound introduced by this call +9 | struct Struct { + | - this type parameter needs to be `Sized` +10 | f: T, + | ^ doesn't have a size known at compile-time + | note: required by an implicit `Sized` bound in `std::ptr::read` - --> $RUST/core/src/ptr/mod.rs - | - | pub const unsafe fn read(src: *const T) -> T { - | ^ required by the implicit `Sized` requirement on this type parameter in `read` + --> $RUST/core/src/ptr/mod.rs + | + | pub const unsafe fn read(src: *const T) -> T { + | ^ required by the implicit `Sized` requirement on this type parameter in `read` help: consider removing the `?Sized` bound to make the type parameter `Sized` - | -8 - struct Struct { -8 + struct Struct { + | +9 - struct Struct { +9 + struct Struct { | error[E0277]: the size for values of type `T` cannot be known at compilation time - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:13:8 + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:14:8 | -13 | struct TupleStruct(T); +14 | struct TupleStruct(T); | ^^^^^^^^^^^^-^^^^^^^^^ | | | | | this type parameter needs to be `Sized` | doesn't have a size known at compile-time | note: required because it appears within the type `__TupleStructProjectionOwned` - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:13:8 + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:14:8 | -13 | struct TupleStruct(T); +14 | struct TupleStruct(T); | ^^^^^^^^^^^ = note: the return type of a function must have a statically known size help: consider removing the `?Sized` bound to make the type parameter `Sized` | -13 - struct TupleStruct(T); -13 + struct TupleStruct(T); +14 - struct TupleStruct(T); +14 + struct TupleStruct(T); | error[E0277]: the size for values of type `T` cannot be known at compilation time - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:12:1 + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:13:1 | -12 | #[pin_project(project_replace)] //~ ERROR E0277 +13 | #[pin_project(project_replace)] //~ ERROR E0277 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time -13 | struct TupleStruct(T); +14 | struct TupleStruct(T); | - this type parameter needs to be `Sized` | note: required because it appears within the type `TupleStruct` - --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:13:8 + --> tests/ui/pin_project/project_replace_unsized_fn_params.rs:14:8 | -13 | struct TupleStruct(T); +14 | struct TupleStruct(T); | ^^^^^^^^^^^ note: required by a bound in `UnsafeOverwriteGuard::::new` --> src/lib.rs @@ -113,6 +113,6 @@ note: required by a 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` | -13 - struct TupleStruct(T); -13 + struct TupleStruct(T); +14 - struct TupleStruct(T); +14 + struct TupleStruct(T); |