rust/tests/ui/unsized/unsized-bare-typaram.stderr
Esteban Küber c4c22b0d52 On E0277 be clearer about implicit Sized bounds on type params and assoc types
```
error[E0277]: the size for values of type `[i32]` cannot be known at compilation time
   --> f100.rs:2:33
    |
2   |     let _ = std::mem::size_of::<[i32]>();
    |                                 ^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `[i32]`
note: required by an implicit `Sized` bound in `std::mem::size_of`
   --> /home/gh-estebank/rust/library/core/src/mem/mod.rs:312:22
    |
312 | pub const fn size_of<T>() -> usize {
    |                      ^ required by the implicit `Sized` requirement on this bound in `size_of`
```

Fix #120178.
2024-02-01 03:30:26 +00:00

23 lines
746 B
Plaintext

error[E0277]: the size for values of type `T` cannot be known at compilation time
--> $DIR/unsized-bare-typaram.rs:2:29
|
LL | fn foo<T: ?Sized>() { bar::<T>() }
| - ^ doesn't have a size known at compile-time
| |
| this type parameter needs to be `Sized`
|
note: required by a bound in `bar`
--> $DIR/unsized-bare-typaram.rs:1:11
|
LL | fn bar<T: Sized>() { }
| ^^^^^ required by this bound in `bar`
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
LL - fn foo<T: ?Sized>() { bar::<T>() }
LL + fn foo<T>() { bar::<T>() }
|
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.