Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'Cargo.toml')
| -rw-r--r-- | Cargo.toml | 97 |
1 files changed, 93 insertions, 4 deletions
diff --git a/Cargo.toml b/Cargo.toml index 5f8bd61015..9564aaecca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -105,7 +105,7 @@ dissimilar = "1.0.7" either = "1.9.0" expect-test = "1.4.0" hashbrown = { version = "0.14", features = [ - "inline-more", + "inline-more", ], default-features = false } indexmap = "2.1.0" itertools = "0.12.0" @@ -118,9 +118,9 @@ semver = "1.0.14" serde = { version = "1.0.192", features = ["derive"] } serde_json = "1.0.108" smallvec = { version = "1.10.0", features = [ - "const_new", - "union", - "const_generics", + "const_new", + "union", + "const_generics", ] } smol_str = "0.2.1" text-size = "1.1.1" @@ -138,8 +138,97 @@ xshell = "0.2.5" # We need to freeze the version of the crate, as the raw-api feature is considered unstable dashmap = { version = "=5.5.3", features = ["raw-api"] } +[workspace.lints.rust] +rust_2018_idioms = "warn" +unused_lifetimes = "warn" +semicolon_in_expressions_from_macros = "warn" + [workspace.lints.clippy] +# FIXME Remove the tidy test once the lint table is stable + +## lint groups +complexity = { level = "warn", priority = -1 } +correctness = { level = "deny", priority = -1 } +perf = { level = "deny", priority = -1 } +restriction = { level = "allow", priority = -1 } +style = { level = "warn", priority = -1 } +suspicious = { level = "warn", priority = -1 } + +## allow following lints +# () makes a fine error in most cases +result_unit_err = "allow" +# We don't expose public APIs that matter like this +len_without_is_empty = "allow" +# We currently prefer explicit control flow return over `...?;` statements whose result is unused +question_mark = "allow" +# We have macros that rely on this currently +enum_variant_names = "allow" +# Builder pattern disagrees +new_ret_no_self = "allow" + +## Following lints should be tackled at some point +bind_instead_of_map = "allow" +borrowed_box = "allow" +borrow_deref_ref = "allow" collapsible_if = "allow" +collapsible_match = "allow" +clone_on_copy = "allow" +derivable_impls = "allow" +derived_hash_with_manual_eq = "allow" +double_parens = "allow" +explicit_auto_deref = "allow" +field_reassign_with_default = "allow" +forget_non_drop = "allow" +format_collect = "allow" +for_kv_map = "allow" +filter_map_bool_then = "allow" +from_str_radix_10 = "allow" +get_first = "allow" +if_same_then_else = "allow" +large_enum_variant = "allow" +let_and_return = "allow" +manual_find = "allow" +manual_map = "allow" +map_clone = "allow" +match_like_matches_macro = "allow" +match_single_binding = "allow" +needless_borrow = "allow" +needless_doctest_main = "allow" +needless_lifetimes = "allow" needless_pass_by_value = "allow" +needless_return = "allow" +new_without_default = "allow" nonminimal_bool = "allow" +non_canonical_clone_impl = "allow" +non_canonical_partial_ord_impl = "allow" +non_minimal_cfg = "allow" +only_used_in_recursion = "allow" +op_ref = "allow" +option_map_unit_fn = "allow" +partialeq_to_none = "allow" +ptr_arg = "allow" +redundant_closure = "allow" redundant_pattern_matching = "allow" +search_is_some = "allow" +self_named_constructors = "allow" +single_match = "allow" +skip_while_next = "allow" +too_many_arguments = "allow" +toplevel_ref_arg = "allow" +type_complexity = "allow" +unnecessary_cast = "allow" +unnecessary_filter_map = "allow" +unnecessary_lazy_evaluations = "allow" +unnecessary_mut_passed = "allow" +useless_conversion = "allow" +useless_format = "allow" +wildcard_in_or_patterns = "allow" +wrong_self_convention = "allow" + +## warn at following lints +dbg_macro = "warn" +todo = "warn" +unimplemented = "allow" +rc_buffer = "warn" +# FIXME enable this, we use this pattern a lot so its annoying work ... +# str_to_string = "warn" |