mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-15 10:07:30 +00:00
91b9ffeab0
In `report_fullfillment_errors` push back `T: Sized`, `T: WellFormed` and coercion errors to the end of the list. The pre-existing deduplication logic eliminates redundant errors better that way, keeping the resulting output with fewer errors than before, while also having more detail.
36 lines
1.2 KiB
Plaintext
36 lines
1.2 KiB
Plaintext
error: unconstrained generic constant
|
|
--> $DIR/const-argument-if-length.rs:17:10
|
|
|
|
|
LL | pad: [u8; is_zst::<T>()],
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: try adding a `where` bound using this expression: `where [(); is_zst::<T>()]:`
|
|
|
|
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
|
--> $DIR/const-argument-if-length.rs:15:12
|
|
|
|
|
LL | pub struct AtLeastByte<T: ?Sized> {
|
|
| - this type parameter needs to be `Sized`
|
|
LL | value: T,
|
|
| ^ doesn't have a size known at compile-time
|
|
|
|
|
= note: only the last field of a struct may have a dynamically sized type
|
|
= help: change the field's type to have a statically known size
|
|
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
|
|
|
|
LL - pub struct AtLeastByte<T: ?Sized> {
|
|
LL + pub struct AtLeastByte<T> {
|
|
|
|
|
help: borrowed types always have a statically known size
|
|
|
|
|
LL | value: &T,
|
|
| +
|
|
help: the `Box` type always has a statically known size and allocates its contents in the heap
|
|
|
|
|
LL | value: Box<T>,
|
|
| ++++ +
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|