mirror of
https://github.com/huhu/rust-search-extension
synced 2024-11-15 08:07:08 +00:00
1 line
No EOL
77 KiB
JavaScript
1 line
No EOL
77 KiB
JavaScript
var C=["Allow","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis lint has been replaced by manual_","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThe avoid_breaking_exported_api config"];var lintsIndex={"nonstandard_macro_braces":[C[0],"\nChecks that common macros are used with consistent bracing.\n\n Why is this bad?\nThis is mostly a con"],"duration_subsec":["Warn","\nChecks for calculation of subsecond microseconds or milliseconds\nfrom other Duration methods.\n\n Why"],"inherent_to_string_shadow_display":["Deny","\nChecks for the definition of inherent methods with a signature of to_string(&self) -> String and if"],"else_if_without_else":[C[0],"\nChecks for usage of if expressions with an else if branch,\nbut without a final else branch.\n\n Why i"],"iter_nth_zero":["Warn","\nChecks for the use of iter.nth(0).\n\n Why is this bad?\niter.next() is equivalent to\niter.nth(0), as "],"nonminimal_bool":["Warn","\nChecks for boolean expressions that can be written more\nconcisely.\n\n Why is this bad?\nReadability o"],"diverging_sub_expression":["Warn","\nChecks for diverging calls that are not match arms or\nstatements.\n\n Why is this bad?\nIt is often co"],"dbg_macro":[C[0],"\nChecks for usage of dbg!() macro.\n\n Why is this bad?\ndbg! macro is intended as a debugging tool. It"],"iter_nth":["Warn","\nChecks for use of .iter().nth() (and the related\n.iter_mut().nth()) on standard library types with "],"print_stdout":[C[0],"\nChecks for printing on *stdout*. The purpose of this lint\nis to catch debugging remnants.\n\n Why is "],"inspect_for_each":["Warn","\nChecks for usage of inspect().for_each().\n\n Why is this bad?\nIt is the same as performing the compu"],"async_yields_async":["Deny","\nChecks for async blocks that yield values of types\nthat can themselves be awaited.\n\n Why is this ba"],"missing_safety_doc":["Warn","\nChecks for the doc comments of publicly visible\nunsafe functions and warns if there is no Safety s"],"self_named_constructors":["Warn","\nWarns when constructors have the same name as their types.\n\n Why is this bad?\nRepeating the name of"],"temporary_assignment":["Warn","\nChecks for construction of a structure or tuple just to\nassign a value in it.\n\n Why is this bad?\nRe"],"from_str_radix_10":["Warn","\n\nChecks for function invocations of the form primitive::from_str_radix(s, 10)\n\n Why is this bad?\n\nT"],"from_over_into":["Warn","\nSearches for implementations of the Into<..> trait and suggests to implement From<..> instead.\n\n Wh"],"match_like_matches_macro":["Warn","\nChecks for match or if let expressions producing a\nbool that could be written using matches!\n\n Why"],"option_env_unwrap":["Deny","\nChecks for usage of option_env!(...).unwrap() and\nsuggests usage of the env! macro.\n\n Why is this b"],"approx_constant":["Deny","\nChecks for floating point literals that approximate\nconstants which are defined in\n[std::f32::const"],"crate_in_macro_def":["Warn","\nChecks for use of crate as opposed to $crate in a macro definition.\n\n Why is this bad?\ncrate refers"],"filetype_is_file":[C[0],"\nChecks for FileType::is_file().\n\n Why is this bad?\nWhen people testing a file type with FileType::i"],"float_equality_without_abs":["Warn","\nChecks for statements of the form (a - b) < f32::EPSILON or\n(a - b) < f64::EPSILON. Notes the missi"],"manual_unwrap_or":["Warn","\nFinds patterns that reimplement Option::unwrap_or or Result::unwrap_or.\n\n Why is this bad?\nConcise "],"match_result_ok":["Warn","\nChecks for unnecessary ok() in while let.\n\n Why is this bad?\nCalling ok() in while let is unnecessa"],"branches_sharing_code":[C[0],"\nChecks if the if and else block contain shared code that can be\nmoved out of the blocks.\n\n Why is t"],"single_match_else":[C[0],"\nChecks for matches with two arms where an if let else will\nusually suffice.\n\n Why is this bad?\nJust"],"flat_map_identity":["Warn","\nChecks for usage of flat_map(|x| x).\n\n Why is this bad?\nReadability, this can be written more conci"],"option_if_let_else":[C[0],"\nLints usage of if let Some(v) = ... { y } else { x } which is more\nidiomatically done with Option::"],"suspicious_map":["Warn","\nChecks for calls to map followed by a count.\n\n Why is this bad?\nIt looks suspicious. Maybe map was "],"format_push_string":[C[0],"\nDetects cases where the result of a format! call is\nappended to an existing String.\n\n Why is this b"],"unnecessary_owned_empty_strings":["Warn","\n\nDetects cases of owned empty strings being passed as an argument to a function expecting &str\n\n Wh"],"unwrap_in_result":[C[0],"\nChecks for functions of type Result that contain expect() or unwrap()\n\n Why is this bad?\nThese func"],"comparison_chain":["Warn","\nChecks comparison chains written with if that can be\nrewritten with match and cmp.\n\n Why is this ba"],"manual_filter_map":["Warn","\nChecks for usage of _.filter(_).map(_) that can be written more simply\nas filter_map(_).\n\n Why is t"],"explicit_into_iter_loop":[C[0],"\nChecks for loops on y.into_iter() where y will do, and\nsuggests the latter.\n\n Why is this bad?\nRead"],"missing_inline_in_public_items":[C[0],"\nIt lints if an exported function, method, trait method with default impl,\nor trait method impl is n"],"cast_ptr_alignment":[C[0],"\nChecks for casts, using as or pointer::cast,\nfrom a less-strictly-aligned pointer to a more-strictl"],"derive_ord_xor_partial_ord":["Deny","\nChecks for deriving Ord but implementing PartialOrd\nexplicitly or vice versa.\n\n Why is this bad?\nTh"],"assertions_on_result_states":[C[0],"\nChecks for assert!(r.is_ok()) or assert!(r.is_err()) calls.\n\n Why is this bad?\nAn assertion failure"],"regex_macro":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThe regex! macro does not exist anymor"],"todo":[C[0],"\nChecks for usage of todo!.\n\n Why is this bad?\nThis macro should not be present in production code\n\n"],"duplicate_underscore_argument":["Warn","\nChecks for function arguments having the similar names\ndiffering by an underscore.\n\n Why is this ba"],"let_underscore_must_use":[C[0],"\nChecks for let _ = <expr> where expr is [must_use]\n\n Why is this bad?\nIt's better to explicitly han"],"exit":[C[0],"\nexit() terminates the program and doesn't provide a\nstack trace.\n\n Why is this bad?\nIdeally a prog"],"unnecessary_to_owned":["Warn","\nChecks for unnecessary calls to [ToOwned::to_owned](https://doc.rust-lang.org/std/borrow/trait.ToOw"],"if_let_redundant_pattern_matching":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThe original rule will only lint for i"],"await_holding_invalid_type":["Warn","\nAllows users to configure types which should not be held across await\nsuspension points.\n\n Why is t"],"option_map_or_none":["Warn","\nChecks for usage of _.map_or(None, _).\n\n Why is this bad?\nReadability, this can be written more con"],"string_slice":[C[0],"\nChecks for slice operations on strings\n\n Why is this bad?\nUTF-8 characters span multiple bytes, and"],"trim_split_whitespace":["Warn","\nWarns about calling str::trim (or variants) before str::split_whitespace.\n\n Why is this bad?\nsplit_"],"cast_enum_truncation":["Warn","\nChecks for casts from an enum type to an integral type which will definitely truncate the\nvalue.\n\n "],"reversed_empty_ranges":["Deny","\nChecks for range expressions x..y where both x and y\nare constant and x is greater or equal to y.\n\n"],"filter_map":["None",C[1]],"needless_parens_on_range_literals":["Warn","\nThe lint checks for parenthesis on literals in range statements that are\nsuperfluous.\n\n Why is this"],"transmute_int_to_char":["Warn","\nChecks for transmutes from an integer to a char.\n\n Why is this bad?\nNot every integer is a Unicode "],"vec_box":["Warn","\nChecks for use of Vec<Box<T>> where T: Sized anywhere in the code.\nCheck the [Box documentation](ht"],"alloc_instead_of_core":[C[0],"\n\nFinds items imported through alloc when available through core.\n\n Why is this bad?\n\nCrates which h"],"suspicious_else_formatting":["Warn","\nChecks for formatting of else. It lints if the else\nis followed immediately by a newline or the els"],"implicit_clone":[C[0],"\nChecks for the usage of _.to_owned(), vec.to_vec(), or similar when calling _.clone() would be clea"],"filter_map_next":[C[0],"\nChecks for usage of _.filter_map(_).next().\n\n Why is this bad?\nReadability, this can be written mor"],"if_not_else":[C[0],"\nChecks for usage of ! or != in an if condition with an\nelse branch.\n\n Why is this bad?\nNegations re"],"mem_replace_with_default":["Warn","\nChecks for std::mem::replace on a value of type\nT with T::default().\n\n Why is this bad?\nstd::mem mo"],"wrong_pub_self_convention":["None",C[2]],"redundant_pattern_matching":["Warn","\nLint for redundant pattern matching over Result, Option,\nstd::task::Poll or std::net::IpAddr\n\n Why "],"manual_ok_or":[C[0],"\n\nFinds patterns that reimplement Option::ok_or.\n\n Why is this bad?\n\nConcise code helps focusing on "],"unnecessary_fold":["Warn","\nChecks for using fold when a more succinct alternative exists.\nSpecifically, this checks for folds "],"unnecessary_lazy_evaluations":["Warn","\nAs the counterpart to or_fun_call, this lint looks for unnecessary\nlazily evaluated closures on Opt"],"useless_attribute":["Deny","\nChecks for extern crate and use items annotated with\nlint attributes.\n\nThis lint permits lint attri"],"needless_splitn":["Warn","\nChecks for usages of str::splitn (or str::rsplitn) where using str::split would be the same.\n Why i"],"short_circuit_statement":["Warn","\nChecks for the use of short circuit boolean conditions as\na\nstatement.\n\n Why is this bad?\nUsing a s"],"transmute_bytes_to_str":["Warn","\nChecks for transmutes from a &[u8] to a &str.\n\n Why is this bad?\nNot every byte slice is a valid UT"],"unit_return_expecting_ord":["Deny","\nChecks for functions that expect closures of type\nFn(...) -> Ord where the implemented closure retu"],"drop_ref":["Deny","\nChecks for calls to std::mem::drop with a reference\ninstead of an owned value.\n\n Why is this bad?\nC"],"iterator_step_by_zero":["Deny","\nChecks for calling .step_by(0) on iterators which panics.\n\n Why is this bad?\nThis very much looks l"],"map_err_ignore":[C[0],"\nChecks for instances of map_err(|_| Some::Enum)\n\n Why is this bad?\nThis map_err throws away the ori"],"undocumented_unsafe_blocks":[C[0],"\nChecks for unsafe blocks and impls without a // SAFETY: comment\nexplaining why the unsafe operatio"],"explicit_iter_loop":[C[0],"\nChecks for loops on x.iter() where &x will do, and\nsuggests the latter.\n\n Why is this bad?\nReadabil"],"cmp_nan":["Deny","\nChecks for comparisons to NaN.\n\n Why is this bad?\nNaN does not compare meaningfully to anything –"],"bytes_nth":["Warn","\nChecks for the use of .bytes().nth().\n\n Why is this bad?\n.as_bytes().get() is more efficient and mo"],"await_holding_refcell_ref":["Warn","\nChecks for calls to await while holding a RefCell Ref or RefMut.\n\n Why is this bad?\nRefCell refs on"],"zst_offset":["Deny","\nChecks for offset(_), wrapping_{add, sub}, etc. on raw pointers to\nzero-sized types\n\n Why is this b"],"mut_mut":[C[0],"\nChecks for instances of mut mut references.\n\n Why is this bad?\nMultiple muts don't add anything mea"],"box_collection":["Warn","\nChecks for use of Box<T> where T is a collection such as Vec anywhere in the code.\nCheck the [Box d"],"unsafe_removed_from_name":["Warn","\nChecks for imports that remove \"unsafe\" from an item's\nname.\n\n Why is this bad?\nRenaming makes it l"],"str_to_string":[C[0],"\nThis lint checks for .to_string() method calls on values of type &str.\n\n Why is this bad?\nThe to_st"],"expect_fun_call":["Warn","\nChecks for calls to .expect(&format!(...)), .expect(foo(..)),\netc., and suggests to use unwrap_or_e"],"unseparated_literal_suffix":[C[0],"\nWarns if literal suffixes are not separated by an\nunderscore.\nTo enforce unseparated literal suffix"],"for_kv_map":["Warn","\nChecks for iterating a map (HashMap or BTreeMap) and\nignoring either the keys or values.\n\n Why is t"],"cmp_owned":["Warn","\nChecks for conversions to owned values just for the sake\nof a comparison.\n\n Why is this bad?\nThe co"],"extend_from_slice":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis used to check for Vec::extend, wh"],"invalid_regex":["Deny","\nChecks [regex](https://crates.io/crates/regex) creation\n(with Regex::new, RegexBuilder::new, or Reg"],"nonsensical_open_options":["Deny","\nChecks for duplicate open options as well as combinations\nthat make no sense.\n\n Why is this bad?\nIn"],"get_unwrap":[C[0],"\nChecks for use of .get().unwrap() (or\n.get_mut().unwrap) on a standard library type which implement"],"needless_lifetimes":["Warn","\nChecks for lifetime annotations which can be removed by\nrelying on lifetime elision.\n\n Why is this "],"print_in_format_impl":["Warn","\nChecks for use of println, print, eprintln or eprint in an\nimplementation of a formatting trait.\n\n "],"skip_while_next":["Warn","\nChecks for usage of _.skip_while(condition).next().\n\n Why is this bad?\nReadability, this can be wri"],"modulo_arithmetic":[C[0],"\nChecks for modulo arithmetic.\n\n Why is this bad?\nThe results of modulo (%) operation might differ\nd"],"needless_range_loop":["Warn","\nChecks for looping over the range of 0..len of some\ncollection just to get the values by index.\n\n W"],"manual_str_repeat":["Warn","\nChecks for manual implementations of str::repeat\n\n Why is this bad?\nThese are both harder to read, "],"bool_comparison":["Warn","\nChecks for expressions of the form x == true,\nx != true and order comparisons such as x < true (or "],"assign_op_pattern":["Warn","\nChecks for a = a op b or a = b commutative_op a\npatterns.\n\n Why is this bad?\nThese can be written a"],"mixed_case_hex_literals":["Warn","\nWarns on hexadecimal literals with mixed-case letter\ndigits.\n\n Why is this bad?\nIt looks confusing."],"bad_bit_mask":["Deny","\nChecks for incompatible bit masks in comparisons.\n\nThe formula for detecting if an expression of th"],"ref_binding_to_reference":[C[0],"\nChecks for ref bindings which create a reference to a reference.\n\n Why is this bad?\nThe address-of "],"no_effect_underscore_binding":[C[0],"\nChecks for binding to underscore prefixed variable without side-effects.\n\n Why is this bad?\nUnlike "],"useless_transmute":["Warn","\nChecks for transmutes to the original type of the object\nand transmutes that could be a cast.\n\n Why"],"mem_replace_option_with_none":["Warn","\nChecks for mem::replace() on an Option with\nNone.\n\n Why is this bad?\nOption already has the method "],"needless_option_as_deref":["Warn","\nChecks for no-op uses of Option::{as_deref, as_deref_mut},\nfor example, Option<&T>::as_deref() retu"],"cognitive_complexity":[C[0],"\nChecks for methods with high cognitive complexity.\n\n Why is this bad?\nMethods of high cognitive com"],"tabs_in_doc_comments":["Warn","\nChecks doc comments for usage of tab characters.\n\n Why is this bad?\nThe rust style-guide promotes s"],"redundant_allocation":["Warn","\nChecks for use of redundant allocations anywhere in the code.\n\n Why is this bad?\nExpressions such a"],"unneeded_field_pattern":[C[0],"\nChecks for structure field patterns bound to wildcards.\n\n Why is this bad?\nUsing .. instead is shor"],"is_digit_ascii_radix":["Warn","\nFinds usages of [char::is_digit](https://doc.rust-lang.org/stable/std/primitive.char.htmlmethod.is_"],"ineffective_bit_mask":["Deny","\nChecks for bit masks in comparisons which can be removed\nwithout changing the outcome. The basic st"],"significant_drop_in_scrutinee":[C[0],"\nCheck for temporaries returned from function calls in a match scrutinee that have the\nclippy::has_s"],"unreachable":[C[0],"\nChecks for usage of unreachable!.\n\n Why is this bad?\nThis macro can cause code to panic\n\n Example\nr"],"wrong_self_convention":["Warn","\nChecks for methods with certain name prefixes and which\ndoesn't match how self is taken. The actual"],"op_ref":["Warn","\nChecks for arguments to == which have their address\ntaken to satisfy a bound\nand suggests to derefe"],"needless_borrow":["Warn","\nChecks for address of operations (&) that are going to\nbe dereferenced immediately by the compiler."],"type_repetition_in_bounds":[C[0],"\nThis lint warns about unnecessary type repetitions in trait bounds\n\n Why is this bad?\nRepeating the"],"eq_op":["Deny","\nChecks for equal operands to comparison, logical and\nbitwise, difference and division binary operat"],"manual_map":["Warn","\nChecks for usages of match which could be implemented using map\n\n Why is this bad?\nUsing the map me"],"inefficient_to_string":[C[0],"\nChecks for usage of .to_string() on an &&T where\nT implements ToString directly (like &&str or &&St"],"into_iter_on_ref":["Warn","\nChecks for into_iter calls on references which should be replaced by iter\nor iter_mut.\n\n Why is thi"],"same_name_method":[C[0],"\nIt lints if a struct has two methods with the same name:\none from a trait, another not from trait.\n"],"unicode_not_nfc":[C[0],"\nChecks for string literals that contain Unicode in a form\nthat is not equal to its\n[NFC-recompositi"],"len_zero":["Warn","\nChecks for getting the length of something via .len()\njust to compare to zero, and suggests using ."],"invalid_null_ptr_usage":["Deny","\nThis lint checks for invalid usages of ptr::null.\n\n Why is this bad?\nThis causes undefined behavior"],"cloned_instead_of_copied":[C[0],"\nChecks for usages of cloned() on an Iterator or Option where\ncopied() could be used instead.\n\n Why "],"unstable_as_mut_slice":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis used to check for Vec::as_mut_sli"],"toplevel_ref_arg":["Warn","\nChecks for function arguments and let bindings denoted as\nref.\n\n Why is this bad?\nThe ref declarati"],"clone_on_copy":["Warn","\nChecks for usage of .clone() on a Copy type.\n\n Why is this bad?\nThe only reason Copy types implemen"],"unreadable_literal":[C[0],"\nWarns if a long integral or floating-point constant does\nnot contain underscores.\n\n Why is this bad"],"needless_update":["Warn","\nChecks for needlessly including a base struct on update\nwhen all fields are changed anyway.\n\nThis l"],"disallowed_methods":["Warn","\nDenies the configured methods and functions in clippy.toml\n\nNote: Even though this lint is warn-by-"],"out_of_bounds_indexing":["Deny","\nChecks for out of bounds array indexing with a constant\nindex.\n\n Why is this bad?\nThis will always "],"cast_abs_to_unsigned":["Warn","\nChecks for uses of the abs() method that cast the result to unsigned.\n\n Why is this bad?\nThe unsign"],"almost_swapped":["Deny","\nChecks for foo = bar; bar = foo sequences.\n\n Why is this bad?\nThis looks like a failed attempt to s"],"map_unwrap_or":[C[0],"\nChecks for usage of option.map(_).unwrap_or(_) or option.map(_).unwrap_or_else(_) or\nresult.map(_)."],"ptr_as_ptr":[C[0],"\nChecks for as casts between raw pointers without changing its mutability,\nnamely *const T to *const"],"expect_used":[C[0],"\nChecks for .expect() calls on Options and Results.\n\n Why is this bad?\nUsually it is better to handl"],"exhaustive_structs":[C[0],"\nWarns on any exported structss that are not tagged [non_exhaustive]\n\n Why is this bad?\nExhaustive s"],"self_named_module_files":[C[0],"\nChecks that module layout uses only mod.rs files.\n\n Why is this bad?\nHaving multiple module layout "],"partialeq_to_none":["Warn","\n\nChecks for binary comparisons to a literal Option::None.\n\n Why is this bad?\n\nA programmer checking"],"new_without_default":["Warn","\nChecks for public types with a pub fn new() -> Self method and no\nimplementation of\n[Default](https"],"should_assert_eq":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis used to check for assert!(a == b)"],"cast_ref_to_mut":["Deny","\nChecks for casts of &T to &mut T anywhere in the code.\n\n Why is this bad?\nIt’s basically guarante"],"return_self_not_must_use":[C[0],"\nThis lint warns when a method returning Self doesn't have the [must_use] attribute.\n\n Why is this b"],"option_as_ref_deref":["Warn","\nChecks for usage of _.as_ref().map(Deref::deref) or it's aliases (such as String::as_str).\n\n Why is"],"overly_complex_bool_expr":["Deny","\nChecks for boolean expressions that contain terminals that\ncan be eliminated.\n\n Why is this bad?\nTh"],"single_char_add_str":["Warn","\nWarns when using push_str/insert_str with a single-character string literal\nwhere push/insert with "],"wildcard_enum_match_arm":[C[0],"\nChecks for wildcard enum matches using _.\n\n Why is this bad?\nNew enum variants added by library upd"],"default_trait_access":[C[0],"\nChecks for literal calls to Default::default().\n\n Why is this bad?\nIt's easier for the reader if th"],"manual_rem_euclid":["Warn","\nChecks for an expression like ((x % 4) + 4) % 4 which is a common manual reimplementation\nof x.rem_"],"default_instead_of_iter_empty":["Warn","\nIt checks for std::iter::Empty::default() and suggests replacing it with\nstd::iter::empty().\n Why i"],"let_underscore_drop":[C[0],"\nChecks for let _ = <expr>\nwhere expr has a type that implements Drop\n\n Why is this bad?\nThis statem"],"lossy_float_literal":[C[0],"\nChecks for whole number float literals that\ncannot be represented as the underlying type without lo"],"mem_forget":[C[0],"\nChecks for usage of std::mem::forget(t) where t is\nDrop.\n\n Why is this bad?\nstd::mem::forget(t) pre"],"no_effect_replace":["Warn","\nChecks for replace statements which have no effect.\n\n Why is this bad?\nIt's either a mistake or con"],"while_let_loop":["Warn","\nDetects loop + match combinations that are easier\nwritten as a while let loop.\n\n Why is this bad?\nT"],"write_with_newline":["Warn","\nThis lint warns when you use write!() with a format\nstring that\nends in a newline.\n\n Why is this ba"],"panicking_unwrap":["Deny","\nChecks for calls of unwrap[_err]() that will always fail.\n\n Why is this bad?\nIf panicking is desire"],"exhaustive_enums":[C[0],"\nWarns on any exported enums that are not tagged [non_exhaustive]\n\n Why is this bad?\nExhaustive enum"],"unused_async":[C[0],"\nChecks for functions that are declared async but have no .awaits inside of them.\n\n Why is this bad?"],"default_numeric_fallback":[C[0],"\nChecks for usage of unconstrained numeric literals which may cause default numeric fallback in type"],"cast_precision_loss":[C[0],"\nChecks for casts from any numerical to a float type where\nthe receiving type cannot store all value"],"option_map_unit_fn":["Warn","\nChecks for usage of option.map(f) where f is a function\nor closure that returns the unit type ().\n\n"],"blanket_clippy_restriction_lints":["Warn","\nChecks for warn/deny/forbid attributes targeting the whole clippy::restriction category.\n\n Why is t"],"empty_enum":[C[0],"\nChecks for enums with no variants.\n\nAs of this writing, the never_type is still a\nnightly-only expe"],"forget_ref":["Deny","\nChecks for calls to std::mem::forget with a reference\ninstead of an owned value.\n\n Why is this bad?"],"modulo_one":["Deny","\nChecks for getting the remainder of a division by one or minus\none.\n\n Why is this bad?\nThe result f"],"redundant_else":[C[0],"\nChecks for else blocks that can be removed without changing semantics.\n\n Why is this bad?\nThe else "],"std_instead_of_core":[C[0],"\n\nFinds items imported through std when available through core.\n\n Why is this bad?\n\nCrates which hav"],"wildcard_imports":[C[0],"\nChecks for wildcard imports use _::*.\n\n Why is this bad?\nwildcard imports can pollute the namespace"],"manual_retain":["Warn","\nChecks for code to be replaced by .retain().\n Why is this bad?\n.retain() is simpler and avoids need"],"slow_vector_initialization":["Warn","\nChecks slow zero-filled vector initialization\n\n Why is this bad?\nThese structures are non-idiomatic"],"unnecessary_operation":["Warn","\nChecks for expression statements that can be reduced to a\nsub-expression.\n\n Why is this bad?\nExpres"],"shadow_same":[C[0],"\nChecks for bindings that shadow other bindings already in\nscope, while just changing reference leve"],"chars_last_cmp":["Warn","\nChecks for usage of _.chars().last() or\n_.chars().next_back() on a str to check if it ends with a g"],"manual_memcpy":["Warn","\nChecks for for-loops that manually copy items between\nslices that could be optimized by having a me"],"derive_partial_eq_without_eq":["Warn","\nChecks for types that derive PartialEq and could implement Eq.\n\n Why is this bad?\nIf a type T deriv"],"main_recursion":["Warn","\nChecks for recursion using the entrypoint.\n\n Why is this bad?\nApart from special setups (which we c"],"double_must_use":["Warn","\nChecks for a [must_use] attribute without\nfurther information on functions and methods that return "],"suspicious_op_assign_impl":["Warn","\nLints for suspicious operations in impls of OpAssign, e.g.\nsubtracting elements in an AddAssign imp"],"while_immutable_condition":["Deny","\nChecks whether variables used within while loop condition\ncan be (and are) mutated in the body.\n\n W"],"collapsible_match":["Warn","\nFinds nested match or if let expressions where the patterns may be \"collapsed\" together\nwithout add"],"should_implement_trait":["Warn","\nChecks for methods that should live in a trait\nimplementation of a std trait (see [llogiq's blog\npo"],"get_last_with_len":["Warn","\nChecks for using x.get(x.len() - 1) instead of\nx.last().\n\n Why is this bad?\nUsing x.last() is easie"],"inherent_to_string":["Warn","\nChecks for the definition of inherent methods with a signature of to_string(&self) -> String.\n\n Why"],"print_stderr":[C[0],"\nChecks for printing on *stderr*. The purpose of this lint\nis to catch debugging remnants.\n\n Why is "],"equatable_if_let":[C[0],"\nChecks for pattern matchings that can be expressed using equality.\n\n Why is this bad?\n\n* It reads b"],"single_component_path_imports":["Warn","\nChecking for imports with single component use path.\n\n Why is this bad?\nImport with single componen"],"unnecessary_cast":["Warn","\nChecks for casts to the same type, casts of int literals to integer types\nand casts of float litera"],"cast_enum_constructor":["Warn","\nChecks for casts from an enum tuple constructor to an integer.\n\n Why is this bad?\nThe cast is easil"],"empty_drop":[C[0],"\nChecks for empty Drop implementations.\n\n Why is this bad?\nEmpty Drop implementations have no effect"],"fn_to_numeric_cast":["Warn","\nChecks for casts of function pointers to something other than usize\n\n Why is this bad?\nCasting a fu"],"debug_assert_with_mut_call":[C[0],"\nChecks for function/method calls with a mutable\nparameter in debug_assert!, debug_assert_eq! and de"],"ifs_same_cond":["Deny","\nChecks for consecutive ifs with the same condition.\n\n Why is this bad?\nThis is probably a copy & pa"],"invisible_characters":["Deny","\nChecks for invisible Unicode characters in the code.\n\n Why is this bad?\nHaving an invisible charact"],"neg_multiply":["Warn","\nChecks for multiplication by -1 as a form of negation.\n\n Why is this bad?\nIt's more readable to jus"],"trivially_copy_pass_by_ref":[C[0],"\nChecks for functions taking arguments by reference, where\nthe argument type is Copy and small enoug"],"absurd_extreme_comparisons":["Deny","\nChecks for comparisons where one side of the relation is\neither the minimum or maximum value for it"],"non_ascii_literal":[C[0],"\nChecks for non-ASCII characters in string and char literals.\n\n Why is this bad?\nYeah, we know, the "],"invalid_upcast_comparisons":[C[0],"\nChecks for comparisons where the relation is always either\ntrue or false, but where one side has be"],"cmp_null":["Warn","\nThis lint checks for equality comparisons with ptr::null\n\n Why is this bad?\nIt's easier and more re"],"map_flatten":["Warn","\nChecks for usage of _.map(_).flatten(_) on Iterator and Option\n\n Why is this bad?\nReadability, this"],"manual_swap":["Warn","\nChecks for manual swapping.\n\n Why is this bad?\nThe std::mem::swap function exposes the intent bette"],"unused_unit":["Warn","\nChecks for unit (()) expressions that can be removed.\n\n Why is this bad?\nSuch expressions add no va"],"path_buf_push_overwrite":[C[0],"\n* Checks for [push](https://doc.rust-lang.org/std/path/struct.PathBuf.htmlmethod.push)\ncalls on Pat"],"missing_panics_doc":[C[0],"\nChecks the doc comments of publicly visible functions that\nmay panic and warns if there is no Pani"],"filter_map_identity":["Warn","\nChecks for usage of filter_map(|x| x).\n\n Why is this bad?\nReadability, this can be written more con"],"transmutes_expressible_as_ptr_casts":["Warn","\nChecks for transmutes that could be a pointer cast.\n\n Why is this bad?\nReadability. The code tricks"],"multiple_crate_versions":[C[0],"\nChecks to see if multiple versions of a crate are being\nused.\n\n Why is this bad?\nThis bloats the si"],"self_assignment":["Deny","\nChecks for explicit self-assignments.\n\n Why is this bad?\nSelf-assignments are redundant and unlikel"],"fn_to_numeric_cast_with_truncation":["Warn","\nChecks for casts of a function pointer to a numeric type not wide enough to\nstore address.\n\n Why is"],"min_max":["Deny","\nChecks for expressions where std::cmp::min and max are\nused to clamp values, but switched so that t"],"erasing_op":["Deny","\nChecks for erasing operations, e.g., x * 0.\n\n Why is this bad?\nThe whole expression can be replaced"],"cast_lossless":[C[0],"\nChecks for casts between numerical types that may\nbe replaced by safe conversion functions.\n\n Why i"],"unwrap_or_else_default":["Warn","\nChecks for usages of _.unwrap_or_else(Default::default) on Option and\nResult values.\n\n Why is this "],"future_not_send":[C[0],"\nThis lint requires Future implementations returned from\nfunctions and methods to implement the Send"],"match_ref_pats":["Warn","\nChecks for matches where all arms match a reference,\nsuggesting to remove the reference and deref t"],"not_unsafe_ptr_arg_deref":["Deny","\nChecks for public functions that dereference raw pointer\narguments but are not marked unsafe.\n\n Why"],"map_identity":["Warn","\nChecks for instances of map(f) where f is the identity function.\n\n Why is this bad?\nIt can be writt"],"redundant_closure_call":["Warn","\nDetects closures called in the same expression where they\nare defined.\n\n Why is this bad?\nIt is unn"],"as_conversions":[C[0],"\nChecks for usage of as conversions.\n\nNote that this lint is specialized in linting *every single* u"],"large_digit_groups":[C[0],"\nWarns if the digits of an integral or floating-point\nconstant are grouped into groups that\nare too "],"for_loops_over_fallibles":["Warn","\nChecks for for loops over Option or Result values.\n\n Why is this bad?\nReadability. This is more cle"],"redundant_pub_crate":[C[0],"\nChecks for items declared pub(crate) that are not crate visible because they\nare inside a private m"],"integer_division":[C[0],"\nChecks for division of integers\n\n Why is this bad?\nWhen outside of some very specific algorithms,\ni"],"fn_to_numeric_cast_any":[C[0],"\nChecks for casts of a function pointer to any integer type.\n\n Why is this bad?\nCasting a function p"],"needless_doctest_main":["Warn","\nChecks for fn main() { .. } in doctests\n\n Why is this bad?\nThe test can be shorter (and likely more"],"needless_option_take":["Warn","\nChecks for calling take function after as_ref.\n\n Why is this bad?\nRedundant code. take writes None "],"repeat_once":["Warn","\nChecks for usage of .repeat(1) and suggest the following method for each types.\n- .to_string() for "],"result_unit_err":["Warn","\nChecks for public functions that return a Result\nwith an Err type of (). It suggests using a custom"],"suspicious_arithmetic_impl":["Warn","\nLints for suspicious operations in impls of arithmetic operators, e.g.\nsubtracting elements in an A"],"unsound_collection_transmute":["Deny","\nChecks for transmutes between collections whose\ntypes have different ABI, size or alignment.\n\n Why "],"imprecise_flops":[C[0],"\nLooks for floating-point expressions that\ncan be expressed using built-in methods to improve accura"],"arithmetic":[C[0],"\nChecks for any kind of arithmetic operation of any type.\n\nOperators like +, -, * or << are usually "],"match_as_ref":["Warn","\nChecks for match which is used to add a reference to an\nOption value.\n\n Why is this bad?\nUsing as_r"],"use_self":[C[0],"\nChecks for unnecessary repetition of structure name when a\nreplacement with Self is applicable.\n\n W"],"manual_assert":[C[0],"\nDetects if-then-panic! that can be replaced with assert!.\n\n Why is this bad?\nassert! is simpler tha"],"fn_address_comparisons":["Deny","\nChecks for comparisons with an address of a function item.\n\n Why is this bad?\nFunction item address"],"indexing_slicing":[C[0],"\nChecks for usage of indexing or slicing. Arrays are special cases, this lint\ndoes report on arrays "],"iter_not_returning_iterator":[C[0],"\nDetects methods named iter or iter_mut that do not have a return type that implements Iterator.\n\n W"],"match_bool":[C[0],"\nChecks for matches where match expression is a bool. It\nsuggests to replace the expression with an "],"mut_from_ref":["Deny","\nThis lint checks for functions that take immutable references and return\nmutable ones. This will no"],"uninit_vec":["Deny","\nChecks for set_len() call that creates Vec with uninitialized elements.\nThis is commonly caused by "],"string_lit_as_bytes":[C[0],"\nChecks for the as_bytes method called on string literals\nthat contain only ASCII characters.\n\n Why "],"get_first":["Warn","\nChecks for using x.get(0) instead of\nx.first().\n\n Why is this bad?\nUsing x.first() is easier to rea"],"suspicious_splitn":["Deny","\nChecks for calls to [splitn]\n(https://doc.rust-lang.org/std/primitive.str.htmlmethod.splitn) and\nre"],"zero_prefixed_literal":["Warn","\nWarns if an integral constant literal starts with 0.\n\n Why is this bad?\nIn some languages (includin"],"verbose_file_reads":[C[0],"\nChecks for use of File::read_to_end and File::read_to_string.\n\n Why is this bad?\nfs::{read, read_to"],"err_expect":["Warn","\nChecks for .err().expect() calls on the Result type.\n\n Why is this bad?\n.expect_err() can be called"],"double_parens":["Warn","\nChecks for unnecessary double parentheses.\n\n Why is this bad?\nThis makes code harder to read and mi"],"cast_sign_loss":[C[0],"\nChecks for casts from a signed to an unsigned numerical\ntype. In this case, negative values wrap ar"],"redundant_field_names":["Warn","\nChecks for fields in struct literals where shorthands\ncould be used.\n\n Why is this bad?\nIf the fiel"],"misrefactored_assign_op":["Warn","\nChecks for a op= a op b or a op= b op a patterns.\n\n Why is this bad?\nMost likely these are bugs whe"],"while_let_on_iterator":["Warn","\nChecks for while let expressions on iterators.\n\n Why is this bad?\nReadability. A simple for loop is"],"crosspointer_transmute":["Warn","\nChecks for transmutes between a type T and *T.\n\n Why is this bad?\nIt's easy to mistakenly transmute"],"new_ret_no_self":["Warn","\nChecks for new not returning a type that contains Self.\n\n Why is this bad?\nAs a convention, new met"],"allow_attributes_without_reason":[C[0],"\nChecks for attributes that allow lints without a reason.\n\n(This requires the lint_reasons feature)\n"],"field_reassign_with_default":["Warn","\nChecks for immediate reassignment of fields initialized\nwith Default::default().\n\n Why is this bad?"],"vec_init_then_push":["Warn","\nChecks for calls to push immediately after creating a new Vec.\n\nIf the Vec is created using with_ca"],"map_clone":["Warn","\nChecks for usage of map(|x| x.clone()) or\ndereferencing closures for Copy types, on Iterator or Opt"],"map_entry":["Warn","\nChecks for uses of contains_key + insert on HashMap\nor BTreeMap.\n\n Why is this bad?\nUsing entry is "],"cast_slice_different_sizes":["Deny","\nChecks for as casts between raw pointers to slices with differently sized elements.\n\n Why is this b"],"same_item_push":["Warn","\nChecks whether a for loop is being used to push a constant\nvalue into a Vec.\n\n Why is this bad?\nThi"],"useless_conversion":["Warn","\nChecks for Into, TryInto, From, TryFrom, or IntoIter calls\nwhich uselessly convert to the same type"],"option_option":[C[0],"\nChecks for use of Option<Option<_>> in function signatures and type\ndefinitions\n\n Why is this bad?\n"],"enum_glob_use":[C[0],"\nChecks for use Enum::*.\n\n Why is this bad?\nIt is usually better style to use the prefixed name of\na"],"deref_addrof":["Warn","\nChecks for usage of *& and *&mut in expressions.\n\n Why is this bad?\nImmediately dereferencing a ref"],"implicit_saturating_sub":[C[0],"\nChecks for implicit saturating subtraction.\n\n Why is this bad?\nSimplicity and readability. Instead "],"inline_fn_without_body":["Deny","\nChecks for [inline] on trait methods without bodies\n\n Why is this bad?\nOnly implementations of trai"],"almost_complete_letter_range":["Warn","\nChecks for ranges which almost include the entire range of letters from 'a' to 'z', but\ndon't becau"],"invalid_utf8_in_unchecked":["Deny","\nChecks for std::str::from_utf8_unchecked with an invalid UTF-8 literal\n\n Why is this bad?\nCreating "],"large_const_arrays":["Warn","\nChecks for large const arrays that should\nbe defined as static instead.\n\n Why is this bad?\nPerforma"],"match_str_case_mismatch":["Deny","\nChecks for match expressions modifying the case of a string with non-compliant arms\n\n Why is this b"],"unimplemented":[C[0],"\nChecks for usage of unimplemented!.\n\n Why is this bad?\nThis macro should not be present in producti"],"or_fun_call":["Warn","\nChecks for calls to .or(foo(..)), .unwrap_or(foo(..)),\netc., and suggests to use or_else, unwrap_or"],"rc_buffer":[C[0],"\nChecks for Rc<T> and Arc<T> when T is a mutable buffer type such as String or Vec.\n\n Why is this ba"],"neg_cmp_op_on_partial_ord":["Warn","\nChecks for the usage of negated comparison operators on types which only implement\nPartialOrd (e.g."],"clone_on_ref_ptr":[C[0],"\nChecks for usage of .clone() on a ref-counted pointer,\n(Rc, Arc, rc::Weak, or sync::Weak), and sugg"],"bool_assert_comparison":["Warn","\nThis lint warns about boolean comparisons in assert-like macros.\n\n Why is this bad?\nIt is shorter t"],"same_functions_in_if_condition":[C[0],"\nChecks for consecutive ifs with the same function call.\n\n Why is this bad?\nThis is probably a copy "],"inline_asm_x86_att_syntax":[C[0],"\nChecks for usage of AT&T x86 assembly syntax.\n\n Why is this bad?\nThe lint has been enabled to indic"],"borrow_deref_ref":["Warn","\nChecks for &*(&T).\n\n Why is this bad?\nDereferencing and then borrowing a reference value has no eff"],"manual_instant_elapsed":[C[0],"\nLints subtraction between Instant::now() and another Instant.\n\n Why is this bad?\nIt is easy to acci"],"multiple_inherent_impl":[C[0],"\nChecks for multiple inherent implementations of a struct\n\n Why is this bad?\nSplitting the implement"],"range_minus_one":[C[0],"\nChecks for inclusive ranges where 1 is subtracted from\nthe upper bound, e.g., x..=(y-1).\n\n Why is t"],"range_step_by_zero":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nRange::step_by(0) used to be linted si"],"replace_consts":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nAssociated-constants are now preferred"],"print_literal":["Warn","\nThis lint warns about the use of literals as print!/println! args.\n\n Why is this bad?\nUsing literal"],"unnested_or_patterns":[C[0],"\nChecks for unnested or-patterns, e.g., Some(0) | Some(2) and\nsuggests replacing the pattern with a "],"useless_asref":["Warn","\nChecks for usage of .as_ref() or .as_mut() where the\ntypes before and after the call are the same.\n"],"if_then_some_else_none":[C[0],"\nChecks for if-else that could be written to bool::then.\n\n Why is this bad?\nLooks a little redundant"],"or_then_unwrap":["Warn","\nChecks for .or(…).unwrap() calls to Options and Results.\n\n Why is this bad?\nYou should use .unwra"],"manual_strip":["Warn","\nSuggests using strip_{prefix,suffix} over str::{starts,ends}_with and slicing using\nthe pattern's l"],"shadow_reuse":[C[0],"\nChecks for bindings that shadow other bindings already in\nscope, while reusing the original value.\n"],"deprecated_semver":["Deny","\nChecks for [deprecated] annotations with a since\nfield that is not a valid semantic version.\n\n Why "],"char_lit_as_u8":["Warn","\nChecks for expressions where a character literal is cast\nto u8 and suggests using a byte literal in"],"unnecessary_unwrap":["Warn","\nChecks for calls of unwrap[_err]() that cannot fail.\n\n Why is this bad?\nUsing if let or match is mo"],"explicit_deref_methods":[C[0],"\nChecks for explicit deref() or deref_mut() method calls.\n\n Why is this bad?\nDereferencing by &*x or"],"use_debug":[C[0],"\nChecks for use of Debug formatting. The purpose of this\nlint is to catch debugging remnants.\n\n Why "],"missing_errors_doc":[C[0],"\nChecks the doc comments of publicly visible functions that\nreturn a Result type and warns if there "],"redundant_slicing":["Warn","\nChecks for redundant slicing expressions which use the full range, and\ndo not change the type.\n\n Wh"],"result_map_or_into_option":["Warn","\nChecks for usage of _.map_or(None, Some).\n\n Why is this bad?\nReadability, this can be written more "],"match_single_binding":["Warn","\nChecks for useless match that binds to only one value.\n\n Why is this bad?\nReadability and needless "],"unnecessary_wraps":[C[0],"\nChecks for private functions that only return Ok or Some.\n\n Why is this bad?\nIt is not meaningful t"],"as_underscore":[C[0],"\nCheck for the usage of as _ conversion using inferred type.\n\n Why is this bad?\nThe conversion might"],"redundant_closure":["Warn","\nChecks for closures which just call another function where\nthe function can be called directly. uns"],"extra_unused_lifetimes":["Warn","\nChecks for lifetimes in generics that are never used\nanywhere else.\n\n Why is this bad?\nThe addition"],"transmute_undefined_repr":[C[0],"\nChecks for transmutes between types which do not have a representation defined relative to\neach oth"],"used_underscore_binding":[C[0],"\nChecks for the use of bindings with a single leading\nunderscore.\n\n Why is this bad?\nA single leadin"],"std_instead_of_alloc":[C[0],"\n\nFinds items imported through std when available through alloc.\n\n Why is this bad?\n\nCrates which ha"],"trailing_empty_array":[C[0],"\nDisplays a warning when a struct with a trailing zero-sized array is declared without a repr attrib"],"iter_with_drain":[C[0],"\nChecks for use of .drain(..) on Vec and VecDeque for iteration.\n\n Why is this bad?\n.into_iter() is "],"filter_next":["Warn","\nChecks for usage of _.filter(_).next().\n\n Why is this bad?\nReadability, this can be written more co"],"integer_arithmetic":[C[0],"\nChecks for integer arithmetic operations which could overflow or panic.\n\nSpecifically, checks for a"],"read_zero_byte_vec":["Deny","\nThis lint catches reads into a zero-length Vec.\nEspecially in the case of a call to with_capacity, "],"wildcard_in_or_patterns":["Warn","\nChecks for wildcard pattern used with others patterns in same match arm.\n\n Why is this bad?\nWildcar"],"mod_module_files":[C[0],"\nChecks that module layout uses only self named module files, bans mod.rs files.\n\n Why is this bad?\n"],"decimal_literal_representation":[C[0],"\nWarns if there is a better representation for a numeric literal.\n\n Why is this bad?\nEspecially for "],"bytes_count_to_len":["Warn","\nIt checks for str::bytes().count() and suggests replacing it with\nstr::len().\n\n Why is this bad?\nst"],"too_many_arguments":["Warn","\nChecks for functions with too many parameters.\n\n Why is this bad?\nFunctions with lots of parameters"],"borrow_interior_mutable_const":["Warn","\nChecks if const items which is interior mutable (e.g.,\ncontains a Cell, Mutex, AtomicXxxx, etc.) ha"],"mismatched_target_os":["Deny","\nChecks for cfg attributes having operating systems used in target family position.\n\n Why is this ba"],"single_char_lifetime_names":[C[0],"\nChecks for lifetimes with names which are one character\nlong.\n\n Why is this bad?\nA single character"],"ref_option_ref":[C[0],"\nChecks for usage of &Option<&T>.\n\n Why is this bad?\nSince & is Copy, it's useless to have a\nreferen"],"range_plus_one":[C[0],"\nChecks for exclusive ranges where 1 is added to the\nupper bound, e.g., x..(y+1).\n\n Why is this bad?"],"linkedlist":[C[0],"\nChecks for usage of any LinkedList, suggesting to use a\nVec or a VecDeque (formerly called RingBuf)"],"suspicious_unary_op_formatting":["Warn","\nChecks the formatting of a unary operator on the right hand side\nof a binary operator. It lints if "],"forget_non_drop":["Warn","\nChecks for calls to std::mem::forget with a value that does not implement Drop.\n\n Why is this bad?\n"],"case_sensitive_file_extension_comparisons":[C[0],"\nChecks for calls to ends_with with possible file extensions\nand suggests to use a case-insensitive "],"bind_instead_of_map":["Warn","\nChecks for usage of _.and_then(|x| Some(y)), _.and_then(|x| Ok(y)) or\n_.or_else(|x| Err(y)).\n\n Why "],"int_plus_one":["Warn","\nChecks for usage of x >= y + 1 or x - 1 >= y (and <=) in a block\n\n Why is this bad?\nReadability -- "],"semicolon_if_nothing_returned":[C[0],"\nLooks for blocks of expressions and fires if the last expression returns\n() but is not followed by "],"missing_enforced_import_renames":[C[0],"\nChecks for imports that do not rename the item as specified\nin the enforce-import-renames config op"],"trivial_regex":[C[0],"\nChecks for trivial [regex](https://crates.io/crates/regex)\ncreation (with Regex::new, RegexBuilder:"],"boxed_local":["Warn","\nChecks for usage of Box<T> where an unboxed T would\nwork fine.\n\n Why is this bad?\nThis is an unnece"],"needless_for_each":[C[0],"\nChecks for usage of for_each that would be more simply written as a\nfor loop.\n\n Why is this bad?\nfo"],"unnecessary_find_map":["Warn","\nChecks for find_map calls that could be replaced by find or map. More\nspecifically it checks if the"],"unsafe_derive_deserialize":[C[0],"\nChecks for deriving serde::Deserialize on a type that\nhas methods using unsafe.\n\n Why is this bad?\n"],"ok_expect":["Warn","\nChecks for usage of ok().expect(..).\n\n Why is this bad?\nBecause you usually call expect() on the Re"],"swap_ptr_to_ref":["Warn","\nChecks for calls to core::mem::swap where either parameter is derived from a pointer\n\n Why is this "],"manual_non_exhaustive":["Warn","\nChecks for manual implementations of the non-exhaustive pattern.\n\n Why is this bad?\nUsing the [non_"],"redundant_feature_names":[C[0],"\nChecks for feature names with prefix use-, with- or suffix -support\n\n Why is this bad?\nThese prefix"],"vec_resize_to_zero":["Deny","\nFinds occurrences of Vec::resize(0, an_int)\n\n Why is this bad?\nThis is probably an argument inversi"],"missing_const_for_fn":[C[0],"\nSuggests the use of const in functions and methods where possible.\n\n Why is this bad?\nNot having th"],"panic_in_result_fn":[C[0],"\nChecks for usage of panic!, unimplemented!, todo!, unreachable! or assertions in a function of type"],"unit_hash":["Deny","\nDetects ().hash(_).\n\n Why is this bad?\nHashing a unit value doesn't do anything as the implementati"],"let_and_return":["Warn","\nChecks for let-bindings, which are subsequently\nreturned.\n\n Why is this bad?\nIt is just extraneous "],"large_include_file":[C[0],"\nChecks for the inclusion of large files via include_bytes!()\nand include_str!()\n\n Why is this bad?\n"],"search_is_some":["Warn","\nChecks for an iterator or string search (such as find(),\nposition(), or rposition()) followed by a "],"string_extend_chars":["Warn","\nChecks for the use of .extend(s.chars()) where s is a\n&str or String.\n\n Why is this bad?\n.push_str("],"string_to_string":[C[0],"\nThis lint checks for .to_string() method calls on values of type String.\n\n Why is this bad?\nThe to_"],"manual_async_fn":["Warn","\nIt checks for manual implementations of async functions.\n\n Why is this bad?\nIt's more idiomatic to "],"len_without_is_empty":["Warn","\nChecks for items that implement .len() but not\n.is_empty().\n\n Why is this bad?\nIt is good custom to"],"match_on_vec_items":[C[0],"\nChecks for match vec[idx] or match vec[n..m].\n\n Why is this bad?\nThis can panic at runtime.\n\n Examp"],"single_element_loop":["Warn","\nChecks whether a for loop has a single element.\n\n Why is this bad?\nThere is no reason to have a loo"],"try_err":[C[0],"\nChecks for usages of Err(x)?.\n\n Why is this bad?\nThe ? operator is designed to allow calls that\ncan"],"drop_copy":["Deny","\nChecks for calls to std::mem::drop with a value\nthat derives the Copy trait\n\n Why is this bad?\nCall"],"mistyped_literal_suffixes":["Deny","\nWarns for mistyped suffix in literals\n\n Why is this bad?\nThis is most probably a typo\n\n Known probl"],"rc_clone_in_vec_init":["Warn","\nChecks for reference-counted pointers (Arc, Rc, rc::Weak, and sync::Weak)\nin vec![elem; len]\n\n Why "],"derivable_impls":["Warn","\nDetects manual std::default::Default implementations that are identical to a derived implementation"],"redundant_clone":["Warn","\nChecks for a redundant clone() (and its relatives) which clones an owned\nvalue that is going to be "],"strlen_on_c_strings":["Warn","\nChecks for usage of libc::strlen on a CString or CStr value,\nand suggest calling as_bytes().len() o"],"manual_range_contains":["Warn","\nChecks for expressions like x >= 3 && x < 8 that could\nbe more readably expressed as (3..8).contain"],"single_match":["Warn","\nChecks for matches with a single arm where an if let\nwill usually suffice.\n\n Why is this bad?\nJust "],"iter_skip_next":["Warn","\nChecks for use of .skip(x).next() on iterators.\n\n Why is this bad?\n.nth(x) is cleaner\n\n Example\nrus"],"mismatching_type_param_order":[C[0],"\nChecks for type parameters which are positioned inconsistently between\na type definition and impl b"],"mutex_integer":[C[0],"\nChecks for usages of Mutex<X> where X is an integral\ntype.\n\n Why is this bad?\nUsing a mutex just to"],"redundant_pattern":["Warn","\nChecks for patterns in the form name @ _.\n\n Why is this bad?\nIt's almost always more readable to ju"],"infallible_destructuring_match":["Warn","\nChecks for matches being used to destructure a single-variant enum\nor tuple struct where a let will"],"suspicious_operation_groupings":[C[0],"\nChecks for unlikely usages of binary operators that are almost\ncertainly typos and/or copy/paste er"],"unneeded_wildcard_pattern":["Warn","\nChecks for tuple patterns with a wildcard\npattern (_) is next to a rest pattern (..).\n\n_NOTE_: Whil"],"empty_loop":["Warn","\nChecks for empty loop expressions.\n\n Why is this bad?\nThese busy loops burn CPU cycles without doin"],"transmute_num_to_bytes":["Warn","\nChecks for transmutes from a number to an array of u8\n\n Why this is bad?\nTransmutes are dangerous a"],"large_enum_variant":["Warn","\nChecks for large size differences between variants on\nenums.\n\n Why is this bad?\nEnum size is bounde"],"undropped_manually_drops":["Deny","\nPrevents the safe std::mem::drop function from being called on std::mem::ManuallyDrop.\n\n Why is thi"],"map_collect_result_unit":["Warn","\nChecks for usage of _.map(_).collect::<Result<(), _>().\n\n Why is this bad?\nUsing try_for_each inste"],"vtable_address_comparisons":["Deny","\nChecks for comparisons with an address of a trait vtable.\n\n Why is this bad?\nComparing trait object"],"result_map_unit_fn":["Warn","\nChecks for usage of result.map(f) where f is a function\nor closure that returns the unit type ().\n\n"],"string_add":[C[0],"\nChecks for all instances of x + _ where x is of type\nString, but only if [string_add_assign](string"],"duplicate_mod":["Warn","\nChecks for files that are included as modules multiple times.\n\n Why is this bad?\nLoading a file as "],"unused_self":[C[0],"\nChecks methods that contain a self argument but don't use it\n\n Why is this bad?\nIt may be clearer t"],"zero_ptr":["Warn","\nCatch casts from 0 to some pointer type\n\n Why is this bad?\nThis generally means null and is better "],"extend_with_drain":["Warn","\nChecks for occurrences where one vector gets extended instead of append\n\n Why is this bad?\nUsing ap"],"panic":[C[0],"\nChecks for usage of panic!.\n\n Why is this bad?\npanic! will stop the execution of the executable\n\n E"],"rc_mutex":[C[0],"\nChecks for Rc<Mutex<T>>.\n\n Why is this bad?\nRc is used in single thread and Mutex is used in multi "],"mutable_key_type":["Warn","\nChecks for sets/maps with mutable key types.\n\n Why is this bad?\nAll of HashMap, HashSet, BTreeMap a"],"only_used_in_recursion":[C[0],"\nChecks for arguments that are only used in recursion with no side-effects.\n\n Why is this bad?\nIt co"],"flat_map_option":[C[0],"\nChecks for usages of Iterator::flat_map() where filter_map() could be\nused instead.\n\n Why is this b"],"fallible_impl_from":[C[0],"\nChecks for impls of From<..> that contain panic!() or unwrap()\n\n Why is this bad?\nTryFrom should be"],"overflow_check_conditional":["Warn","\nDetects classic underflow/overflow checks.\n\n Why is this bad?\nMost classic C underflow/overflow che"],"double_neg":["Warn","\nDetects expressions of the form --x.\n\n Why is this bad?\nIt can mislead C/C++ programmers to think x"],"ptr_arg":["Warn","\nThis lint checks for function arguments of type &String, &Vec,\n&PathBuf, and Cow<_>. It will also s"],"manual_find_map":["Warn","\nChecks for usage of _.find(_).map(_) that can be written more simply\nas find_map(_).\n\n Why is this "],"non_send_fields_in_send_ty":[C[0],"\nThis lint warns about a Send implementation for a type that\ncontains fields that are not safe to be"],"cast_possible_truncation":[C[0],"\nChecks for casts between numerical types that may\ntruncate large values. This is expected behavior,"],"infinite_iter":["Deny","\nChecks for iteration that is guaranteed to be infinite.\n\n Why is this bad?\nWhile there may be place"],"explicit_counter_loop":["Warn","\nChecks for loops over slices with an explicit counter\nand suggests the use of .enumerate().\n\n Why i"],"needless_collect":["Warn","\nChecks for functions collecting an iterator when collect\nis not needed.\n\n Why is this bad?\ncollect "],"borrow_as_ptr":[C[0],"\nChecks for the usage of &expr as *const T or\n&mut expr as *mut T, and suggest using ptr::addr_of or"],"single_char_pattern":["Warn","\nChecks for string methods that receive a single-character\nstr as an argument, e.g., _.split(\"x\").\n\n"],"disallowed_types":["Warn","\nDenies the configured types in clippy.toml.\n\nNote: Even though this lint is warn-by-default, it wil"],"match_overlapping_arm":["Warn","\nChecks for overlapping match arms.\n\n Why is this bad?\nIt is likely to be an error and if not, makes"],"let_unit_value":["Warn","\nChecks for binding a unit value.\n\n Why is this bad?\nA unit value cannot usefully be used anywhere. "],"borrowed_box":["Warn","\nChecks for use of &Box<T> anywhere in the code.\nCheck the [Box documentation](https://doc.rust-lang"],"mut_mutex_lock":["Warn","\nChecks for &mut Mutex::lock calls\n\n Why is this bad?\nMutex::lock is less efficient than\ncalling Mut"],"assign_ops":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis lint is too subjective, not havin"],"collapsible_if":["Warn","\nChecks for nested if statements which can be collapsed\nby &&-combining their conditions.\n\n Why is t"],"inconsistent_struct_constructor":[C[0],"\nChecks for struct constructors where all fields are shorthand and\nthe order of the field init short"],"needless_late_init":["Warn","\nChecks for late initializations that can be replaced by a let statement\nwith an initializer.\n\n Why "],"transmute_int_to_bool":["Warn","\nChecks for transmutes from an integer to a bool.\n\n Why is this bad?\nThis might result in an invalid"],"non_octal_unix_permissions":["Deny","\nChecks for non-octal values used to set Unix file permissions.\n\n Why is this bad?\nThey will be conv"],"transmuting_null":["Deny","\nChecks for transmute calls which would receive a null pointer.\n\n Why is this bad?\nTransmuting a nul"],"unused_collect":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis lint has been superseded by [must"],"wildcard_dependencies":[C[0],"\nChecks for wildcard dependencies in the Cargo.toml.\n\n Why is this bad?\n[As the edition guide says]("],"float_cmp_const":[C[0],"\nChecks for (in-)equality comparisons on floating-point\nvalue and constant, except in functions call"],"large_stack_arrays":[C[0],"\nChecks for local arrays that may be too large.\n\n Why is this bad?\nLarge local arrays may cause stac"],"assertions_on_constants":["Warn","\nChecks for assert!(true) and assert!(false) calls.\n\n Why is this bad?\nWill be optimized out by the "],"manual_bits":["Warn","\nChecks for uses of std::mem::size_of::<T>() * 8 when\nT::BITS is available.\n\n Why is this bad?\nCan b"],"module_inception":["Warn","\nChecks for modules that have the same name as their\nparent module\n\n Why is this bad?\nA typical begi"],"unsafe_vector_initialization":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis lint used to suggest replacing le"],"trait_duplication_in_bounds":[C[0],"\nChecks for cases where generics are being used and multiple\nsyntax specifications for trait bounds "],"unstable_as_slice":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis used to check for Vec::as_slice, "],"blocks_in_if_conditions":["Warn","\nChecks for if conditions that use blocks containing an\nexpression, statements or conditions that us"],"empty_line_after_outer_attr":[C[0],"\nChecks for empty lines after outer attributes\n\n Why is this bad?\nMost likely the attribute was mean"],"writeln_empty_string":["Warn","\nThis lint warns when you use writeln!(buf, \"\") to\nprint a newline.\n\n Why is this bad?\nYou should us"],"too_many_lines":[C[0],"\nChecks for functions with a large amount of lines.\n\n Why is this bad?\nFunctions with a lot of lines"],"mem_replace_with_uninit":["Deny","\nChecks for mem::replace(&mut _, mem::uninitialized())\nand mem::replace(&mut _, mem::zeroed()).\n\n Wh"],"await_holding_lock":["Warn","\nChecks for calls to await while holding a non-async-aware MutexGuard.\n\n Why is this bad?\nThe Mutex "],"enum_clike_unportable_variant":["Deny","\nChecks for C-like enumerations that are\nrepr(isize/usize) and have values that don't fit into an i3"],"if_let_mutex":["Deny","\nChecks for Mutex::lock calls in if let expression\nwith lock calls in any of the else blocks.\n\n Why "],"deprecated_cfg_attr":["Warn","\nChecks for [cfg_attr(rustfmt, rustfmt_skip)] and suggests to replace it\nwith [rustfmt::skip].\n\n Why"],"unit_cmp":["Deny","\nChecks for comparisons to unit. This includes all binary\ncomparisons (like == and <) and asserts.\n\n"],"unnecessary_join":[C[0],"\nChecks for use of .collect::<Vec<String>>().join(\"\") on iterators.\n\n Why is this bad?\n.collect::<St"],"derive_hash_xor_eq":["Deny","\nChecks for deriving Hash but implementing PartialEq\nexplicitly or vice versa.\n\n Why is this bad?\nTh"],"doc_markdown":[C[0],"\nChecks for the presence of _, :: or camel-case words\noutside ticks in documentation.\n\n Why is this "],"expl_impl_clone_on_copy":[C[0],"\nChecks for explicit Clone implementations for Copy\ntypes.\n\n Why is this bad?\nTo avoid surprising be"],"octal_escapes":["Warn","\nChecks for \\0 escapes in string and byte literals that look like octal\ncharacter escapes in C.\n\n Wh"],"rest_pat_in_fully_bound_structs":[C[0],"\nChecks for unnecessary '..' pattern binding on struct when all fields are explicitly matched.\n\n Why"],"implicit_hasher":[C[0],"\nChecks for public impl or fn missing generalization\nover different hashers and implicitly defaultin"],"iter_overeager_cloned":["Warn","\nChecks for usage of _.cloned().<func>() where call to .cloned() can be postponed.\n\n Why is this bad"],"stable_sort_primitive":[C[0],"\nWhen sorting primitive values (integers, bools, chars, as well\nas arrays, slices, and tuples of suc"],"mixed_read_write_in_expression":[C[0],"\nChecks for a read and a write to the same variable where\nwhether the read occurs before or after th"],"transmute_int_to_float":["Warn","\nChecks for transmutes from an integer to a float.\n\n Why is this bad?\nTransmutes are dangerous and e"],"default_union_representation":[C[0],"\nDisplays a warning when a union is declared with the default representation (without a [repr(C)] at"],"index_refutable_slice":[C[0],"\nThe lint checks for slice bindings in patterns that are only used to\naccess individual slice values"],"disallowed_script_idents":[C[0],"\nChecks for usage of unicode scripts other than those explicitly allowed\nby the lint config.\n\nThis l"],"print_with_newline":["Warn","\nThis lint warns when you use print!() with a format\nstring that ends in a newline.\n\n Why is this ba"],"iter_cloned_collect":["Warn","\nChecks for the use of .cloned().collect() on slice to\ncreate a Vec.\n\n Why is this bad?\n.to_vec() is"],"verbose_bit_mask":[C[0],"\nChecks for bit masks that can be replaced by a call\nto trailing_zeros\n\n Why is this bad?\nx.trailing"],"zero_sized_map_values":[C[0],"\nChecks for maps with zero-sized value types anywhere in the code.\n\n Why is this bad?\nSince there is"],"from_iter_instead_of_collect":[C[0],"\nChecks for from_iter() function calls on types that implement the FromIterator\ntrait.\n\n Why is this"],"misaligned_transmute":["None","\nNothing. This lint has been deprecated.\n\n Deprecation reason\nThis lint should never have applied to"],"unnecessary_self_imports":[C[0],"\nChecks for imports ending in ::{self}.\n\n Why is this bad?\nIn most cases, this can be written much m"],"ptr_offset_with_cast":["Warn","\nChecks for usage of the offset pointer method with a usize casted to an\nisize.\n\n Why is this bad?\nI"],"range_zip_with_len":["Warn","\nChecks for zipping a collection with the range of\n0.._.len().\n\n Why is this bad?\nThe code is better"],"missing_docs_in_private_items":[C[0],"\nWarns if there is missing doc for any documentable item\n(public or private).\n\n Why is this bad?\nDoc"],"negative_feature_names":[C[0],"\nChecks for negative feature names with prefix no- or not-\n\n Why is this bad?\nFeatures are supposed "],"to_string_in_format_args":["Warn","\nChecks for [ToString::to_string](https://doc.rust-lang.org/std/string/trait.ToString.htmltymethod.t"],"implicit_return":[C[0],"\nChecks for missing return statements at the end of a block.\n\n Why is this bad?\nActually omitting th"],"question_mark":["Warn","\nChecks for expressions that could be replaced by the question mark operator.\n\n Why is this bad?\nQue"],"double_comparisons":["Warn","\nChecks for double comparisons that could be simplified to a single expression.\n\n\n Why is this bad?\n"],"find_map":["None",C[1]],"wrong_transmute":["Deny","\nChecks for transmutes that can't ever be correct on any\narchitecture.\n\n Why is this bad?\nIt's basic"],"iter_next_loop":["Deny","\nChecks for loops on x.next().\n\n Why is this bad?\nnext() returns either Some(value) if there was a\nv"],"mutex_atomic":[C[0],"\nChecks for usages of Mutex<X> where an atomic will do.\n\n Why is this bad?\nUsing a mutex just to mak"],"needless_pass_by_value":[C[0],"\nChecks for functions taking arguments by value, but not\nconsuming them in its\nbody.\n\n Why is this b"],"string_from_utf8_as_bytes":["Warn","\nCheck if the string is transformed to byte array and casted back to string.\n\n Why is this bad?\nIt's"],"manual_flatten":["Warn","\nCheck for unnecessary if let usage in a for loop\nwhere only the Some or Ok variant of the iterator "],"match_wild_err_arm":[C[0],"\nChecks for arm which matches all errors with Err(_)\nand take drastic actions like panic!.\n\n Why is "],"never_loop":["Deny","\nChecks for loops that will always break, return or\ncontinue an outer loop.\n\n Why is this bad?\nThis "],"doc_link_with_quotes":[C[0],"\nDetects the syntax ['foo'] in documentation comments (notice quotes instead of backticks)\noutside o"],"useless_let_if_seq":[C[0],"\nChecks for variable declarations immediately followed by a\nconditional affectation.\n\n Why is this b"],"disallowed_names":["Warn","\nChecks for usage of disallowed names for variables, such\nas foo.\n\n Why is this bad?\nThese names are"],"match_same_arms":[C[0],"\nChecks for match with identical arm bodies.\n\n Why is this bad?\nThis is probably a copy & paste erro"],"module_name_repetitions":[C[0],"\nDetects type names that are prefixed or suffixed by the\ncontaining module's name.\n\n Why is this bad"],"string_add_assign":[C[0],"\nChecks for string appends of the form x = x + y (without\nlet!).\n\n Why is this bad?\nIt's not really "],"clone_double_ref":["Deny","\nChecks for usage of .clone() on an &&T.\n\n Why is this bad?\nCloning an &&T copies the inner &T, inst"],"struct_excessive_bools":[C[0],"\nChecks for excessive\nuse of bools in structs.\n\n Why is this bad?\nExcessive bools in a struct\nis oft"],"redundant_closure_for_method_calls":[C[0],"\nChecks for closures which only invoke a method on the closure\nargument and can be replaced by refer"],"upper_case_acronyms":["Warn","\nChecks for fully capitalized names and optionally names containing a capitalized acronym.\n\n Why is "],"must_use_unit":["Warn","\nChecks for a [must_use] attribute on\nunit-returning functions and methods.\n\n Why is this bad?\nUnit "],"forget_copy":["Deny","\nChecks for calls to std::mem::forget with a value that\nderives the Copy trait\n\n Why is this bad?\nCa"],"declare_interior_mutable_const":["Warn","\nChecks for declaration of const items which is interior\nmutable (e.g., contains a Cell, Mutex, Atom"],"maybe_infinite_iter":[C[0],"\nChecks for iteration that may be infinite.\n\n Why is this bad?\nWhile there may be places where this "],"if_same_then_else":["Deny","\nChecks for if/else with the same body as the *then* part\nand the *else* part.\n\n Why is this bad?\nTh"],"collapsible_else_if":["Warn","\nChecks for collapsible else { if ... } expressions\nthat can be collapsed to else if ....\n\n Why is t"],"format_in_format_args":["Warn","\nDetects format! within the arguments of another macro that does\nformatting such as format! itself, "],"match_wildcard_for_single_variants":[C[0],"\nChecks for wildcard enum matches for a single variant.\n\n Why is this bad?\nNew enum variants added b"],"transmute_ptr_to_ptr":[C[0],"\nChecks for transmutes from a pointer to a pointer, or\nfrom a reference to a reference.\n\n Why is thi"],"builtin_type_shadow":["Warn","\nWarns if a generic shadows a built-in type.\n\n Why is this bad?\nThis gives surprising type errors.\n\n"],"manual_saturating_arithmetic":["Warn","\nChecks for .checked_add/sub(x).unwrap_or(MAX/MIN).\n\n Why is this bad?\nThese can be written simply w"],"init_numbered_fields":["Warn","\nChecks for tuple structs initialized with field syntax.\nIt will however not lint if a base initiali"],"unnecessary_sort_by":["Warn","\nDetects uses of Vec::sort_by passing in a closure\nwhich compares the two arguments, either directly"],"needless_arbitrary_self_type":["Warn","\nThe lint checks for self in fn parameters that\nspecify the Self-type explicitly\n Why is this bad?\nI"],"iter_count":["Warn","\nChecks for the use of .iter().count().\n\n Why is this bad?\n.len() is more efficient and more\nreadabl"],"recursive_format_impl":["Deny","\nChecks for format trait implementations (e.g. Display) with a recursive call to itself\nwhich uses s"],"deref_by_slicing":[C[0],"\nChecks for slicing expressions which are equivalent to dereferencing the\nvalue.\n\n Why is this bad?\n"],"inline_always":[C[0],"\nChecks for items annotated with [inline(always)],\nunless the annotated function is empty or simply "],"float_cmp":[C[0],"\nChecks for (in-)equality comparisons on floating-point\nvalues (apart from zero), except in function"],"suspicious_assignment_formatting":["Warn","\nChecks for use of the non-existent =*, =! and =-\noperators.\n\n Why is this bad?\nThis is either a typ"],"manual_find":["Warn","\nCheck for manual implementations of Iterator::find\n\n Why is this bad?\nIt doesn't affect performance"],"transmute_ptr_to_ref":["Warn","\nChecks for transmutes from a pointer to a reference.\n\n Why is this bad?\nThis can always be rewritte"],"possible_missing_comma":["Deny","\nChecks for possible missing comma in an array. It lints if\nan array element is a binary operator ex"],"type_complexity":["Warn","\nChecks for types used in structs, parameters and let\ndeclarations above a certain complexity thresh"],"println_empty_string":["Warn","\nThis lint warns when you use println!(\"\") to\nprint a newline.\n\n Why is this bad?\nYou should use pri"],"needless_return":["Warn","\nChecks for return statements at the end of a block.\n\n Why is this bad?\nRemoving the return and semi"],"option_filter_map":["Warn","\nChecks for indirect collection of populated Option\n\n Why is this bad?\nOption is like a collection o"],"size_of_in_element_count":["Deny","\nDetects expressions where\nsize_of::<T> or size_of_val::<T> is used as a\ncount of elements of type T"],"unused_io_amount":["Deny","\nChecks for unused written/read amount.\n\n Why is this bad?\nio::Write::write(_vectored) and\nio::Read:"],"needless_continue":[C[0],"\nThe lint checks for if-statements appearing in loops\nthat contain a continue statement in either th"],"useless_format":["Warn","\nChecks for the use of format!(\"string literal with no\nargument\") and format!(\"{}\", foo) where foo i"],"create_dir":[C[0],"\nChecks usage of std::fs::create_dir and suggest using std::fs::create_dir_all instead.\n\n Why is thi"],"no_effect":["Warn","\nChecks for statements which have no effect.\n\n Why is this bad?\nUnlike dead code, these statements a"],"enum_variant_names":["Warn","\nDetects enumeration variants that are prefixed or suffixed\nby the same characters.\n\n Why is this ba"],"missing_spin_loop":["Warn","\nCheck for empty spin loops\n\n Why is this bad?\nThe loop body should have something like thread::park"],"ptr_eq":["Warn","\nUse std::ptr::eq when applicable\n\n Why is this bad?\nptr::eq can be used to compare &T references\n(w"],"just_underscores_and_digits":["Warn","\nChecks if you have variables whose name consists of just\nunderscores and digits.\n\n Why is this bad?"],"partialeq_ne_impl":["Warn","\nChecks for manual re-implementations of PartialEq::ne.\n\n Why is this bad?\nPartialEq::ne is required"],"macro_use_imports":[C[0],"\nChecks for [macro_use] use....\n\n Why is this bad?\nSince the Rust 2018 edition you can import\nmacro'"],"chars_next_cmp":["Warn","\nChecks for usage of .chars().next() on a str to check\nif it starts with a given char.\n\n Why is this"],"fn_params_excessive_bools":[C[0],"\nChecks for excessive use of\nbools in function definitions.\n\n Why is this bad?\nCalls to such functio"],"explicit_write":["Warn","\nChecks for usage of write!() / writeln()! which can be\nreplaced with (e)print!() / (e)println!()\n\n "],"unusual_byte_groupings":["Warn","\nWarns if hexadecimal or binary literals are not grouped\nby nibble or byte.\n\n Why is this bad?\nNegat"],"unused_rounding":[C[0],"\n\nDetects cases where a whole-number literal float is being rounded, using\nthe floor, ceil, or round"],"copy_iterator":[C[0],"\nChecks for types that implement Copy as well as\nIterator.\n\n Why is this bad?\nImplicit copies can be"],"comparison_to_empty":["Warn","\nChecks for comparing to an empty slice such as \"\" or [],\nand suggests using .is_empty() where appli"],"uninit_assumed_init":["Deny","\nChecks for MaybeUninit::uninit().assume_init().\n\n Why is this bad?\nFor most types, this is undefine"],"redundant_static_lifetimes":["Warn","\nChecks for constants and statics with an explicit 'static lifetime.\n\n Why is this bad?\nAdding 'stat"],"identity_op":["Warn","\nChecks for identity operations, e.g., x + 0.\n\n Why is this bad?\nThis code can be removed without ch"],"many_single_char_names":[C[0],"\nChecks for too many variables whose name consists of a\nsingle character.\n\n Why is this bad?\nIt's ha"],"float_arithmetic":[C[0],"\nChecks for float arithmetic.\n\n Why is this bad?\nFor some embedded systems or kernel development, it"],"needless_borrowed_reference":["Warn","\nChecks for bindings that destructure a reference and borrow the inner\nvalue with &ref.\n\n Why is thi"],"empty_structs_with_brackets":[C[0],"\nFinds structs without fields (a so-called \"empty struct\") that are declared with brackets.\n\n Why is"],"zero_divided_by_zero":["Warn","\nChecks for 0.0 / 0.0.\n\n Why is this bad?\nIt's less readable than f32::NAN or f64::NAN.\n\n Example\nru"],"excessive_precision":["Warn","\nChecks for float literals with a precision greater\nthan that supported by the underlying type.\n\n Wh"],"needless_bitwise_bool":[C[0],"\nChecks for uses of bitwise and/or operators between booleans, where performance may be improved by "],"shadow_unrelated":[C[0],"\nChecks for bindings that shadow other bindings already in\nscope, either without an initialization o"],"precedence":["Warn","\nChecks for operations where precedence may be unclear\nand suggests to add parentheses. Currently it"],"inline_asm_x86_intel_syntax":[C[0],"\nChecks for usage of Intel x86 assembly syntax.\n\n Why is this bad?\nThe lint has been enabled to indi"],"pub_enum_variant_names":["None",C[2]],"unwrap_used":[C[0],"\nChecks for .unwrap() calls on Options and on Results.\n\n Why is this bad?\nIt is better to handle the"],"drop_non_drop":["Warn","\nChecks for calls to std::mem::drop with a value that does not implement Drop.\n\n Why is this bad?\nCa"],"transmute_float_to_int":["Warn","\nChecks for transmutes from a float to an integer.\n\n Why is this bad?\nTransmutes are dangerous and e"],"explicit_auto_deref":["Warn","\nChecks for dereferencing expressions which would be covered by auto-deref.\n\n Why is this bad?\nThis "],"separated_literal_suffix":[C[0],"\nWarns if literal suffixes are separated by an underscore.\nTo enforce separated literal suffix style"],"large_types_passed_by_value":[C[0],"\nChecks for functions taking arguments by value, where\nthe argument type is Copy and large enough to"],"inconsistent_digit_grouping":["Warn","\nWarns if an integral or floating-point constant is\ngrouped inconsistently with underscores.\n\n Why i"],"unit_arg":["Warn","\nChecks for passing a unit value as an argument to a function without using a\nunit literal (()).\n\n W"],"needless_bool":["Warn","\nChecks for expressions of the form if c { true } else {\nfalse } (or vice versa) and suggests using "],"items_after_statements":[C[0],"\nChecks for items declared after some statement in a block.\n\n Why is this bad?\nItems live for the en"],"cast_possible_wrap":[C[0],"\nChecks for casts from an unsigned type to a signed type of\nthe same size. Performing such a cast is"],"similar_names":[C[0],"\nChecks for names that are very similar and thus confusing.\n\n Why is this bad?\nIt's hard to distingu"],"naive_bytecount":[C[0],"\nChecks for naive byte counts\n\n Why is this bad?\nThe [bytecount](https://crates.io/crates/bytecount)"],"serde_api_misuse":["Deny","\nChecks for mis-uses of the serde API.\n\n Why is this bad?\nSerde is very finnicky about how its API s"],"checked_conversions":[C[0],"\nChecks for explicit bounds checking when casting.\n\n Why is this bad?\nReduces the readability of sta"],"needless_question_mark":["Warn","\nSuggests alternatives for useless applications of ? in terminating expressions\n\n Why is this bad?\nT"],"cargo_common_metadata":[C[0],"\nChecks to see if all common metadata is defined in\nCargo.toml. See: https://rust-lang-nursery.githu"],"iter_next_slice":["Warn","\nChecks for usage of iter().next() on a Slice or an Array\n\n Why is this bad?\nThese can be shortened "],"suboptimal_flops":[C[0],"\nLooks for floating-point expressions that\ncan be expressed using built-in methods to improve both\na"],"to_digit_is_some":["Warn","\nChecks for .to_digit(..).is_some() on chars.\n\n Why is this bad?\nThis is a convoluted way of checkin"],"unnecessary_mut_passed":["Warn","\nDetects passing a mutable reference to a function that only\nrequires an immutable reference.\n\n Why "],"obfuscated_if_else":["Warn","\nChecks for usages of .then_some(..).unwrap_or(..)\n\n Why is this bad?\nThis can be written more clear"],"useless_vec":["Warn","\nChecks for usage of &vec![..] when using &[..] would\nbe possible.\n\n Why is this bad?\nThis is less e"],"write_literal":["Warn","\nThis lint warns about the use of literals as write!/writeln! args.\n\n Why is this bad?\nUsing literal"],"pattern_type_mismatch":[C[0],"\nChecks for patterns that aren't exact representations of the types\nthey are applied to.\n\nTo satisfy"],"manual_split_once":["Warn","\nChecks for usages of str::splitn(2, _)\n\n Why is this bad?\nsplit_once is both clearer in intent and "],"pub_use":[C[0],"\n\nRestricts the usage of pub use ...\n\n Why is this bad?\n\npub use is usually fine, but a project may "],"needless_match":["Warn","\nChecks for unnecessary match or match-like if let returns for Option and Result\nwhen function signa"],"must_use_candidate":[C[0],"\nChecks for public functions that have no\n[must_use] attribute, but return something not already mar"],"unnecessary_filter_map":["Warn","\nChecks for filter_map calls that could be replaced by filter or map.\nMore specifically it checks if"],"let_underscore_lock":["Deny","\nChecks for let _ = sync_lock.\nThis supports mutex and rwlock in std::sync and parking_lot.\n\n Why is"],"mut_range_bound":["Warn","\nChecks for loops which have a range bound that is a mutable variable\n\n Why is this bad?\nOne might t"]}; |