Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml97
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"