1 // autogenerated. Please look at /clippy_dev/src/update_lints.rs
3 macro_rules! include_lint {
4 ($file_name: expr) => {
5 include_str!($file_name)
10 ($($lint_name: expr,)*) => {
11 pub fn explain(lint: &str) {
12 println!("{}", match lint {
14 $lint_name => include_lint!(concat!("docs/", concat!($lint_name, ".txt"))),
23 "absurd_extreme_comparisons",
24 "alloc_instead_of_core",
25 "allow_attributes_without_reason",
26 "almost_complete_letter_range",
29 "arithmetic_side_effects",
33 "assertions_on_constants",
34 "assertions_on_result_states",
37 "await_holding_invalid_type",
39 "await_holding_refcell_ref",
41 "bind_instead_of_map",
42 "blanket_clippy_restriction_lints",
43 "blocks_in_if_conditions",
44 "bool_assert_comparison",
46 "bool_to_int_with_if",
49 "borrow_interior_mutable_const",
54 "branches_sharing_code",
55 "builtin_type_shadow",
58 "cargo_common_metadata",
59 "case_sensitive_file_extension_comparisons",
60 "cast_abs_to_unsigned",
61 "cast_enum_constructor",
62 "cast_enum_truncation",
65 "cast_possible_truncation",
67 "cast_precision_loss",
71 "cast_slice_different_sizes",
72 "cast_slice_from_raw_parts",
76 "checked_conversions",
80 "cloned_instead_of_copied",
84 "cognitive_complexity",
85 "collapsible_else_if",
88 "collapsible_str_replace",
90 "comparison_to_empty",
94 "crosspointer_transmute",
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",
108 "derive_hash_xor_eq",
109 "derive_ord_xor_partial_ord",
110 "derive_partial_eq_without_eq",
112 "disallowed_methods",
114 "disallowed_script_idents",
116 "diverging_sub_expression",
117 "doc_link_with_quotes",
119 "double_comparisons",
127 "duplicate_underscore_argument",
129 "else_if_without_else",
132 "empty_line_after_outer_attr",
134 "empty_structs_with_brackets",
135 "enum_clike_unportable_variant",
137 "enum_variant_names",
142 "excessive_precision",
144 "exhaustive_structs",
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",
156 "extra_unused_lifetimes",
157 "fallible_impl_from",
158 "field_reassign_with_default",
160 "filter_map_identity",
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",
178 "format_in_format_args",
179 "format_push_string",
180 "from_iter_instead_of_collect",
191 "if_then_some_else_none",
196 "implicit_saturating_add",
197 "implicit_saturating_sub",
199 "inconsistent_digit_grouping",
200 "inconsistent_struct_constructor",
201 "index_refutable_slice",
203 "ineffective_bit_mask",
204 "inefficient_to_string",
205 "infallible_destructuring_match",
207 "inherent_to_string",
208 "inherent_to_string_shadow_display",
209 "init_numbered_fields",
211 "inline_asm_x86_att_syntax",
212 "inline_asm_x86_intel_syntax",
213 "inline_fn_without_body",
216 "integer_arithmetic",
219 "invalid_null_ptr_usage",
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",
231 "iter_not_returning_iterator",
234 "iter_on_empty_collections",
235 "iter_on_single_items",
236 "iter_overeager_cloned",
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",
250 "let_underscore_drop",
251 "let_underscore_lock",
252 "let_underscore_must_use",
255 "lossy_float_literal",
267 "manual_instant_elapsed",
270 "manual_non_exhaustive",
272 "manual_range_contains",
275 "manual_saturating_arithmetic",
282 "many_single_char_names",
284 "map_collect_result_unit",
292 "match_like_matches_macro",
293 "match_on_vec_items",
294 "match_overlapping_arm",
298 "match_single_binding",
299 "match_str_case_mismatch",
300 "match_wild_err_arm",
301 "match_wildcard_for_single_variants",
302 "maybe_infinite_iter",
304 "mem_replace_option_with_none",
305 "mem_replace_with_default",
306 "mem_replace_with_uninit",
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",
319 "missing_trait_methods",
320 "mistyped_literal_suffixes",
321 "mixed_case_hex_literals",
322 "mixed_read_write_in_expression",
325 "module_name_repetitions",
329 "multiple_crate_versions",
330 "multiple_inherent_impl",
331 "must_use_candidate",
341 "needless_arbitrary_self_type",
342 "needless_bitwise_bool",
345 "needless_borrowed_reference",
348 "needless_doctest_main",
350 "needless_late_init",
351 "needless_lifetimes",
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",
362 "neg_cmp_op_on_partial_ord",
364 "negative_feature_names",
367 "new_without_default",
370 "no_effect_underscore_binding",
372 "non_octal_unix_permissions",
373 "non_send_fields_in_send_ty",
375 "nonsensical_open_options",
376 "nonstandard_macro_braces",
377 "not_unsafe_ptr_arg_deref",
378 "obfuscated_if_else",
381 "only_used_in_recursion",
383 "option_as_ref_deref",
386 "option_if_let_else",
387 "option_map_or_none",
388 "option_map_unit_fn",
392 "out_of_bounds_indexing",
393 "overflow_check_conditional",
394 "overly_complex_bool_expr",
396 "panic_in_result_fn",
398 "partial_pub_fields",
401 "path_buf_push_overwrite",
402 "pattern_type_mismatch",
403 "possible_missing_comma",
405 "print_in_format_impl",
409 "print_with_newline",
410 "println_empty_string",
414 "ptr_offset_with_cast",
419 "range_zip_with_len",
421 "rc_clone_in_vec_init",
423 "read_zero_byte_vec",
424 "recursive_format_impl",
425 "redundant_allocation",
428 "redundant_closure_call",
429 "redundant_closure_for_method_calls",
431 "redundant_feature_names",
432 "redundant_field_names",
434 "redundant_pattern_matching",
435 "redundant_pub_crate",
437 "redundant_static_lifetimes",
438 "ref_binding_to_reference",
441 "rest_pat_in_fully_bound_structs",
443 "result_map_or_into_option",
444 "result_map_unit_fn",
446 "return_self_not_must_use",
447 "reversed_empty_ranges",
448 "same_functions_in_if_condition",
453 "self_named_constructors",
454 "self_named_module_files",
455 "semicolon_if_nothing_returned",
456 "separated_literal_suffix",
461 "short_circuit_statement",
462 "should_implement_trait",
463 "significant_drop_in_scrutinee",
465 "single_char_add_str",
466 "single_char_lifetime_names",
467 "single_char_pattern",
468 "single_component_path_imports",
469 "single_element_loop",
472 "size_of_in_element_count",
474 "slow_vector_initialization",
475 "stable_sort_primitive",
476 "std_instead_of_alloc",
477 "std_instead_of_core",
481 "string_extend_chars",
482 "string_from_utf8_as_bytes",
483 "string_lit_as_bytes",
486 "strlen_on_c_strings",
487 "struct_excessive_bools",
489 "suspicious_arithmetic_impl",
490 "suspicious_assignment_formatting",
491 "suspicious_else_formatting",
493 "suspicious_op_assign_impl",
494 "suspicious_operation_groupings",
496 "suspicious_to_owned",
497 "suspicious_unary_op_formatting",
499 "tabs_in_doc_comments",
500 "temporary_assignment",
502 "to_string_in_format_args",
504 "too_many_arguments",
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",
520 "trim_split_whitespace",
522 "trivially_copy_pass_by_ref",
525 "type_repetition_in_bounds",
526 "undocumented_unsafe_blocks",
527 "undropped_manually_drops",
530 "uninit_assumed_init",
532 "uninlined_format_args",
536 "unit_return_expecting_ord",
538 "unnecessary_filter_map",
539 "unnecessary_find_map",
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",
551 "unneeded_field_pattern",
552 "unneeded_wildcard_pattern",
553 "unnested_or_patterns",
555 "unreadable_literal",
556 "unsafe_derive_deserialize",
557 "unsafe_removed_from_name",
558 "unseparated_literal_suffix",
559 "unsound_collection_transmute",
561 "unused_format_specs",
567 "unusual_byte_groupings",
569 "unwrap_or_else_default",
571 "upper_case_acronyms",
574 "used_underscore_binding",
577 "useless_conversion",
579 "useless_let_if_seq",
583 "vec_init_then_push",
584 "vec_resize_to_zero",
586 "verbose_file_reads",
587 "vtable_address_comparisons",
588 "while_immutable_condition",
590 "while_let_on_iterator",
591 "wildcard_dependencies",
592 "wildcard_enum_match_arm",
594 "wildcard_in_or_patterns",
596 "write_with_newline",
597 "writeln_empty_string",
598 "wrong_self_convention",
600 "zero_divided_by_zero",
601 "zero_prefixed_literal",
603 "zero_sized_map_values",