error[E0277]: the size for values of type `T` cannot be known at compilation time --> $DIR/unsized-struct.rs:6:36 | LL | struct Foo { data: T } | ------------- required by `Foo` LL | fn foo1() { not_sized::>() } // Hunky dory. LL | fn foo2() { not_sized::>() } | -- ^^^^^^ doesn't have a size known at compile-time | | | help: consider further restricting this bound: `T: std::marker::Sized +` | = help: the trait `std::marker::Sized` is not implemented for `T` = note: to learn more, visit error[E0277]: the size for values of type `T` cannot be known at compilation time --> $DIR/unsized-struct.rs:13:24 | LL | fn is_sized() { } | -------- - required by this bound in `is_sized` ... LL | fn bar2() { is_sized::>() } | -- ^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time | | | help: consider further restricting this bound: `T: std::marker::Sized +` | = help: within `Bar`, the trait `std::marker::Sized` is not implemented for `T` = note: to learn more, visit = note: required because it appears within the type `Bar` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0277`.