about summary refs log tree commit diff
path: root/src/docs/large_enum_variant.txt
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-11-22 17:09:06 +0000
committerbors <bors@rust-lang.org>2022-11-22 17:09:06 +0000
commitb33afd61edfb690ace17d0672b367e44758c1bef (patch)
tree4b806322d7fb1463672319546e1aadc3e2a0b5cc /src/docs/large_enum_variant.txt
parent9e093072457d9cafe8a7259992d1a05d179e4757 (diff)
parente95d40980b3044a6a9cad1b5e72eb57390790d18 (diff)
Auto merge of #104688 - flip1995:clippyup, r=Manishearth,flip1995
Update Clippy

r? `@Manishearth`

Sorry for taking so long. There were so many blockers and so little time. This situation should be mitigated with #104007 in the future.
Diffstat (limited to 'src/docs/large_enum_variant.txt')
-rw-r--r--src/docs/large_enum_variant.txt41
1 files changed, 0 insertions, 41 deletions
diff --git a/src/docs/large_enum_variant.txt b/src/docs/large_enum_variant.txt
deleted file mode 100644
index 1f95430790d..00000000000
--- a/src/docs/large_enum_variant.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-### What it does
-Checks for large size differences between variants on
-`enum`s.
-
-### Why is this bad?
-Enum size is bounded by the largest variant. Having one
-large variant can penalize the memory layout of that enum.
-
-### Known problems
-This lint obviously cannot take the distribution of
-variants in your running program into account. It is possible that the
-smaller variants make up less than 1% of all instances, in which case
-the overhead is negligible and the boxing is counter-productive. Always
-measure the change this lint suggests.
-
-For types that implement `Copy`, the suggestion to `Box` a variant's
-data would require removing the trait impl. The types can of course
-still be `Clone`, but that is worse ergonomically. Depending on the
-use case it may be possible to store the large data in an auxiliary
-structure (e.g. Arena or ECS).
-
-The lint will ignore the impact of generic types to the type layout by
-assuming every type parameter is zero-sized. Depending on your use case,
-this may lead to a false positive.
-
-### Example
-```
-enum Test {
-    A(i32),
-    B([i32; 8000]),
-}
-```
-
-Use instead:
-```
-// Possibly better
-enum Test2 {
-    A(i32),
-    B(Box<[i32; 8000]>),
-}
-```
\ No newline at end of file