]> git.lizzy.rs Git - rust.git/blobdiff - src/lintlist/mod.rs
Indicate anonymous lifetimes for types
[rust.git] / src / lintlist / mod.rs
index d9ae1f70d42b64e886305846be6eb634504c48f3..cd3336bdb37845af6a5754b42da8583c74961d8c 100644 (file)
@@ -6,7 +6,7 @@
 pub use lint::LINT_LEVELS;
 
 // begin lint list, do not remove this comment, it’s used in `update_lints`
-pub const ALL_LINTS: [Lint; 325] = [
+pub const ALL_LINTS: [Lint; 343] = [
     Lint {
         name: "absurd_extreme_comparisons",
         group: "correctness",
         deprecation: None,
         module: "approx_const",
     },
+    Lint {
+        name: "as_conversions",
+        group: "restriction",
+        desc: "using a potentially dangerous silent `as` conversion",
+        deprecation: None,
+        module: "as_conversions",
+    },
     Lint {
         name: "assertions_on_constants",
         group: "style",
         deprecation: None,
         module: "dbg_macro",
     },
+    Lint {
+        name: "debug_assert_with_mut_call",
+        group: "correctness",
+        desc: "mutable arguments in `debug_assert{,_ne,_eq}!`",
+        deprecation: None,
+        module: "mutable_debug_assertion",
+    },
     Lint {
         name: "decimal_literal_representation",
         group: "restriction",
         deprecation: None,
         module: "excessive_precision",
     },
+    Lint {
+        name: "exit",
+        group: "restriction",
+        desc: "`std::process::exit` is called, terminating the program",
+        deprecation: None,
+        module: "exit",
+    },
     Lint {
         name: "expect_fun_call",
         group: "perf",
         deprecation: None,
         module: "bit_mask",
     },
+    Lint {
+        name: "inefficient_to_string",
+        group: "perf",
+        desc: "using `to_string` on `&&T` where `T: ToString`",
+        deprecation: None,
+        module: "methods",
+    },
     Lint {
         name: "infallible_destructuring_match",
         group: "style",
         deprecation: None,
         module: "integer_division",
     },
-    Lint {
-        name: "into_iter_on_array",
-        group: "correctness",
-        desc: "using `.into_iter()` on an array",
-        deprecation: None,
-        module: "methods",
-    },
     Lint {
         name: "into_iter_on_ref",
         group: "style",
     Lint {
         name: "iterator_step_by_zero",
         group: "correctness",
-        desc: "using `Iterator::step_by(0)`, which produces an infinite iterator",
+        desc: "using `Iterator::step_by(0)`, which will panic at runtime",
         deprecation: None,
-        module: "ranges",
+        module: "methods",
     },
     Lint {
         name: "just_underscores_and_digits",
         deprecation: None,
         module: "large_enum_variant",
     },
+    Lint {
+        name: "large_stack_arrays",
+        group: "pedantic",
+        desc: "allocating large arrays on stack may cause stack overflow",
+        deprecation: None,
+        module: "large_stack_arrays",
+    },
     Lint {
         name: "len_without_is_empty",
         group: "style",
         deprecation: None,
         module: "returns",
     },
+    Lint {
+        name: "let_underscore_must_use",
+        group: "restriction",
+        desc: "non-binding let on a #[must_use] expression",
+        deprecation: None,
+        module: "let_underscore",
+    },
     Lint {
         name: "let_unit_value",
         group: "style",
     },
     Lint {
         name: "manual_mul_add",
-        group: "perf",
+        group: "nursery",
         desc: "Using `a.mul_add(b, c)` for floating points has higher numerical precision than `a * b + c`",
         deprecation: None,
         module: "mul_add",
         deprecation: None,
         module: "mem_replace",
     },
+    Lint {
+        name: "mem_replace_with_default",
+        group: "style",
+        desc: "replacing a value of type `T` with `T::default()` instead of using `std::mem::take`",
+        deprecation: None,
+        module: "mem_replace",
+    },
     Lint {
         name: "mem_replace_with_uninit",
         group: "correctness",
         deprecation: None,
         module: "missing_doc",
     },
+    Lint {
+        name: "missing_errors_doc",
+        group: "pedantic",
+        desc: "`pub fn` returns `Result` without `# Errors` in doc comment",
+        deprecation: None,
+        module: "doc",
+    },
     Lint {
         name: "missing_inline_in_public_items",
         group: "restriction",
         deprecation: None,
         module: "enum_variants",
     },
+    Lint {
+        name: "modulo_arithmetic",
+        group: "restriction",
+        desc: "any modulo arithmetic statement",
+        deprecation: None,
+        module: "modulo_arithmetic",
+    },
     Lint {
         name: "modulo_one",
         group: "correctness",
         deprecation: None,
         module: "loops",
     },
+    Lint {
+        name: "mutable_key_type",
+        group: "correctness",
+        desc: "Check for mutable Map/Set key type",
+        deprecation: None,
+        module: "mut_key",
+    },
     Lint {
         name: "mutex_atomic",
         group: "perf",
         deprecation: None,
         module: "methods",
     },
+    Lint {
+        name: "option_expect_used",
+        group: "restriction",
+        desc: "using `Option.expect()`, which might be better handled",
+        deprecation: None,
+        module: "methods",
+    },
     Lint {
         name: "option_map_or_none",
         group: "style",
         deprecation: None,
         module: "overflow_check_conditional",
     },
+    Lint {
+        name: "panic",
+        group: "restriction",
+        desc: "usage of the `panic!` macro",
+        deprecation: None,
+        module: "panic_unimplemented",
+    },
     Lint {
         name: "panic_params",
         group: "style",
         deprecation: None,
         module: "replace_consts",
     },
+    Lint {
+        name: "result_expect_used",
+        group: "restriction",
+        desc: "using `Result.expect()`, which might be better handled",
+        deprecation: None,
+        module: "methods",
+    },
     Lint {
         name: "result_map_unit_fn",
         group: "complexity",
     Lint {
         name: "result_map_unwrap_or_else",
         group: "pedantic",
-        desc: "using `Result.map(f).unwrap_or_else(g)`, which is more succinctly expressed as `.ok().map_or_else(g, f)`",
+        desc: "using `Result.map(f).unwrap_or_else(g)`, which is more succinctly expressed as `.map_or_else(g, f)`",
         deprecation: None,
         module: "methods",
     },
         deprecation: None,
         module: "loops",
     },
+    Lint {
+        name: "same_functions_in_if_condition",
+        group: "pedantic",
+        desc: "consecutive `ifs` with the same function call",
+        deprecation: None,
+        module: "copies",
+    },
     Lint {
         name: "search_is_some",
         group: "complexity",
         deprecation: None,
         module: "formatting",
     },
+    Lint {
+        name: "tabs_in_doc_comments",
+        group: "style",
+        desc: "using tabs in doc comments is not recommended",
+        deprecation: None,
+        module: "tabs_in_doc_comments",
+    },
     Lint {
         name: "temporary_assignment",
         group: "complexity",
         deprecation: None,
         module: "methods",
     },
+    Lint {
+        name: "to_digit_is_some",
+        group: "style",
+        desc: "`char.is_digit()` is clearer",
+        deprecation: None,
+        module: "to_digit_is_some",
+    },
+    Lint {
+        name: "todo",
+        group: "restriction",
+        desc: "`todo!` should not be present in production code",
+        deprecation: None,
+        module: "panic_unimplemented",
+    },
     Lint {
         name: "too_many_arguments",
         group: "complexity",
         deprecation: None,
         module: "transmute",
     },
+    Lint {
+        name: "transmute_float_to_int",
+        group: "nursery",
+        desc: "transmutes from a float to an integer",
+        deprecation: None,
+        module: "transmute",
+    },
     Lint {
         name: "transmute_int_to_bool",
         group: "complexity",
         deprecation: None,
         module: "misc_early",
     },
+    Lint {
+        name: "unreachable",
+        group: "restriction",
+        desc: "`unreachable!` should not be present in production code",
+        deprecation: None,
+        module: "panic_unimplemented",
+    },
     Lint {
         name: "unreadable_literal",
         group: "style",
         deprecation: None,
         module: "unused_io_amount",
     },
-    Lint {
-        name: "unused_label",
-        group: "complexity",
-        desc: "unused labels",
-        deprecation: None,
-        module: "unused_label",
-    },
     Lint {
         name: "unused_self",
         group: "pedantic",
     },
     Lint {
         name: "use_self",
-        group: "pedantic",
+        group: "nursery",
         desc: "Unnecessary structure name repetition whereas `Self` is applicable",
         deprecation: None,
         module: "use_self",
         deprecation: None,
         module: "unicode",
     },
+    Lint {
+        name: "zst_offset",
+        group: "correctness",
+        desc: "Check for offset calculations on raw pointers to zero-sized types",
+        deprecation: None,
+        module: "methods",
+    },
 ];
 // end lint list, do not remove this comment, it’s used in `update_lints`