Skip to content

Commit

Permalink
refactor: lint
Browse files Browse the repository at this point in the history
  • Loading branch information
ivan-aksamentov committed Mar 26, 2022
1 parent e43ee20 commit 50452df
Show file tree
Hide file tree
Showing 25 changed files with 452 additions and 405 deletions.
261 changes: 180 additions & 81 deletions docker-dev
Original file line number Diff line number Diff line change
Expand Up @@ -49,75 +49,174 @@ export COLORBT_SHOW_HIDDEN="0"
export RUST_LOG="warn"
export CARGO_BUILD_TARGET_DIR="${BUILD_DIR_REL}"

export LINT_NORMAL="\
-Wfuture_incompatible \
-Wnonstandard_style \
-Wrust_2018_idioms \
-Wtrivial_numeric_casts \
\
-Wclippy::all \
\
-Wclippy::await_holding_lock \
-Wclippy::char_lit_as_u8 \
-Wclippy::checked_conversions \
-Wclippy::dbg_macro \
-Wclippy::debug_assert_with_mut_call \
-Wclippy::disallowed_script_idents \
-Wclippy::doc_markdown \
-Wclippy::empty_enum \
-Wclippy::enum_glob_use \
-Wclippy::equatable_if_let \
-Wclippy::exit \
-Wclippy::expl_impl_clone_on_copy \
-Wclippy::explicit_deref_methods \
-Wclippy::explicit_into_iter_loop \
-Wclippy::fallible_impl_from \
-Wclippy::filter_map_next \
-Wclippy::flat_map_option \
-Wclippy::float_cmp_const \
-Wclippy::fn_params_excessive_bools \
-Wclippy::fn_to_numeric_cast_any \
-Wclippy::from_iter_instead_of_collect \
-Wclippy::if_let_mutex \
-Wclippy::implicit_clone \
-Wclippy::imprecise_flops \
-Wclippy::index_refutable_slice \
-Wclippy::inefficient_to_string \
-Wclippy::invalid_upcast_comparisons \
-Wclippy::iter_not_returning_iterator \
-Wclippy::large_digit_groups \
-Wclippy::large_stack_arrays \
-Wclippy::large_types_passed_by_value \
-Wclippy::let_unit_value \
-Wclippy::linkedlist \
-Wclippy::lossy_float_literal \
-Wclippy::macro_use_imports \
-Wclippy::manual_ok_or \
-Wclippy::map_err_ignore \
-Wclippy::map_flatten \
-Wclippy::map_unwrap_or \
-Wclippy::match_on_vec_items \
-Wclippy::match_same_arms \
-Wclippy::match_wild_err_arm \
-Wclippy::match_wildcard_for_single_variants \
-Wclippy::mem_forget \
-Wclippy::mismatched_target_os \
-Wclippy::missing_enforced_import_renames \
-Wclippy::mut_mut \
-Wclippy::mutex_integer \
-Wclippy::needless_continue \
-Wclippy::needless_for_each \
-Wclippy::negative_feature_names \
-Wclippy::nonstandard_macro_braces \
-Wclippy::option_option \
-Wclippy::path_buf_push_overwrite \
-Wclippy::ptr_as_ptr \
-Wclippy::rc_mutex \
-Wclippy::ref_option_ref \
-Wclippy::rest_pat_in_fully_bound_structs \
-Wclippy::same_functions_in_if_condition \
-Wclippy::semicolon_if_nothing_returned \
-Wclippy::single_match_else \
-Wclippy::string_add \
-Wclippy::string_add_assign \
-Wclippy::string_lit_as_bytes \
-Wclippy::string_to_string \
-Wclippy::todo \
-Wclippy::trailing_empty_array \
-Wclippy::trait_duplication_in_bounds \
-Wclippy::unimplemented \
-Wclippy::unnecessary_wraps \
-Wclippy::unnested_or_patterns \
-Wclippy::useless_transmute \
-Wclippy::verbose_file_reads \
-Wclippy::zero_sized_map_values \
"

export LINT_EXTRA="\
${LINT_NORMAL} \
-Wclippy::pedantic \
"

export LINT_CRAZY="\
${LINT_EXTRA} \
-Wclippy::restriction \
-Wclippy::nursery \
"

export LINT_ALLOW_NOW_BUT_FIX_THESE_LATER=" \
-A clippy::cognitive-complexity \
-A clippy::else-if-without-else \
-A clippy::expect-used \
-A clippy::missing-const-for-fn \
-A clippy::panic \
-A clippy::panic-in-result-fn \
-A clippy::suboptimal_flops \
-A clippy::too_many_arguments \
-A clippy::unsafe-derive-deserialize \
-A clippy::unwrap-in-result \
-A clippy::unwrap-used \
-A clippy::useless-transmute \
-Aclippy::cognitive-complexity \
-Aclippy::else-if-without-else \
-Aclippy::expect-used \
-Aclippy::missing-const-for-fn \
-Aclippy::panic \
-Aclippy::panic-in-result-fn \
-Aclippy::suboptimal_flops \
-Aclippy::too_many_arguments \
-Aclippy::unsafe-derive-deserialize \
-Aclippy::unwrap-in-result \
-Aclippy::unwrap-used \
-Aclippy::useless-transmute \
"

export LINT_ALLOW=" \
${LINT_ALLOW_NOW_BUT_FIX_THESE_LATER} \
-A clippy::as-conversions \
-A clippy::cast-lossless \
-A clippy::cast-possible-truncation \
-A clippy::cast-possible-wrap \
-A clippy::cast-precision-loss \
-A clippy::cast-sign-loss \
-A clippy::default-numeric-fallback \
-A clippy::doc-markdown \
-A clippy::exhaustive-enums \
-A clippy::exhaustive-structs \
-A clippy::float-arithmetic \
-A clippy::if-not-else \
-A clippy::implicit-hasher \
-A clippy::implicit-return \
-A clippy::inconsistent_digit_grouping \
-A clippy::indexing-slicing \
-A clippy::integer-arithmetic \
-A clippy::integer-division \
-A clippy::large_digit_groups \
-A clippy::let-underscore-must-use \
-A clippy::match-same-arms \
-A clippy::missing-docs-in-private-items \
-A clippy::missing-errors-doc \
-A clippy::missing-panics-doc \
-A clippy::missing_inline_in_public_items \
-A clippy::mod-module-files \
-A clippy::module-name-repetitions \
-A clippy::module_inception \
-A clippy::must-use-candidate \
-A clippy::new_without_default \
-A clippy::non-ascii-literal \
-A clippy::option-if-let-else \
-A clippy::pattern-type-mismatch \
-A clippy::print-stderr \
-A clippy::print-stdout \
-A clippy::separated-literal-suffix \
-A clippy::shadow-reuse \
-A clippy::shadow-same \
-A clippy::shadow-unrelated \
-A clippy::should_implement_trait \
-A clippy::similar-names \
-A clippy::too-many-lines \
-A clippy::unnecessary-wraps \
-A clippy::unreachable \
-A clippy::unreadable-literal \
-A clippy::unused-self \
-A clippy::unused-unit \
-A clippy::use-debug \
-A clippy::use-self \
-A clippy::wildcard-enum-match-arm \
-Aclippy::as-conversions \
-Aclippy::cast-lossless \
-Aclippy::cast-possible-truncation \
-Aclippy::cast-possible-wrap \
-Aclippy::cast-precision-loss \
-Aclippy::cast-sign-loss \
-Aclippy::default-numeric-fallback \
-Aclippy::doc-markdown \
-Aclippy::exhaustive-enums \
-Aclippy::exhaustive-structs \
-Aclippy::float-arithmetic \
-Aclippy::if-not-else \
-Aclippy::implicit-hasher \
-Aclippy::implicit-return \
-Aclippy::inconsistent_digit_grouping \
-Aclippy::indexing-slicing \
-Aclippy::integer-arithmetic \
-Aclippy::integer-division \
-Aclippy::iter_nth_zero \
-Aclippy::large_digit_groups \
-Aclippy::let-underscore-must-use \
-Aclippy::match-same-arms \
-Aclippy::missing-docs-in-private-items \
-Aclippy::missing-errors-doc \
-Aclippy::missing-panics-doc \
-Aclippy::missing_inline_in_public_items \
-Aclippy::mod-module-files \
-Aclippy::module-name-repetitions \
-Aclippy::module_inception \
-Aclippy::must-use-candidate \
-Aclippy::new_without_default \
-Aclippy::non-ascii-literal \
-Aclippy::option-if-let-else \
-Aclippy::pattern-type-mismatch \
-Aclippy::print-stderr \
-Aclippy::print-stdout \
-Aclippy::separated-literal-suffix \
-Aclippy::shadow-reuse \
-Aclippy::shadow-same \
-Aclippy::shadow-unrelated \
-Aclippy::should_implement_trait \
-Aclippy::similar-names \
-Aclippy::too-many-lines \
-Aclippy::unnecessary-wraps \
-Aclippy::unreachable \
-Aclippy::unreadable-literal \
-Aclippy::unused-self \
-Aclippy::unused-unit \
-Aclippy::use-debug \
-Aclippy::use-self \
-Aclippy::wildcard-enum-match-arm \
"

export LINT_FIX="--fix --allow-staged"


export EXTENSIONS_TO_WATCH="rs,toml,lock"

export FILES_TO_WATCH="\
Expand Down Expand Up @@ -226,75 +325,75 @@ case "$1" in
;;
"lint" | "l")
shift
LINT=" "
LINT="${LINT_NORMAL}"
WATCH=0
FIX=
;;
"watch-lint" | "wl")
shift
LINT=" "
LINT="${LINT_NORMAL}"
WATCH=1
FIX=
;;
"lint-extra" | "le")
shift
LINT="-W clippy::all -W clippy::pedantic"
LINT="${LINT_EXTRA}"
WATCH=0
FIX=
;;
"watch-lint-extra" | "wle")
shift
LINT="-W clippy::all -W clippy::pedantic"
LINT="${LINT_EXTRA}"
WATCH=1
FIX=
;;
"lint-crazy" | "lc")
shift
LINT="-W clippy::all -W clippy::pedantic -W clippy::restriction -W clippy::nursery"
LINT="${LINT_CRAZY}"
WATCH=0
FIX=
;;
"watch-lint-crazy" | "wlc")
shift
LINT="-W clippy::all -W clippy::pedantic -W clippy::restriction -W clippy::nursery"
LINT="${LINT_CRAZY}"
WATCH=1
FIX=
;;
"lint-fix" | "lf")
shift
LINT=" "
LINT="${LINT_NORMAL}"
WATCH=0
FIX="--fix --allow-staged"
FIX="${LINT_FIX}"
;;
"watch-lint-fix" | "wlf")
shift
LINT=" "
LINT="${LINT_NORMAL}"
WATCH=1
FIX="--fix --allow-staged"
FIX="${LINT_FIX}"
;;
"lint-extra-fix" | "lef")
shift
LINT="-W clippy::all -W clippy::pedantic"
LINT="${LINT_EXTRA}"
WATCH=0
FIX="--fix --allow-staged"
FIX="${LINT_FIX}"
;;
"watch-lint-extra-fix" | "wlef")
shift
LINT="-W clippy::all -W clippy::pedantic"
LINT="${LINT_EXTRA}"
WATCH=1
FIX="--fix --allow-staged"
FIX="${LINT_FIX}"
;;
"lint-crazy-fix" | "lcf")
shift
LINT="-W clippy::all -W clippy::pedantic -W clippy::restriction -W clippy::nursery"
LINT="${LINT_CRAZY}"
WATCH=0
FIX="--fix --allow-staged"
FIX="${LINT_FIX}"
;;
"watch-lint-crazy-fix" | "wlcf")
shift
LINT="-W clippy::all -W clippy::pedantic -W clippy::restriction -W clippy::nursery"
LINT="${LINT_CRAZY}"
WATCH=1
FIX="--fix --allow-staged"
FIX="${LINT_FIX}"
;;
"exec" | "e")
shift
Expand Down Expand Up @@ -358,7 +457,7 @@ elif [ "${TEST}" == "1" ]; then
PRETTY_TEST="( grep --color=always --line-buffered -vP \"running.*tests|\x1b\[32m.\x1b\(B\x1b\[m|^$|test result|TEST START\" || true )"
COMMAND="cargo test --color=always -q --target-dir='${BUILD_DIR_REL}' ${RUST_TARGET} ${@:-} -- --nocapture --color=always | ${PRETTY_TEST} ${SUCCESS_OR_FAILURE}"
elif [ ! -z "${LINT}" ]; then
COMMAND="cargo clippy --exclude=3rdparty -q --target-dir=\"${BUILD_DIR_REL}\" --all ${FIX:-} -- ${LINT:-} ${LINT_ALLOW}"
COMMAND="cargo clippy --exclude=3rdparty -q --target-dir=\"${BUILD_DIR_REL}\" --all ${FIX:-} -- ${LINT} ${LINT_ALLOW}"
else
COMMAND="${NICE} ${TIME} ${COMMAND}"
fi
Expand Down
2 changes: 1 addition & 1 deletion packages_rs/nextclade-web/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use nextclade::analyze::analyze::{AnalysisInput, AnalysisResult, Nextclade, Next
use nextclade::utils::error::report_to_string;

#[global_allocator]
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
static ALLOC: wee_alloc::WeeAlloc<'_> = wee_alloc::WeeAlloc::INIT;

#[wasm_bindgen]
pub struct NextcladeWasm {
Expand Down
Loading

0 comments on commit 50452df

Please sign in to comment.