rust-search-extension/extension/index/lints.js
2022-08-11 23:34:23 +08:00

1 line
No EOL
77 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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?\nIts 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"]};