deprecation: None,
module: "assign_ops",
},
+ Lint {
+ name: "await_holding_lock",
+ group: "pedantic",
+ desc: "Inside an async function, holding a MutexGuard while calling await",
+ deprecation: None,
+ module: "await_holding_lock",
+ },
Lint {
name: "bad_bit_mask",
group: "correctness",
deprecation: None,
module: "drop_forget_ref",
},
+ Lint {
+ name: "future_not_send",
+ group: "nursery",
+ desc: "public Futures must be Send",
+ deprecation: None,
+ module: "future_not_send",
+ },
Lint {
name: "get_last_with_len",
group: "complexity",
deprecation: None,
module: "identity_op",
},
+ Lint {
+ name: "if_let_mutex",
+ group: "correctness",
+ desc: "locking a `Mutex` in an `if let` block can cause deadlocks",
+ deprecation: None,
+ module: "if_let_mutex",
+ },
Lint {
name: "if_let_some_result",
group: "style",
deprecation: None,
module: "implicit_return",
},
+ Lint {
+ name: "implicit_saturating_sub",
+ group: "pedantic",
+ desc: "Perform saturating subtraction instead of implicitly checking lower bound of data type",
+ deprecation: None,
+ module: "implicit_saturating_sub",
+ },
Lint {
name: "imprecise_flops",
group: "nursery",
deprecation: None,
module: "main_recursion",
},
+ Lint {
+ name: "manual_async_fn",
+ group: "style",
+ desc: "manual implementations of `async` functions can be simplified using the dedicated syntax",
+ deprecation: None,
+ module: "manual_async_fn",
+ },
Lint {
name: "manual_memcpy",
group: "perf",
deprecation: None,
module: "loops",
},
+ Lint {
+ name: "manual_non_exhaustive",
+ group: "style",
+ desc: "manual implementations of the non-exhaustive pattern can be simplified using #[non_exhaustive]",
+ deprecation: None,
+ module: "manual_non_exhaustive",
+ },
Lint {
name: "manual_saturating_arithmetic",
group: "style",
},
Lint {
name: "match_bool",
- group: "style",
+ group: "pedantic",
desc: "a `match` on a boolean expression instead of an `if..else` block",
deprecation: None,
module: "matches",
},
+ Lint {
+ name: "match_on_vec_items",
+ group: "pedantic",
+ desc: "matching on vector elements can panic",
+ deprecation: None,
+ module: "match_on_vec_items",
+ },
Lint {
name: "match_overlapping_arm",
group: "style",
deprecation: None,
module: "minmax",
},
+ Lint {
+ name: "mismatched_target_os",
+ group: "correctness",
+ desc: "usage of `cfg(operating_system)` instead of `cfg(target_os = \"operating_system\")`",
+ deprecation: None,
+ module: "attrs",
+ },
Lint {
name: "misrefactored_assign_op",
group: "complexity",
module: "methods",
},
Lint {
- name: "reverse_range_loop",
+ name: "reversed_empty_ranges",
group: "correctness",
- desc: "iteration over an empty range, such as `10..0` or `5..5`",
+ desc: "reversing the limits of range expressions, resulting in empty ranges",
deprecation: None,
- module: "loops",
+ module: "ranges",
},
Lint {
name: "same_functions_in_if_condition",
deprecation: None,
module: "literal_representation",
},
+ Lint {
+ name: "unsafe_derive_deserialize",
+ group: "pedantic",
+ desc: "deriving `serde::Deserialize` on a type that has methods using `unsafe`",
+ deprecation: None,
+ module: "derive",
+ },
Lint {
name: "unsafe_removed_from_name",
group: "style",