mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-24 20:48:55 +00:00
clippy: Add script to run Clippy on crosvm
The script suppresses all currently failing lints. I broke this down into lints that I believe are worth addressing and lints that I wouldn't mind keeping suppressed indefinitely. TEST=bin/clippy Change-Id: I967f3292ce2f790907619e87fe9f5a23bfef4cf4 Reviewed-on: https://chromium-review.googlesource.com/1566652 Commit-Ready: David Tolnay <dtolnay@chromium.org> Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: David Tolnay <dtolnay@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: David Tolnay <dtolnay@chromium.org>
This commit is contained in:
parent
aecf9a4dee
commit
39acbdd53d
1 changed files with 75 additions and 0 deletions
75
bin/clippy
Executable file
75
bin/clippy
Executable file
|
@ -0,0 +1,75 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Run `cargo clippy` on all Rust code in crosvm with a mindful set of lints
|
||||
# suppressed.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Change into directory of script, which is crosvm/bin.
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
# Jump up to root directory of crosvm repo.
|
||||
cd ..
|
||||
|
||||
SUPPRESS=(
|
||||
# To be resolved.
|
||||
assign_op_pattern
|
||||
block_in_if_condition_stmt
|
||||
clone_on_copy
|
||||
collapsible_if
|
||||
const_static_lifetime
|
||||
extra_unused_lifetimes
|
||||
into_iter_on_array
|
||||
let_and_return
|
||||
let_unit_value
|
||||
match_ref_pats
|
||||
needless_return
|
||||
option_map_unit_fn
|
||||
question_mark
|
||||
range_plus_one
|
||||
redundant_closure
|
||||
redundant_pattern_matching
|
||||
single_match
|
||||
string_lit_as_bytes
|
||||
toplevel_ref_arg
|
||||
unit_arg
|
||||
unneeded_field_pattern
|
||||
unused_unit
|
||||
useless_format
|
||||
while_let_loop
|
||||
|
||||
# To be resolved or suppressed locally.
|
||||
absurd_extreme_comparisons
|
||||
cast_ptr_alignment
|
||||
if_same_then_else
|
||||
ptr_arg
|
||||
|
||||
# We don't care about these lints. Okay to remain suppressed globally.
|
||||
blacklisted_name
|
||||
cast_lossless
|
||||
cyclomatic_complexity
|
||||
enum_variant_names
|
||||
identity_op
|
||||
len_without_is_empty
|
||||
len_zero
|
||||
match_bool
|
||||
match_wild_err_arm
|
||||
module_inception
|
||||
needless_bool
|
||||
new_without_default
|
||||
or_fun_call
|
||||
should_implement_trait
|
||||
single_char_pattern
|
||||
too_many_arguments
|
||||
transmute_ptr_to_ptr
|
||||
trivially_copy_pass_by_ref
|
||||
type_complexity
|
||||
unreadable_literal
|
||||
useless_let_if_seq
|
||||
useless_transmute
|
||||
)
|
||||
|
||||
# Needed or else clippy won't re-run on code that has already compiled.
|
||||
cargo clean
|
||||
|
||||
cargo clippy --all-features -- ${SUPPRESS[@]/#/-Aclippy::} "$@"
|
Loading…
Reference in a new issue