#!/usr/bin/env 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 # 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::} "$@"