},
Lint {
name: "await_holding_lock",
- group: "correctness",
+ group: "pedantic",
desc: "Inside an async function, holding a MutexGuard while calling await",
deprecation: None,
module: "await_holding_invalid",
},
Lint {
name: "await_holding_refcell_ref",
- group: "correctness",
+ group: "pedantic",
desc: "Inside an async function, holding a RefCell ref while calling await",
deprecation: None,
module: "await_holding_invalid",
deprecation: None,
module: "comparison_chain",
},
+ Lint {
+ name: "comparison_to_empty",
+ group: "style",
+ desc: "checking `x == \"\"` or `x == []` (or similar) when `.is_empty()` could be used instead",
+ deprecation: None,
+ module: "len_zero",
+ },
Lint {
name: "copy_iterator",
group: "pedantic",
group: "pedantic",
desc: "checks for literal calls to `Default::default()`",
deprecation: None,
- module: "default_trait_access",
+ module: "default",
},
Lint {
name: "deprecated_cfg_attr",
deprecation: None,
module: "fallible_impl_from",
},
+ Lint {
+ name: "field_reassign_with_default",
+ group: "style",
+ desc: "binding initialized with Default should have its fields set in the initializer",
+ deprecation: None,
+ module: "default",
+ },
Lint {
name: "filetype_is_file",
group: "restriction",
deprecation: None,
module: "drop_forget_ref",
},
+ Lint {
+ name: "from_iter_instead_of_collect",
+ group: "style",
+ desc: "use `.collect()` instead of `::from_iter()`",
+ deprecation: None,
+ module: "methods",
+ },
Lint {
name: "future_not_send",
group: "nursery",
deprecation: None,
module: "returns",
},
+ Lint {
+ name: "let_underscore_drop",
+ group: "pedantic",
+ desc: "non-binding let on a type that implements `Drop`",
+ deprecation: None,
+ module: "let_underscore",
+ },
Lint {
name: "let_underscore_lock",
group: "correctness",
deprecation: None,
module: "manual_non_exhaustive",
},
+ Lint {
+ name: "manual_ok_or",
+ group: "pedantic",
+ desc: "finds patterns that can be encoded more concisely with `Option::ok_or`",
+ deprecation: None,
+ module: "manual_ok_or",
+ },
Lint {
name: "manual_range_contains",
group: "style",
deprecation: None,
module: "map_clone",
},
+ Lint {
+ name: "map_collect_result_unit",
+ group: "style",
+ desc: "using `.map(_).collect::<Result<(),_>()`, which can be replaced with `try_for_each`",
+ deprecation: None,
+ module: "methods",
+ },
Lint {
name: "map_entry",
group: "perf",
group: "pedantic",
desc: "`match` with identical arm bodies",
deprecation: None,
- module: "copies",
+ module: "matches",
},
Lint {
name: "match_single_binding",
deprecation: None,
module: "panic_in_result_fn",
},
- Lint {
- name: "panic_params",
- group: "style",
- desc: "missing parameters in `panic!` calls",
- deprecation: None,
- module: "panic_unimplemented",
- },
Lint {
name: "panicking_unwrap",
group: "correctness",
deprecation: None,
module: "reference",
},
+ Lint {
+ name: "ref_option_ref",
+ group: "pedantic",
+ desc: "use `Option<&T>` instead of `&Option<&T>`",
+ deprecation: None,
+ module: "ref_option_ref",
+ },
Lint {
name: "repeat_once",
group: "complexity",
Lint {
name: "search_is_some",
group: "complexity",
- desc: "using an iterator search followed by `is_some()`, which is more succinctly expressed as a call to `any()`",
+ desc: "using an iterator or string search followed by `is_some()`, which is more succinctly expressed as a call to `any()` or `contains()`",
deprecation: None,
module: "methods",
},
module: "non_expressive_names",
},
Lint {
- name: "single_char_pattern",
- group: "perf",
- desc: "using a single-character str where a char could be used, e.g., `_.split(\"x\")`",
+ name: "single_char_add_str",
+ group: "style",
+ desc: "`push_str()` or `insert_str()` used with a single-character string literal as parameter",
deprecation: None,
module: "methods",
},
Lint {
- name: "single_char_push_str",
- group: "style",
- desc: "`push_str()` used with a single-character string literal as parameter",
+ name: "single_char_pattern",
+ group: "perf",
+ desc: "using a single-character str where a char could be used, e.g., `_.split(\"x\")`",
deprecation: None,
module: "methods",
},
deprecation: None,
module: "methods",
},
+ Lint {
+ name: "string_from_utf8_as_bytes",
+ group: "complexity",
+ desc: "casting string slices to byte slices and back",
+ deprecation: None,
+ module: "strings",
+ },
Lint {
name: "string_lit_as_bytes",
group: "nursery",
deprecation: None,
module: "temporary_assignment",
},
- Lint {
- name: "temporary_cstring_as_ptr",
- group: "correctness",
- desc: "getting the inner pointer of a temporary `CString`",
- deprecation: None,
- module: "methods",
- },
Lint {
name: "to_digit_is_some",
group: "style",
deprecation: None,
module: "unwrap",
},
+ Lint {
+ name: "unnecessary_wraps",
+ group: "complexity",
+ desc: "functions that only return `Ok` or `Some`",
+ deprecation: None,
+ module: "unnecessary_wraps",
+ },
Lint {
name: "unneeded_field_pattern",
group: "restriction",
deprecation: None,
module: "unused_unit",
},
+ Lint {
+ name: "unusual_byte_groupings",
+ group: "style",
+ desc: "binary or hex literals that aren\'t grouped by four",
+ deprecation: None,
+ module: "literal_representation",
+ },
Lint {
name: "unwrap_in_result",
group: "restriction",
Lint {
name: "useless_conversion",
group: "complexity",
- desc: "calls to `Into`, `TryInto`, `From`, `TryFrom`, `IntoIter` that performs useless conversions to the same type",
+ desc: "calls to `Into`, `TryInto`, `From`, `TryFrom`, or `IntoIter` which perform useless conversions to the same type",
deprecation: None,
module: "useless_conversion",
},