deny = [ # Prevent spelling mistakes in lints 'unknown_lints', # clippy groups: 'clippy::correctness', # All clippy allows must have a reason # TODO: enable lint-reasons feature #'clippy::allow_attributes_without_reason', # Docs #'missing_docs', #'clippy::missing_errors_doc', #'clippy::missing_safety_doc', #'clippy::missing_panics_doc', # Common mistakes 'clippy::await_holding_lock', 'unused_variables', 'unused_imports', 'dead_code', 'unused_extern_crates', 'unused_must_use', 'unreachable_patterns', 'clippy::cloned_instead_of_copied', 'clippy::create_dir', 'clippy::dbg_macro', 'clippy::else_if_without_else', 'clippy::enum_glob_use', # This is 99% not needed 'clippy::inline_always', 'let_underscore_drop', 'clippy::let_unit_value', 'clippy::match_on_vec_items', 'clippy::match_wild_err_arm', 'clippy::similar_names', 'clippy::needless_borrow', # style 'clippy::explicit_into_iter_loop', 'clippy::explicit_iter_loop', 'clippy::if_not_else', 'clippy::match_bool', 'clippy::needless_pass_by_value', 'clippy::range_plus_one', 'clippy::struct_excessive_bools', # perhaps this is a bit harsh 'clippy::too_many_lines', 'clippy::trivially_copy_pass_by_ref', # casting mistakes 'clippy::cast_lossless', 'clippy::cast_possible_truncation', 'clippy::cast_possible_wrap', 'clippy::cast_precision-loss', # This is tricky because sqlite uses signed ints and it's used to represent unsigned data 'clippy::cast_sign_loss' ] allow = [ # allow Default::default calls 'clippy::default_trait_access', # Generally when developers fix this, it can lead to leaky abstractions or worse, so # too many arguments is generally the lesser of two evils 'clippy::too_many_arguments', # we get this inside of the macro, which we cannot ignore there 'clippy::bad_bit_mask' ]