mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-24 05:33:27 +00:00
6a281e9a73
Fix lint `manual_slice_size_calculation` when a slice is ref more than once When a slice is ref more than once, current suggestion given by `manual_slice_size_calculation` is wrong. For example: ```rs let s: &[i32] = &[1, 2][..]; let ss: &&[i32] = &s; // <----- let _ = size_of::<i32>() * ss.len(); ``` clippy now suggests: ```patch - let _ = size_of::<i32>() * ss.len(); + let _ = size_of_val(ss); ``` However, this can result in calculating the size of `&[i32]`, instead of `[i32]` (this wrong suggestion also leads to `size_of_ref` warning: https://rust-lang.github.io/rust-clippy/master/index.html#/size_of_ref ) Now I am sending this PR to fix this bug, so that clippy will suggest (some deref added): ```patch - let _ = size_of::<i32>() * ss.len(); + let _ = size_of_val(*ss); ``` As I am not familiar with current clippy code-base, please correct me if I am not doing well or I can do it better :) changelog: [`manual_slice_size_calculation`]: fix a bug when a slice is ref more than once. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |