mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-12-25 12:33:30 +00:00
69c3e9c90f
This reports the sizes of the largest and second-largest variants.
68 lines
2.2 KiB
Text
68 lines
2.2 KiB
Text
error: large size difference between variants
|
|
--> $DIR/large_enum_variant.rs:7:5
|
|
|
|
|
LL | B([i32; 8000]),
|
|
| ^^^^^^^^^^^^^^ this variant is 32000 bytes
|
|
|
|
|
= note: `-D clippy::large-enum-variant` implied by `-D warnings`
|
|
note: and the second-largest variant is 4 bytes:
|
|
--> $DIR/large_enum_variant.rs:6:5
|
|
|
|
|
LL | A(i32),
|
|
| ^^^^^^
|
|
help: consider boxing the large fields to reduce the total size of the enum
|
|
|
|
|
LL | B(Box<[i32; 8000]>),
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error: large size difference between variants
|
|
--> $DIR/large_enum_variant.rs:31:5
|
|
|
|
|
LL | ContainingLargeEnum(LargeEnum),
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this variant is 32004 bytes
|
|
|
|
|
note: and the second-largest variant is 8 bytes:
|
|
--> $DIR/large_enum_variant.rs:30:5
|
|
|
|
|
LL | VariantOk(i32, u32),
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
help: consider boxing the large fields to reduce the total size of the enum
|
|
|
|
|
LL | ContainingLargeEnum(Box<LargeEnum>),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
error: large size difference between variants
|
|
--> $DIR/large_enum_variant.rs:41:5
|
|
|
|
|
LL | StructLikeLarge { x: [i32; 8000], y: i32 },
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this variant is 32004 bytes
|
|
|
|
|
note: and the second-largest variant is 8 bytes:
|
|
--> $DIR/large_enum_variant.rs:40:5
|
|
|
|
|
LL | VariantOk(i32, u32),
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
help: consider boxing the large fields to reduce the total size of the enum
|
|
--> $DIR/large_enum_variant.rs:41:5
|
|
|
|
|
LL | StructLikeLarge { x: [i32; 8000], y: i32 },
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: large size difference between variants
|
|
--> $DIR/large_enum_variant.rs:46:5
|
|
|
|
|
LL | StructLikeLarge2 { x: [i32; 8000] },
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this variant is 32000 bytes
|
|
|
|
|
note: and the second-largest variant is 8 bytes:
|
|
--> $DIR/large_enum_variant.rs:45:5
|
|
|
|
|
LL | VariantOk(i32, u32),
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
help: consider boxing the large fields to reduce the total size of the enum
|
|
|
|
|
LL | StructLikeLarge2 { x: Box<[i32; 8000]> },
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error: aborting due to 4 previous errors
|
|
|