@@ -802,147 +802,26 @@ unexpected_cfgs = { level = "allow" }
dbg_macro = "deny"
todo = "deny"
-# Motivation: We use `vec![a..b]` a lot when dealing with ranges in text, so-# warning on this rule produces a lot of noise.-single_range_in_vec_init = "allow"--redundant_clone = "warn"-declare_interior_mutable_const = "deny"--# These are all of the rules that currently have violations in the Zed-# codebase.
+# We currently do not restrict any style rules
+# as it slows down shipping code to Zed.
#
-# We'll want to drive this list down by either:-# 1. fixing violations of the rule and begin enforcing it-# 2. deciding we want to allow the rule permanently, at which point-# we should codify that separately above.
+# Running ./script/clippy can take several minutes, and so it's
+# common to skip that step and let CI do it. Any unexpected failures
+# (which also take minutes to discover) thus require switching back
+# to an old branch, manual fixing, and re-pushing.
#
-# This list shouldn't be added to; it should only get shorter.-# =============================================================================--# There are a bunch of rules currently failing in the `style` group, so-# allow all of those, for now.
+# In the future we could improve this by either making sure
+# Zed can surface clippy errors in diagnostics (in addition to the
+# rust-analyzer errors), or by having CI fix style nits automatically.
style = { level = "allow", priority = -1 }
-# Temporary list of style lints that we've fixed so far.-# Progress is being tracked in #36577-blocks_in_conditions = "warn"-bool_assert_comparison = "warn"-borrow_interior_mutable_const = "warn"-box_default = "warn"-builtin_type_shadow = "warn"-bytes_nth = "warn"-chars_next_cmp = "warn"-cmp_null = "warn"-collapsible_else_if = "warn"-collapsible_if = "warn"-comparison_to_empty = "warn"-default_instead_of_iter_empty = "warn"-disallowed_macros = "warn"-disallowed_methods = "warn"-disallowed_names = "warn"-disallowed_types = "warn"-doc_lazy_continuation = "warn"-doc_overindented_list_items = "warn"-duplicate_underscore_argument = "warn"-err_expect = "warn"-fn_to_numeric_cast = "warn"-fn_to_numeric_cast_with_truncation = "warn"-for_kv_map = "warn"-implicit_saturating_add = "warn"-implicit_saturating_sub = "warn"-inconsistent_digit_grouping = "warn"-infallible_destructuring_match = "warn"-inherent_to_string = "warn"-init_numbered_fields = "warn"-into_iter_on_ref = "warn"-io_other_error = "warn"-items_after_test_module = "warn"-iter_cloned_collect = "warn"-iter_next_slice = "warn"-iter_nth = "warn"-iter_nth_zero = "warn"-iter_skip_next = "warn"-just_underscores_and_digits = "warn"-len_zero = "warn"-let_and_return = "warn"-main_recursion = "warn"-manual_bits = "warn"-manual_dangling_ptr = "warn"-manual_is_ascii_check = "warn"-manual_is_finite = "warn"-manual_is_infinite = "warn"-manual_map = "warn"-manual_next_back = "warn"-manual_non_exhaustive = "warn"-manual_ok_or = "warn"-manual_pattern_char_comparison = "warn"-manual_rotate = "warn"-manual_slice_fill = "warn"-manual_while_let_some = "warn"-map_clone = "warn"-map_collect_result_unit = "warn"-match_like_matches_macro = "warn"-match_overlapping_arm = "warn"-mem_replace_option_with_none = "warn"-mem_replace_option_with_some = "warn"-missing_enforced_import_renames = "warn"-missing_safety_doc = "warn"-mixed_attributes_style = "warn"-mixed_case_hex_literals = "warn"-module_inception = "warn"-must_use_unit = "warn"-mut_mutex_lock = "warn"-needless_borrow = "warn"-needless_doctest_main = "warn"-needless_else = "warn"-needless_parens_on_range_literals = "warn"-needless_pub_self = "warn"-needless_return = "warn"-needless_return_with_question_mark = "warn"-non_minimal_cfg = "warn"-ok_expect = "warn"-owned_cow = "warn"-print_literal = "warn"-print_with_newline = "warn"-println_empty_string = "warn"-ptr_eq = "warn"-question_mark = "warn"-redundant_closure = "warn"-redundant_field_names = "warn"-redundant_pattern_matching = "warn"-redundant_static_lifetimes = "warn"-result_map_or_into_option = "warn"-self_named_constructors = "warn"-single_match = "warn"-tabs_in_doc_comments = "warn"-to_digit_is_some = "warn"-toplevel_ref_arg = "warn"-unnecessary_fold = "warn"-unnecessary_map_or = "warn"-unnecessary_mut_passed = "warn"-unnecessary_owned_empty_strings = "warn"-unneeded_struct_pattern = "warn"-unsafe_removed_from_name = "warn"-unused_unit = "warn"-unusual_byte_groupings = "warn"-while_let_on_iterator = "warn"-write_literal = "warn"-write_with_newline = "warn"-writeln_empty_string = "warn"-wrong_self_convention = "warn"-zero_ptr = "warn"-
# Individual rules that have violations in the codebase:
type_complexity = "allow"
-# We often return trait objects from `new` functions.-new_ret_no_self = { level = "allow" }-# We have a few `next` functions that differ in lifetimes-# compared to Iterator::next. Yet, clippy complains about those.-should_implement_trait = { level = "allow" }
let_underscore_future = "allow"
-# It doesn't make sense to implement `Default` unilaterally.-new_without_default = "allow"
+
+# Motivation: We use `vec![a..b]` a lot when dealing with ranges in text, so
+# warning on this rule produces a lot of noise.
+single_range_in_vec_init = "allow"
# in Rust it can be very tedious to reduce argument count without
# running afoul of the borrow checker.
@@ -951,10 +830,6 @@ too_many_arguments = "allow"
# We often have large enum variants yet we rarely actually bother with splitting them up.
large_enum_variant = "allow"
-# `enum_variant_names` fires for all enums, even when they derive serde traits.-# Adhering to this lint would be a breaking change.-enum_variant_names = "allow"-
[workspace.metadata.cargo-machete]
ignored = [
"bindgen",