| #!/bin/bash |
| |
| # Copyright 2019 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # 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 |
| unit_arg |
| |
| # We don't care about these lints. Okay to remain suppressed globally. |
| blacklisted_name |
| cast_lossless |
| cognitive_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::} "$@" |