| error[E0277]: the size for values of type `[isize]` cannot be known at compilation time |
| --> $DIR/dst-sized-trait-param.rs:7:6 |
| | |
| LL | trait Foo<T> : Sized { fn take(self, x: &T) { } } // Note: T is sized |
| | - required by this bound in `Foo` |
| LL | |
| LL | impl Foo<[isize]> for usize { } |
| | ^^^^^^^^^^^^ doesn't have a size known at compile-time |
| | |
| = help: the trait `std::marker::Sized` is not implemented for `[isize]` |
| = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait> |
| help: consider relaxing the implicit `Sized` restriction |
| | |
| LL | trait Foo<T: ?Sized> : Sized { fn take(self, x: &T) { } } // Note: T is sized |
| | ^^^^^^^^ |
| |
| error[E0277]: the size for values of type `[usize]` cannot be known at compilation time |
| --> $DIR/dst-sized-trait-param.rs:10:6 |
| | |
| LL | trait Foo<T> : Sized { fn take(self, x: &T) { } } // Note: T is sized |
| | ----- required by this bound in `Foo` |
| ... |
| LL | impl Foo<isize> for [usize] { } |
| | ^^^^^^^^^^ doesn't have a size known at compile-time |
| | |
| = help: the trait `std::marker::Sized` is not implemented for `[usize]` |
| = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait> |
| |
| error: aborting due to 2 previous errors |
| |
| For more information about this error, try `rustc --explain E0277`. |