deprecation: None,
module: "bit_mask",
},
+ Lint {
+ name: "bind_instead_of_map",
+ group: "complexity",
+ desc: "using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`",
+ deprecation: None,
+ module: "methods",
+ },
Lint {
name: "blacklisted_name",
group: "style",
deprecation: None,
module: "blacklisted_name",
},
+ Lint {
+ name: "blanket_clippy_restriction_lints",
+ group: "style",
+ desc: "enabling the complete restriction group",
+ deprecation: None,
+ module: "attrs",
+ },
Lint {
name: "blocks_in_if_conditions",
group: "style",
},
Lint {
name: "cast_ptr_alignment",
- group: "correctness",
+ group: "pedantic",
desc: "cast from a pointer to a more-strictly-aligned pointer",
deprecation: None,
module: "types",
deprecation: None,
module: "loops",
},
+ Lint {
+ name: "iter_next_slice",
+ group: "style",
+ desc: "using `.iter().next()` on a sliced array, which can be shortened to just `.get()`",
+ deprecation: None,
+ module: "methods",
+ },
Lint {
name: "iter_nth",
group: "perf",
group: "style",
desc: "creating a let-binding and then immediately returning it like `let x = expr; x` at the end of a block",
deprecation: None,
- module: "returns",
+ module: "let_and_return",
},
Lint {
name: "let_underscore_lock",
deprecation: None,
module: "methods",
},
+ Lint {
+ name: "map_identity",
+ group: "complexity",
+ desc: "using iterator.map(|x| x)",
+ deprecation: None,
+ module: "map_identity",
+ },
Lint {
name: "map_unwrap_or",
group: "pedantic",
deprecation: None,
module: "matches",
},
+ Lint {
+ name: "match_like_matches_macro",
+ group: "style",
+ desc: "a match that could be written with the matches! macro",
+ deprecation: None,
+ module: "matches",
+ },
Lint {
name: "match_on_vec_items",
group: "pedantic",
},
Lint {
name: "match_wild_err_arm",
- group: "style",
+ group: "pedantic",
desc: "a `match` with `Err(_)` arm and take drastic actions",
deprecation: None,
module: "matches",
},
+ Lint {
+ name: "match_wildcard_for_single_variants",
+ group: "pedantic",
+ desc: "a wildcard enum match for a single variant",
+ deprecation: None,
+ module: "matches",
+ },
Lint {
name: "maybe_infinite_iter",
group: "pedantic",
deprecation: None,
module: "eq_op",
},
- Lint {
- name: "option_and_then_some",
- group: "complexity",
- desc: "using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`",
- deprecation: None,
- module: "methods",
- },
Lint {
name: "option_as_ref_deref",
group: "complexity",
deprecation: None,
module: "option_env_unwrap",
},
+ Lint {
+ name: "option_if_let_else",
+ group: "pedantic",
+ desc: "reimplementation of Option::map_or",
+ deprecation: None,
+ module: "option_if_let_else",
+ },
Lint {
name: "option_map_or_none",
group: "style",
deprecation: None,
module: "path_buf_push_overwrite",
},
+ Lint {
+ name: "pattern_type_mismatch",
+ group: "restriction",
+ desc: "type of pattern does not match the expression type",
+ deprecation: None,
+ module: "pattern_type_mismatch",
+ },
Lint {
name: "possible_missing_comma",
group: "correctness",
Lint {
name: "pub_enum_variant_names",
group: "pedantic",
- desc: "enums where all variants share a prefix/postfix",
+ desc: "public enums where all variants share a prefix/postfix",
deprecation: None,
module: "enum_variants",
},
},
Lint {
name: "range_minus_one",
- group: "complexity",
+ group: "pedantic",
desc: "`x..=(y-1)` reads better as `x..y`",
deprecation: None,
module: "ranges",
group: "style",
desc: "use the proper utility function avoiding an `if let`",
deprecation: None,
- module: "redundant_pattern_matching",
+ module: "matches",
},
Lint {
name: "redundant_pub_crate",
deprecation: None,
module: "reference",
},
- Lint {
- name: "regex_macro",
- group: "style",
- desc: "use of `regex!(_)` instead of `Regex::new(_)`",
- deprecation: None,
- module: "regex",
- },
Lint {
name: "rest_pat_in_fully_bound_structs",
group: "restriction",
deprecation: None,
module: "no_effect",
},
+ Lint {
+ name: "unnecessary_sort_by",
+ group: "complexity",
+ desc: "Use of `Vec::sort_by` when `Vec::sort_by_key` or `Vec::sort` would be clearer",
+ deprecation: None,
+ module: "unnecessary_sort_by",
+ },
Lint {
name: "unnecessary_unwrap",
group: "complexity",
deprecation: None,
module: "misc_early",
},
+ Lint {
+ name: "unnested_or_patterns",
+ group: "pedantic",
+ desc: "unnested or-patterns, e.g., `Foo(Bar) | Foo(Baz) instead of `Foo(Bar | Baz)`",
+ deprecation: None,
+ module: "unnested_or_patterns",
+ },
Lint {
name: "unreachable",
group: "restriction",
Lint {
name: "useless_conversion",
group: "complexity",
- desc: "calls to `Into`/`From`/`IntoIter` that performs useless conversions to the same type",
+ desc: "calls to `Into`, `TryInto`, `From`, `TryFrom`, `IntoIter` that performs useless conversions to the same type",
deprecation: None,
module: "useless_conversion",
},
deprecation: None,
module: "types",
},
+ Lint {
+ name: "vec_resize_to_zero",
+ group: "correctness",
+ desc: "emptying a vector with `resize(0, an_int)` instead of `clear()` is probably an argument inversion mistake",
+ deprecation: None,
+ module: "vec_resize_to_zero",
+ },
Lint {
name: "verbose_bit_mask",
group: "style",