| error[E0790]: cannot refer to the associated constant on trait without specifying the corresponding `impl` type |
| --> $DIR/issue-58022.rs:4:25 |
| | |
| LL | const SIZE: usize; |
| | ------------------ `Foo::SIZE` defined here |
| LL | |
| LL | fn new(slice: &[u8; Foo::SIZE]) -> Self; |
| | ^^^^^^^^^ cannot refer to the associated constant of trait |
| |
| error[E0277]: the size for values of type `[u8]` cannot be known at compilation time |
| --> $DIR/issue-58022.rs:13:41 |
| | |
| LL | fn new(slice: &[u8; Self::SIZE]) -> Self { |
| | ^^^^ doesn't have a size known at compile-time |
| | |
| = help: within `Bar<[u8]>`, the trait `Sized` is not implemented for `[u8]`, which is required by `Bar<[u8]>: Sized` |
| note: required because it appears within the type `Bar<[u8]>` |
| --> $DIR/issue-58022.rs:8:12 |
| | |
| LL | pub struct Bar<T: ?Sized>(T); |
| | ^^^ |
| = note: the return type of a function must have a statically known size |
| |
| error[E0423]: expected function, tuple struct or tuple variant, found trait `Foo` |
| --> $DIR/issue-58022.rs:15:9 |
| | |
| LL | Foo(Box::new(*slice)) |
| | ^^^ not a function, tuple struct or tuple variant |
| |
| error: aborting due to 3 previous errors |
| |
| Some errors have detailed explanations: E0277, E0423, E0790. |
| For more information about an error, try `rustc --explain E0277`. |