|
|
|
# https://github.com/ericseppanen/cargo-cranky
|
|
|
|
# cargo install cargo-cranky && cargo cranky
|
|
|
|
# See also clippy.toml
|
|
|
|
|
|
|
|
deny = ["unsafe_code"]
|
|
|
|
|
|
|
|
warn = [
|
|
|
|
"clippy::all",
|
|
|
|
"clippy::as_ptr_cast_mut",
|
|
|
|
"clippy::await_holding_lock",
|
|
|
|
"clippy::bool_to_int_with_if",
|
|
|
|
"clippy::branches_sharing_code",
|
|
|
|
"clippy::char_lit_as_u8",
|
|
|
|
"clippy::checked_conversions",
|
|
|
|
"clippy::clear_with_drain",
|
|
|
|
"clippy::cloned_instead_of_copied",
|
|
|
|
"clippy::dbg_macro",
|
|
|
|
"clippy::debug_assert_with_mut_call",
|
|
|
|
"clippy::default_union_representation",
|
|
|
|
"clippy::derive_partial_eq_without_eq",
|
|
|
|
"clippy::disallowed_macros", # See clippy.toml
|
|
|
|
"clippy::disallowed_methods", # See clippy.toml
|
|
|
|
"clippy::disallowed_names", # See clippy.toml
|
|
|
|
"clippy::disallowed_script_idents", # See clippy.toml
|
|
|
|
"clippy::disallowed_types", # See clippy.toml
|
|
|
|
"clippy::doc_link_with_quotes",
|
|
|
|
"clippy::doc_markdown",
|
|
|
|
"clippy::empty_enum",
|
|
|
|
"clippy::empty_line_after_outer_attr",
|
|
|
|
"clippy::enum_glob_use",
|
|
|
|
"clippy::equatable_if_let",
|
|
|
|
"clippy::exit",
|
|
|
|
"clippy::expl_impl_clone_on_copy",
|
|
|
|
"clippy::explicit_deref_methods",
|
|
|
|
"clippy::explicit_into_iter_loop",
|
|
|
|
"clippy::explicit_iter_loop",
|
|
|
|
"clippy::fallible_impl_from",
|
|
|
|
"clippy::filter_map_next",
|
|
|
|
"clippy::flat_map_option",
|
|
|
|
"clippy::float_cmp_const",
|
|
|
|
"clippy::fn_params_excessive_bools",
|
|
|
|
"clippy::fn_to_numeric_cast_any",
|
|
|
|
"clippy::from_iter_instead_of_collect",
|
|
|
|
"clippy::get_unwrap",
|
|
|
|
"clippy::if_let_mutex",
|
|
|
|
"clippy::implicit_clone",
|
|
|
|
"clippy::imprecise_flops",
|
|
|
|
"clippy::index_refutable_slice",
|
|
|
|
"clippy::inefficient_to_string",
|
|
|
|
"clippy::invalid_upcast_comparisons",
|
|
|
|
"clippy::iter_not_returning_iterator",
|
|
|
|
"clippy::iter_on_empty_collections",
|
|
|
|
"clippy::iter_on_single_items",
|
|
|
|
"clippy::large_digit_groups",
|
|
|
|
"clippy::large_include_file",
|
|
|
|
"clippy::large_stack_arrays",
|
|
|
|
"clippy::large_stack_frames",
|
|
|
|
"clippy::large_types_passed_by_value",
|
|
|
|
"clippy::let_unit_value",
|
|
|
|
"clippy::linkedlist",
|
|
|
|
"clippy::lossy_float_literal",
|
|
|
|
"clippy::macro_use_imports",
|
|
|
|
"clippy::manual_assert",
|
|
|
|
"clippy::manual_clamp",
|
|
|
|
"clippy::manual_instant_elapsed",
|
|
|
|
"clippy::manual_let_else",
|
|
|
|
"clippy::manual_ok_or",
|
|
|
|
"clippy::manual_string_new",
|
|
|
|
"clippy::map_err_ignore",
|
|
|
|
"clippy::map_flatten",
|
|
|
|
"clippy::map_unwrap_or",
|
|
|
|
"clippy::match_on_vec_items",
|
|
|
|
"clippy::match_same_arms",
|
|
|
|
"clippy::match_wild_err_arm",
|
|
|
|
"clippy::match_wildcard_for_single_variants",
|
|
|
|
"clippy::mem_forget",
|
|
|
|
"clippy::mismatched_target_os",
|
|
|
|
"clippy::mismatching_type_param_order",
|
|
|
|
"clippy::missing_enforced_import_renames",
|
|
|
|
"clippy::missing_errors_doc",
|
|
|
|
"clippy::missing_safety_doc",
|
|
|
|
"clippy::mut_mut",
|
|
|
|
"clippy::mutex_integer",
|
|
|
|
"clippy::needless_borrow",
|
|
|
|
"clippy::needless_continue",
|
|
|
|
"clippy::needless_for_each",
|
|
|
|
"clippy::needless_pass_by_value",
|
|
|
|
"clippy::negative_feature_names",
|
|
|
|
"clippy::nonstandard_macro_braces",
|
|
|
|
"clippy::option_option",
|
|
|
|
"clippy::path_buf_push_overwrite",
|
|
|
|
"clippy::print_stdout",
|
|
|
|
"clippy::ptr_as_ptr",
|
|
|
|
"clippy::ptr_cast_constness",
|
|
|
|
"clippy::pub_without_shorthand",
|
|
|
|
"clippy::rc_mutex",
|
|
|
|
"clippy::redundant_type_annotations",
|
|
|
|
"clippy::ref_option_ref",
|
|
|
|
"clippy::rest_pat_in_fully_bound_structs",
|
|
|
|
"clippy::same_functions_in_if_condition",
|
|
|
|
"clippy::semicolon_if_nothing_returned",
|
|
|
|
"clippy::significant_drop_tightening",
|
|
|
|
"clippy::single_match_else",
|
|
|
|
"clippy::str_to_string",
|
|
|
|
"clippy::string_add_assign",
|
|
|
|
"clippy::string_add",
|
|
|
|
"clippy::string_lit_as_bytes",
|
|
|
|
"clippy::string_to_string",
|
|
|
|
"clippy::suspicious_command_arg_space",
|
|
|
|
"clippy::suspicious_xor_used_as_pow",
|
|
|
|
"clippy::todo",
|
|
|
|
"clippy::trailing_empty_array",
|
|
|
|
"clippy::trait_duplication_in_bounds",
|
|
|
|
"clippy::transmute_ptr_to_ptr",
|
|
|
|
"clippy::tuple_array_conversions",
|
|
|
|
"clippy::unchecked_duration_subtraction",
|
|
|
|
"clippy::undocumented_unsafe_blocks",
|
|
|
|
"clippy::unimplemented",
|
|
|
|
"clippy::uninlined_format_args",
|
|
|
|
"clippy::unnecessary_box_returns",
|
|
|
|
"clippy::unnecessary_safety_comment",
|
|
|
|
"clippy::unnecessary_safety_doc",
|
|
|
|
"clippy::unnecessary_self_imports",
|
|
|
|
"clippy::unnecessary_struct_initialization",
|
|
|
|
"clippy::unnecessary_wraps",
|
|
|
|
"clippy::unnested_or_patterns",
|
|
|
|
"clippy::unused_peekable",
|
|
|
|
"clippy::unused_rounding",
|
|
|
|
"clippy::unused_self",
|
|
|
|
"clippy::use_self",
|
|
|
|
"clippy::useless_transmute",
|
|
|
|
"clippy::verbose_file_reads",
|
|
|
|
"clippy::wildcard_dependencies",
|
|
|
|
"clippy::wildcard_imports",
|
|
|
|
"clippy::zero_sized_map_values",
|
|
|
|
"elided_lifetimes_in_paths",
|
|
|
|
"future_incompatible",
|
|
|
|
"nonstandard_style",
|
|
|
|
"rust_2018_idioms",
|
|
|
|
"rust_2021_prelude_collisions",
|
|
|
|
"rustdoc::missing_crate_level_docs",
|
|
|
|
"semicolon_in_expressions_from_macros",
|
|
|
|
"trivial_numeric_casts",
|
|
|
|
"unsafe_op_in_unsafe_fn", # `unsafe_op_in_unsafe_fn` may become the default in future Rust versions: https://github.com/rust-lang/rust/issues/71668
|
|
|
|
"unused_extern_crates",
|
|
|
|
"unused_import_braces",
|
|
|
|
"unused_lifetimes",
|
|
|
|
|
|
|
|
|
|
|
|
# Enable when we update MSRV:
|
|
|
|
# "clippy::implied_bounds_in_impls",
|
|
|
|
# "clippy::needless_pass_by_ref_mut",
|
|
|
|
# "clippy::readonly_write_lock",
|
|
|
|
# "clippy::should_panic_without_expect",
|
|
|
|
# "clippy::string_lit_chars_any",
|
|
|
|
]
|
|
|
|
|
|
|
|
allow = [
|
|
|
|
"clippy::manual_range_contains", # this one is just worse imho
|
|
|
|
"clippy::significant_drop_tightening", # A lot of false positives
|
|
|
|
|
|
|
|
# TODO(emilk): enable more of these lints:
|
|
|
|
"clippy::cloned_instead_of_copied",
|
|
|
|
"clippy::let_underscore_untyped",
|
|
|
|
"clippy::missing_assert_message",
|
|
|
|
"clippy::missing_errors_doc",
|
|
|
|
"clippy::print_stderr", # TODO(emilk): use `log` crate instead
|
|
|
|
"clippy::self_named_module_files", # False positives
|
|
|
|
"clippy::too_many_lines",
|
|
|
|
"clippy::undocumented_unsafe_blocks",
|
|
|
|
"clippy::unwrap_used",
|
|
|
|
"clippy::useless_let_if_seq", # False positives
|
|
|
|
"clippy::wildcard_imports", # We do this a lot
|
|
|
|
"trivial_casts",
|
|
|
|
"unused_qualifications",
|
|
|
|
]
|