diff options
| author | bors <bors@rust-lang.org> | 2022-11-22 17:09:06 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-11-22 17:09:06 +0000 |
| commit | b33afd61edfb690ace17d0672b367e44758c1bef (patch) | |
| tree | 4b806322d7fb1463672319546e1aadc3e2a0b5cc /src/docs/large_enum_variant.txt | |
| parent | 9e093072457d9cafe8a7259992d1a05d179e4757 (diff) | |
| parent | e95d40980b3044a6a9cad1b5e72eb57390790d18 (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.txt | 41 |
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 |
