rustcallowed-by-default lints: https://doc.rust-lang.org/rustc/lints/listing/allowed-by-defaultclippylints: https://rust-lang.github.io/rust-clippy/stable/index.html
unsafe_code
#![forbid(unsafe_code)]clippy::exitclippy::future_not_sendclippy::missing_inline_in_public_itemsclippy::must_use_candidateclippy::pattern_type_mismatch
clippy::exhaustive_enums//#[non_exhaustive]clippy::exhaustive_structs//#[non_exhaustive]clippy::must_use_unit//#[must_use]
clippy::cargo_common_metadata
#![forbid(clippy::exit)]
#![deny(clippy::pattern_type_mismatch)]
#![warn(
clippy::future_not_send,
clippy::exhaustive_enums,
clippy::exhaustive_structs,
clippy::must_use_unit,
clippy::missing_inline_in_public_items,
clippy::must_use_candidate,
)]must_not_suspend//#[must_not_suspend]fuzzy_provenance_castslossy_provenance_castsmeta_variable_misusemissing_abimissing_copy_implementationsmissing_debug_implementationsmissing_docsnon_local_definitionsunnameable_typesunreachable_pubunsafe_op_in_unsafe_fnclippy::arithmetic_side_effectsclippy::as_conversionsORclippy::cast_lossless&clippy::cast_possible_truncation&clippy::cast_possible_wrap&clippy::cast_possible_truncation&clippy::cast_precision_loss&clippy::cast_sign_loss&clippy::char_lit_as_u8&clippy::ref_as_ptr&clippy::ptr_as_ptr&clippy::checked_conversions&clippy::borrow_as_ptr&clippy::ref_as_ptrclippy::case_sensitive_file_extension_comparisonsclippy::cfg_not_testclippy::clear_with_drainclippy::clone_on_ref_ptrclippy::cloned_instead_of_copiedclippy::collection_is_never_readclippy::create_dirclippy::debug_assert_with_mut_callclippy::derive_partial_eq_without_eqclippy::error_impl_errorclippy::fallible_impl_fromclippy::filetype_is_fileclippy::filter_map_nextclippy::flat_map_optionclippy::fn_to_numeric_cast_anyclippy::format_push_stringclippy::index_refutable_sliceclippy::indexing_slicingclippy::inefficient_to_stringclippy::infinite_loopclippy::iter_filter_is_okclippy::iter_not_returning_iteratorclippy::iter_on_empty_collectionsclippy::iter_on_single_itemsclippy::iter_with_drainclippy::large_stack_arraysclippy::large_types_passed_by_valueclippy::linkedlistclippy::manual_instant_elapsedclippy::match_on_vec_itemsclippy::match_same_armsclippy::match_wild_err_armclippy::match_wildcard_for_single_variantsclippy::mem_forgetclippy::mismatching_type_param_orderclippy::missing_assert_messageclippy::missing_const_for_fnclippy::missing_docs_in_private_itemsclippy::missing_errors_docclippy::missing_panics_docclippy::mut_mutclippy::mutex_atomicclippy::mutex_integerclippy::needless_collectclippy::needless_pass_by_ref_mutclippy::needless_pass_by_valueclippy::option_as_ref_clonedclippy::option_optionclippy::panicclippy::panic_in_result_fnclippy::path_buf_push_overwriteclippy::pathbuf_init_then_pushclippy::ptr_cast_constnessclippy::rc_bufferclippy::rc_mutexclippy::redundant_pub_crateclippy::shadow_unrelatedclippy::should_panic_without_expectclippy::significant_drop_in_scrutinee&clippy::significant_drop_tightening// read the docsclippy::str_split_at_newlineclippy::str_to_stringclippy::string_addclippy::string_lit_as_bytesclippy::string_lit_chars_anyclippy::string_to_stringclippy::tests_outside_test_moduleclippy::trait_duplication_in_boundsclippy::unchecked_duration_subtractionclippy::unicode_not_nfcclippy::uninhabited_referencesclippy::unnecessary_box_returnsclippy::unnecessary_joinclippy::unused_peekableclippy::unwrap_used&clippy::expect_usedclippy::verbose_file_readsclippy::while_float
unit_bindingsclippy::allow_attributes_without_reasonclippy::assertions_on_result_statesclippy::bool_to_int_with_ifclippy::dbg_macro&clippy::print_stderr&clippy::print_stdout// release-onlyclippy::default_trait_accessclippy::empty_line_after_doc_commentsclippy::enum_glob_useclippy::equatable_if_letclippy::fn_params_excessive_boolsclippy::from_iter_instead_of_collectclippy::if_then_some_else_noneclippy::ignored_unit_patternsclippy::implicit_cloneclippy::items_after_statementsclippy::manual_c_str_literalsclippy::manual_is_variant_andclippy::manual_let_elseclippy::manual_ok_orclippy::manual_string_newclippy::many_single_char_namesclippy::map_err_ignoreclippy::match_boolclippy::module_name_repetitionsclippy::multiple_inherent_implclippy::multiple_unsafe_ops_per_blockclippy::non_ascii_identsORnon_ascii_identsclippy::option_if_let_elseclippy::partial_pub_fieldsclippy::pub_underscore_fieldsclippy::redundant_closure_for_method_callsclippy::ref_patternsclippy::rest_pat_in_fully_bound_structsclippy::return_self_not_must_useclippy::same_name_methodclippy::self_named_module_filesclippy::semicolon_if_nothing_returnedclippy::shadow_sameclippy::single_char_patternclippy::single_match_elseclippy::struct_field_namesclippy::uninlined_format_argsclippy::unreadable_literalclippy::unused_result_okclippy::use_selfclippy::used_underscore_bindingclippy::verbose_bit_mask
unused_crate_dependenciesclippy::negative_feature_namesclippy::redundant_feature_namesclippy::unnecessary_safety_commentclippy::unnecessary_safety_docclippy::wildcard_dependencies
#![cfg_attr(
all(not(test), not(debug_assertions)),
warn(
clippy::dbg_macro,
clippy::print_stderr,
clippy::print_stdout,
clippy::unwrap_used,
clippy::expect_used,
unused_crate_dependencies,
)
)]
#![forbid(
meta_variable_misuse,
non_local_definitions,
unnameable_types,
unreachable_pub,
clippy::cast_lossless,
clippy::cast_possible_truncation,
clippy::cast_possible_wrap,
clippy::cast_possible_truncation,
clippy::cast_precision_loss,
clippy::cast_sign_loss,
clippy::fn_to_numeric_cast_any,
clippy::char_lit_as_u8,
clippy::ref_as_ptr,
clippy::ptr_as_ptr,
clippy::checked_conversions,
clippy::borrow_as_ptr,
clippy::ref_as_ptr,
clippy::clear_with_drain,
clippy::clone_on_ref_ptr,
clippy::debug_assert_with_mut_call,
clippy::error_impl_error,
clippy::fallible_impl_from,
clippy::format_push_string,
clippy::index_refutable_slice,
clippy::indexing_slicing,
clippy::inefficient_to_string,
clippy::iter_not_returning_iterator,
clippy::manual_instant_elapsed,
clippy::match_on_vec_items,
clippy::mut_mut,
clippy::mutex_atomic,
clippy::mutex_integer,
clippy::path_buf_push_overwrite,
clippy::vec_init_then_push,
clippy::ptr_cast_constness,
clippy::rc_mutex,
clippy::shadow_unrelated,
clippy::string_add,
clippy::string_lit_as_bytes,
clippy::string_to_string,
clippy::tests_outside_test_module,
clippy::trait_duplication_in_bounds,
clippy::unchecked_duration_subtraction,
clippy::allow_attributes_without_reason,
non_ascii_idents,
)]
#![deny(
missing_abi,
unsafe_op_in_unsafe_fn,
clippy::cloned_instead_of_copied,
clippy::filetype_is_file,
clippy::flat_map_option,
clippy::large_stack_arrays,
clippy::large_types_passed_by_value,
clippy::match_same_arms,
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::needless_collect,
clippy::option_as_ref_cloned,
clippy::option_option,
clippy::should_panic_without_expect,
clippy::str_split_at_newline,
clippy::str_to_string,
clippy::string_lit_chars_any,
clippy::unicode_not_nfc,
clippy::uninhabited_references,
clippy::verbose_file_reads,
clippy::while_float,
clippy::empty_line_after_doc_comments,
clippy::wildcard_dependencies,
)]
#![warn(
missing_copy_implementations,
missing_debug_implementations,
missing_docs,
clippy::arithmetic_side_effects,
clippy::case_sensitive_file_extension_comparisons,
clippy::collection_is_never_read,
clippy::create_dir,
clippy::derive_partial_eq_without_eq,
clippy::filter_map_next,
clippy::flat_map_option,
clippy::infinite_loop,
clippy::iter_filter_is_ok,
clippy::iter_on_empty_collections,
clippy::iter_with_drain,
clippy::linkedlist,
clippy::match_wild_err_arm,
clippy::match_wildcard_for_single_variants,
clippy::mem_forget,
clippy::mismatching_type_param_order,
clippy::missing_assert_message,
clippy::missing_const_for_fn,
clippy::missing_docs_in_private_items,
clippy::needless_pass_by_ref_mut,
clippy::needless_pass_by_value,
clippy::panic_in_result_fn,
clippy::rc_buffer,
clippy::unnecessary_box_returns,
clippy::unnecessary_join,
clippy::unused_peekable,
unit_bindings,
clippy::assertions_on_result_states,
clippy::bool_to_int_with_if,
clippy::default_trait_access,
clippy::enum_glob_use,
clippy::equatable_if_let,
clippy::fn_params_excessive_bools,
clippy::from_iter_instead_of_collect,
clippy::if_then_some_else_none,
clippy::ignored_unit_patterns,
clippy::implicit_clone,
clippy::items_after_statements,
clippy::manual_c_str_literals,
clippy::manual_is_variant_and,
clippy::manual_let_else,
clippy::manual_ok_or,
clippy::manual_string_new,
clippy::many_single_char_names,
clippy::map_err_ignore,
clippy::match_bool,
clippy::module_name_repetitions,
clippy::multiple_inherent_impl,
clippy::multiple_unsafe_ops_per_block,
clippy::option_if_let_else,
clippy::partial_pub_fields,
clippy::pub_underscore_fields,
clippy::redundant_closure_for_method_calls,
clippy::ref_patterns,
clippy::rest_pat_in_fully_bound_structs,
clippy::return_self_not_must_use,
clippy::same_name_method,
clippy::self_named_module_files,
clippy::semicolon_if_nothing_returned,
clippy::shadow_same,
clippy::single_char_pattern,
clippy::single_match_else,
clippy::struct_field_names,
clippy::uninlined_format_args,
clippy::unreadable_literal,
clippy::use_self,
clippy::used_underscore_binding,
clippy::verbose_bit_mask,
clippy::negative_feature_names,
clippy::redundant_feature_names,
clippy::unnecessary_safety_comment,
clippy::unnecessary_safety_doc,
)]clippy::float_arithmeticclippy::float_cmpclippy::float_cmp_constclippy::imprecise_flopsclippy::suboptimal_flopsclippy::suspicious_xor_used_as_powclippy::while_floatclippy::lossy_float_literalclippy::default_numeric_fallbackclippy::cast_precision_loss
clippy::panicclippy::unwrap_usedclippy::expect_used
clippy::dbg_macroclippy::print_stderrclippy::print_stdout