error[E0277]: the size for values of type `T` cannot be known at compilation time
 --> $DIR/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<T: ?Sized> {
  |               - this type parameter needs to be `Sized`
  |
  = note: required because it appears within the type `Struct<T>`
  = help: unsized locals are gated as an unstable feature
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:5:5
    |
4   | struct Struct<T: ?Sized> {
    |               - this type parameter needs to be `Sized`
5   |     f: T,
    |     ^ doesn't have a size known at compile-time

error[E0277]: the size for values of type `T` cannot be known at compilation time
 --> $DIR/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<T: ?Sized> {
  |               - this type parameter needs to be `Sized`
  |
  = note: required because it appears within the type `__StructProjectionOwned<T>`
  = note: structs must have a statically known size to be initialized
  = note: this error originates in a derive macro (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:8:15
  |
8 | #[pin_project(project_replace)] //~ ERROR E0277
  |               ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
9 | struct TupleStruct<T: ?Sized>(T);
  |                    - this type parameter needs to be `Sized`
  |
  = note: required because it appears within the type `TupleStruct<T>`
  = help: unsized locals are gated as an unstable feature
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
    |
8   | #[pin_project(project_replace)] //~ ERROR E0277
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
9   | struct TupleStruct<T: ?Sized>(T);
    |                    - this type parameter needs to be `Sized`
    |
    = note: this error originates in a derive macro (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 `Sized`
  |        |
  |        doesn't have a size known at compile-time
  |
  = note: all function arguments must have a statically known size
  = help: unsized locals are gated as an unstable feature
