mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-24 20:48:55 +00:00
60 lines
1.3 KiB
Text
60 lines
1.3 KiB
Text
|
#!/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.
|
||
|
let_unit_value
|
||
|
question_mark
|
||
|
range_plus_one
|
||
|
redundant_pattern_matching
|
||
|
single_match
|
||
|
string_lit_as_bytes
|
||
|
toplevel_ref_arg
|
||
|
unit_arg
|
||
|
unneeded_field_pattern
|
||
|
unused_unit
|
||
|
useless_format
|
||
|
|
||
|
# To be resolved or suppressed locally.
|
||
|
cast_ptr_alignment
|
||
|
|
||
|
# 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::} "$@"
|