]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/src/docs.rs
:arrow_up: rust-analyzer
[rust.git] / src / tools / clippy / src / docs.rs
1 // autogenerated. Please look at /clippy_dev/src/update_lints.rs
2
3 macro_rules! include_lint {
4     ($file_name: expr) => {
5         include_str!($file_name)
6     };
7 }
8
9 macro_rules! docs {
10     ($($lint_name: expr,)*) => {
11         pub fn explain(lint: &str) {
12             println!("{}", match lint {
13                 $(
14                     $lint_name => include_lint!(concat!("docs/", concat!($lint_name, ".txt"))),
15                 )*
16                 _ => "unknown lint",
17             })
18         }
19     }
20 }
21
22 docs! {
23     "absurd_extreme_comparisons",
24     "alloc_instead_of_core",
25     "allow_attributes_without_reason",
26     "almost_complete_letter_range",
27     "almost_swapped",
28     "approx_constant",
29     "arithmetic_side_effects",
30     "as_conversions",
31     "as_ptr_cast_mut",
32     "as_underscore",
33     "assertions_on_constants",
34     "assertions_on_result_states",
35     "assign_op_pattern",
36     "async_yields_async",
37     "await_holding_invalid_type",
38     "await_holding_lock",
39     "await_holding_refcell_ref",
40     "bad_bit_mask",
41     "bind_instead_of_map",
42     "blanket_clippy_restriction_lints",
43     "blocks_in_if_conditions",
44     "bool_assert_comparison",
45     "bool_comparison",
46     "bool_to_int_with_if",
47     "borrow_as_ptr",
48     "borrow_deref_ref",
49     "borrow_interior_mutable_const",
50     "borrowed_box",
51     "box_collection",
52     "box_default",
53     "boxed_local",
54     "branches_sharing_code",
55     "builtin_type_shadow",
56     "bytes_count_to_len",
57     "bytes_nth",
58     "cargo_common_metadata",
59     "case_sensitive_file_extension_comparisons",
60     "cast_abs_to_unsigned",
61     "cast_enum_constructor",
62     "cast_enum_truncation",
63     "cast_lossless",
64     "cast_nan_to_int",
65     "cast_possible_truncation",
66     "cast_possible_wrap",
67     "cast_precision_loss",
68     "cast_ptr_alignment",
69     "cast_ref_to_mut",
70     "cast_sign_loss",
71     "cast_slice_different_sizes",
72     "cast_slice_from_raw_parts",
73     "char_lit_as_u8",
74     "chars_last_cmp",
75     "chars_next_cmp",
76     "checked_conversions",
77     "clone_double_ref",
78     "clone_on_copy",
79     "clone_on_ref_ptr",
80     "cloned_instead_of_copied",
81     "cmp_nan",
82     "cmp_null",
83     "cmp_owned",
84     "cognitive_complexity",
85     "collapsible_else_if",
86     "collapsible_if",
87     "collapsible_match",
88     "collapsible_str_replace",
89     "comparison_chain",
90     "comparison_to_empty",
91     "copy_iterator",
92     "crate_in_macro_def",
93     "create_dir",
94     "crosspointer_transmute",
95     "dbg_macro",
96     "debug_assert_with_mut_call",
97     "decimal_literal_representation",
98     "declare_interior_mutable_const",
99     "default_instead_of_iter_empty",
100     "default_numeric_fallback",
101     "default_trait_access",
102     "default_union_representation",
103     "deprecated_cfg_attr",
104     "deprecated_semver",
105     "deref_addrof",
106     "deref_by_slicing",
107     "derivable_impls",
108     "derive_hash_xor_eq",
109     "derive_ord_xor_partial_ord",
110     "derive_partial_eq_without_eq",
111     "disallowed_macros",
112     "disallowed_methods",
113     "disallowed_names",
114     "disallowed_script_idents",
115     "disallowed_types",
116     "diverging_sub_expression",
117     "doc_link_with_quotes",
118     "doc_markdown",
119     "double_comparisons",
120     "double_must_use",
121     "double_neg",
122     "double_parens",
123     "drop_copy",
124     "drop_non_drop",
125     "drop_ref",
126     "duplicate_mod",
127     "duplicate_underscore_argument",
128     "duration_subsec",
129     "else_if_without_else",
130     "empty_drop",
131     "empty_enum",
132     "empty_line_after_outer_attr",
133     "empty_loop",
134     "empty_structs_with_brackets",
135     "enum_clike_unportable_variant",
136     "enum_glob_use",
137     "enum_variant_names",
138     "eq_op",
139     "equatable_if_let",
140     "erasing_op",
141     "err_expect",
142     "excessive_precision",
143     "exhaustive_enums",
144     "exhaustive_structs",
145     "exit",
146     "expect_fun_call",
147     "expect_used",
148     "expl_impl_clone_on_copy",
149     "explicit_auto_deref",
150     "explicit_counter_loop",
151     "explicit_deref_methods",
152     "explicit_into_iter_loop",
153     "explicit_iter_loop",
154     "explicit_write",
155     "extend_with_drain",
156     "extra_unused_lifetimes",
157     "fallible_impl_from",
158     "field_reassign_with_default",
159     "filetype_is_file",
160     "filter_map_identity",
161     "filter_map_next",
162     "filter_next",
163     "flat_map_identity",
164     "flat_map_option",
165     "float_arithmetic",
166     "float_cmp",
167     "float_cmp_const",
168     "float_equality_without_abs",
169     "fn_address_comparisons",
170     "fn_params_excessive_bools",
171     "fn_to_numeric_cast",
172     "fn_to_numeric_cast_any",
173     "fn_to_numeric_cast_with_truncation",
174     "for_kv_map",
175     "forget_copy",
176     "forget_non_drop",
177     "forget_ref",
178     "format_in_format_args",
179     "format_push_string",
180     "from_iter_instead_of_collect",
181     "from_over_into",
182     "from_str_radix_10",
183     "future_not_send",
184     "get_first",
185     "get_last_with_len",
186     "get_unwrap",
187     "identity_op",
188     "if_let_mutex",
189     "if_not_else",
190     "if_same_then_else",
191     "if_then_some_else_none",
192     "ifs_same_cond",
193     "implicit_clone",
194     "implicit_hasher",
195     "implicit_return",
196     "implicit_saturating_add",
197     "implicit_saturating_sub",
198     "imprecise_flops",
199     "inconsistent_digit_grouping",
200     "inconsistent_struct_constructor",
201     "index_refutable_slice",
202     "indexing_slicing",
203     "ineffective_bit_mask",
204     "inefficient_to_string",
205     "infallible_destructuring_match",
206     "infinite_iter",
207     "inherent_to_string",
208     "inherent_to_string_shadow_display",
209     "init_numbered_fields",
210     "inline_always",
211     "inline_asm_x86_att_syntax",
212     "inline_asm_x86_intel_syntax",
213     "inline_fn_without_body",
214     "inspect_for_each",
215     "int_plus_one",
216     "integer_arithmetic",
217     "integer_division",
218     "into_iter_on_ref",
219     "invalid_null_ptr_usage",
220     "invalid_regex",
221     "invalid_upcast_comparisons",
222     "invalid_utf8_in_unchecked",
223     "invisible_characters",
224     "is_digit_ascii_radix",
225     "items_after_statements",
226     "iter_cloned_collect",
227     "iter_count",
228     "iter_kv_map",
229     "iter_next_loop",
230     "iter_next_slice",
231     "iter_not_returning_iterator",
232     "iter_nth",
233     "iter_nth_zero",
234     "iter_on_empty_collections",
235     "iter_on_single_items",
236     "iter_overeager_cloned",
237     "iter_skip_next",
238     "iter_with_drain",
239     "iterator_step_by_zero",
240     "just_underscores_and_digits",
241     "large_const_arrays",
242     "large_digit_groups",
243     "large_enum_variant",
244     "large_include_file",
245     "large_stack_arrays",
246     "large_types_passed_by_value",
247     "len_without_is_empty",
248     "len_zero",
249     "let_and_return",
250     "let_underscore_drop",
251     "let_underscore_lock",
252     "let_underscore_must_use",
253     "let_unit_value",
254     "linkedlist",
255     "lossy_float_literal",
256     "macro_use_imports",
257     "main_recursion",
258     "manual_assert",
259     "manual_async_fn",
260     "manual_bits",
261     "manual_clamp",
262     "manual_filter",
263     "manual_filter_map",
264     "manual_find",
265     "manual_find_map",
266     "manual_flatten",
267     "manual_instant_elapsed",
268     "manual_map",
269     "manual_memcpy",
270     "manual_non_exhaustive",
271     "manual_ok_or",
272     "manual_range_contains",
273     "manual_rem_euclid",
274     "manual_retain",
275     "manual_saturating_arithmetic",
276     "manual_split_once",
277     "manual_str_repeat",
278     "manual_string_new",
279     "manual_strip",
280     "manual_swap",
281     "manual_unwrap_or",
282     "many_single_char_names",
283     "map_clone",
284     "map_collect_result_unit",
285     "map_entry",
286     "map_err_ignore",
287     "map_flatten",
288     "map_identity",
289     "map_unwrap_or",
290     "match_as_ref",
291     "match_bool",
292     "match_like_matches_macro",
293     "match_on_vec_items",
294     "match_overlapping_arm",
295     "match_ref_pats",
296     "match_result_ok",
297     "match_same_arms",
298     "match_single_binding",
299     "match_str_case_mismatch",
300     "match_wild_err_arm",
301     "match_wildcard_for_single_variants",
302     "maybe_infinite_iter",
303     "mem_forget",
304     "mem_replace_option_with_none",
305     "mem_replace_with_default",
306     "mem_replace_with_uninit",
307     "min_max",
308     "mismatched_target_os",
309     "mismatching_type_param_order",
310     "misrefactored_assign_op",
311     "missing_const_for_fn",
312     "missing_docs_in_private_items",
313     "missing_enforced_import_renames",
314     "missing_errors_doc",
315     "missing_inline_in_public_items",
316     "missing_panics_doc",
317     "missing_safety_doc",
318     "missing_spin_loop",
319     "missing_trait_methods",
320     "mistyped_literal_suffixes",
321     "mixed_case_hex_literals",
322     "mixed_read_write_in_expression",
323     "mod_module_files",
324     "module_inception",
325     "module_name_repetitions",
326     "modulo_arithmetic",
327     "modulo_one",
328     "multi_assignments",
329     "multiple_crate_versions",
330     "multiple_inherent_impl",
331     "must_use_candidate",
332     "must_use_unit",
333     "mut_from_ref",
334     "mut_mut",
335     "mut_mutex_lock",
336     "mut_range_bound",
337     "mutable_key_type",
338     "mutex_atomic",
339     "mutex_integer",
340     "naive_bytecount",
341     "needless_arbitrary_self_type",
342     "needless_bitwise_bool",
343     "needless_bool",
344     "needless_borrow",
345     "needless_borrowed_reference",
346     "needless_collect",
347     "needless_continue",
348     "needless_doctest_main",
349     "needless_for_each",
350     "needless_late_init",
351     "needless_lifetimes",
352     "needless_match",
353     "needless_option_as_deref",
354     "needless_option_take",
355     "needless_parens_on_range_literals",
356     "needless_pass_by_value",
357     "needless_question_mark",
358     "needless_range_loop",
359     "needless_return",
360     "needless_splitn",
361     "needless_update",
362     "neg_cmp_op_on_partial_ord",
363     "neg_multiply",
364     "negative_feature_names",
365     "never_loop",
366     "new_ret_no_self",
367     "new_without_default",
368     "no_effect",
369     "no_effect_replace",
370     "no_effect_underscore_binding",
371     "non_ascii_literal",
372     "non_octal_unix_permissions",
373     "non_send_fields_in_send_ty",
374     "nonminimal_bool",
375     "nonsensical_open_options",
376     "nonstandard_macro_braces",
377     "not_unsafe_ptr_arg_deref",
378     "obfuscated_if_else",
379     "octal_escapes",
380     "ok_expect",
381     "only_used_in_recursion",
382     "op_ref",
383     "option_as_ref_deref",
384     "option_env_unwrap",
385     "option_filter_map",
386     "option_if_let_else",
387     "option_map_or_none",
388     "option_map_unit_fn",
389     "option_option",
390     "or_fun_call",
391     "or_then_unwrap",
392     "out_of_bounds_indexing",
393     "overflow_check_conditional",
394     "overly_complex_bool_expr",
395     "panic",
396     "panic_in_result_fn",
397     "panicking_unwrap",
398     "partial_pub_fields",
399     "partialeq_ne_impl",
400     "partialeq_to_none",
401     "path_buf_push_overwrite",
402     "pattern_type_mismatch",
403     "possible_missing_comma",
404     "precedence",
405     "print_in_format_impl",
406     "print_literal",
407     "print_stderr",
408     "print_stdout",
409     "print_with_newline",
410     "println_empty_string",
411     "ptr_arg",
412     "ptr_as_ptr",
413     "ptr_eq",
414     "ptr_offset_with_cast",
415     "pub_use",
416     "question_mark",
417     "range_minus_one",
418     "range_plus_one",
419     "range_zip_with_len",
420     "rc_buffer",
421     "rc_clone_in_vec_init",
422     "rc_mutex",
423     "read_zero_byte_vec",
424     "recursive_format_impl",
425     "redundant_allocation",
426     "redundant_clone",
427     "redundant_closure",
428     "redundant_closure_call",
429     "redundant_closure_for_method_calls",
430     "redundant_else",
431     "redundant_feature_names",
432     "redundant_field_names",
433     "redundant_pattern",
434     "redundant_pattern_matching",
435     "redundant_pub_crate",
436     "redundant_slicing",
437     "redundant_static_lifetimes",
438     "ref_binding_to_reference",
439     "ref_option_ref",
440     "repeat_once",
441     "rest_pat_in_fully_bound_structs",
442     "result_large_err",
443     "result_map_or_into_option",
444     "result_map_unit_fn",
445     "result_unit_err",
446     "return_self_not_must_use",
447     "reversed_empty_ranges",
448     "same_functions_in_if_condition",
449     "same_item_push",
450     "same_name_method",
451     "search_is_some",
452     "self_assignment",
453     "self_named_constructors",
454     "self_named_module_files",
455     "semicolon_if_nothing_returned",
456     "separated_literal_suffix",
457     "serde_api_misuse",
458     "shadow_reuse",
459     "shadow_same",
460     "shadow_unrelated",
461     "short_circuit_statement",
462     "should_implement_trait",
463     "significant_drop_in_scrutinee",
464     "similar_names",
465     "single_char_add_str",
466     "single_char_lifetime_names",
467     "single_char_pattern",
468     "single_component_path_imports",
469     "single_element_loop",
470     "single_match",
471     "single_match_else",
472     "size_of_in_element_count",
473     "skip_while_next",
474     "slow_vector_initialization",
475     "stable_sort_primitive",
476     "std_instead_of_alloc",
477     "std_instead_of_core",
478     "str_to_string",
479     "string_add",
480     "string_add_assign",
481     "string_extend_chars",
482     "string_from_utf8_as_bytes",
483     "string_lit_as_bytes",
484     "string_slice",
485     "string_to_string",
486     "strlen_on_c_strings",
487     "struct_excessive_bools",
488     "suboptimal_flops",
489     "suspicious_arithmetic_impl",
490     "suspicious_assignment_formatting",
491     "suspicious_else_formatting",
492     "suspicious_map",
493     "suspicious_op_assign_impl",
494     "suspicious_operation_groupings",
495     "suspicious_splitn",
496     "suspicious_to_owned",
497     "suspicious_unary_op_formatting",
498     "swap_ptr_to_ref",
499     "tabs_in_doc_comments",
500     "temporary_assignment",
501     "to_digit_is_some",
502     "to_string_in_format_args",
503     "todo",
504     "too_many_arguments",
505     "too_many_lines",
506     "toplevel_ref_arg",
507     "trailing_empty_array",
508     "trait_duplication_in_bounds",
509     "transmute_bytes_to_str",
510     "transmute_float_to_int",
511     "transmute_int_to_bool",
512     "transmute_int_to_char",
513     "transmute_int_to_float",
514     "transmute_num_to_bytes",
515     "transmute_ptr_to_ptr",
516     "transmute_ptr_to_ref",
517     "transmute_undefined_repr",
518     "transmutes_expressible_as_ptr_casts",
519     "transmuting_null",
520     "trim_split_whitespace",
521     "trivial_regex",
522     "trivially_copy_pass_by_ref",
523     "try_err",
524     "type_complexity",
525     "type_repetition_in_bounds",
526     "undocumented_unsafe_blocks",
527     "undropped_manually_drops",
528     "unicode_not_nfc",
529     "unimplemented",
530     "uninit_assumed_init",
531     "uninit_vec",
532     "uninlined_format_args",
533     "unit_arg",
534     "unit_cmp",
535     "unit_hash",
536     "unit_return_expecting_ord",
537     "unnecessary_cast",
538     "unnecessary_filter_map",
539     "unnecessary_find_map",
540     "unnecessary_fold",
541     "unnecessary_join",
542     "unnecessary_lazy_evaluations",
543     "unnecessary_mut_passed",
544     "unnecessary_operation",
545     "unnecessary_owned_empty_strings",
546     "unnecessary_self_imports",
547     "unnecessary_sort_by",
548     "unnecessary_to_owned",
549     "unnecessary_unwrap",
550     "unnecessary_wraps",
551     "unneeded_field_pattern",
552     "unneeded_wildcard_pattern",
553     "unnested_or_patterns",
554     "unreachable",
555     "unreadable_literal",
556     "unsafe_derive_deserialize",
557     "unsafe_removed_from_name",
558     "unseparated_literal_suffix",
559     "unsound_collection_transmute",
560     "unused_async",
561     "unused_format_specs",
562     "unused_io_amount",
563     "unused_peekable",
564     "unused_rounding",
565     "unused_self",
566     "unused_unit",
567     "unusual_byte_groupings",
568     "unwrap_in_result",
569     "unwrap_or_else_default",
570     "unwrap_used",
571     "upper_case_acronyms",
572     "use_debug",
573     "use_self",
574     "used_underscore_binding",
575     "useless_asref",
576     "useless_attribute",
577     "useless_conversion",
578     "useless_format",
579     "useless_let_if_seq",
580     "useless_transmute",
581     "useless_vec",
582     "vec_box",
583     "vec_init_then_push",
584     "vec_resize_to_zero",
585     "verbose_bit_mask",
586     "verbose_file_reads",
587     "vtable_address_comparisons",
588     "while_immutable_condition",
589     "while_let_loop",
590     "while_let_on_iterator",
591     "wildcard_dependencies",
592     "wildcard_enum_match_arm",
593     "wildcard_imports",
594     "wildcard_in_or_patterns",
595     "write_literal",
596     "write_with_newline",
597     "writeln_empty_string",
598     "wrong_self_convention",
599     "wrong_transmute",
600     "zero_divided_by_zero",
601     "zero_prefixed_literal",
602     "zero_ptr",
603     "zero_sized_map_values",
604     "zst_offset",
605
606 }