Skip to content

[Tracking issue] Lints that are not grouped #11493

Open
@blyxyas

Description

@blyxyas

Currently, the lints that are not grouped are the following (got using a regex search for define_clippy_lint!)

  • disallowed_names.rs
  • extra_unused_type_parameters.rs
  • fallible_impl_from.rs
  • default_numeric_fallback.rs
  • unused_unit.rs
  • suspicious_doc_comments.rs
  • implicit_saturating_add.rs
  • missing_doc.rs
  • ignored_unit_patterns.rs
  • almost_complete_range.rs
  • derivable_impls.rs
  • if_then_some_else_none.rs
  • excessive_nesting.rs
  • manual_slice_size_calculation.rs
  • enum_clike.rs
  • default_instead_of_iter_empty.rs
  • error_impl_error.rs
  • manual_is_ascii_check.rs
  • implied_bounds_in_impls.rs
  • default_constructed_unit_structs.rs
  • redundant_async_block.rs
  • create_dir.rs
  • large_stack_frames.rs
  • semicolon_if_nothing_returned.rs
  • reference.rs
  • large_const_arrays.rs
  • precedence.rs
  • blocks_in_if_conditions.rs
  • use_self.rs
  • ptr_offset_with_cast.rs
  • manual_main_separator_str.rs
  • non_send_fields_in_send_ty.rs
  • missing_asserts_for_indexing.rs
  • read_zero_byte_vec.rs
  • option_env_unwrap.rs
  • unnecessary_wraps.rs
  • needless_else.rs
  • items_after_test_module.rs
  • absolute_paths.rs
  • double_parens.rs
  • unwrap_in_result.rs
  • needless_for_each.rs
  • single_char_lifetime_names.rs
  • min_ident_chars.rs
  • self_named_constructors.rs
  • unnested_or_patterns.rs
  • reserve_after_initialization.rs
  • let_with_type_underscore.rs
  • cognitive_complexity.rs
  • escape.rs
  • multiple_unsafe_ops_per_block.rs
  • partial_pub_fields.rs
  • items_after_statements.rs
  • large_include_file.rs
  • disallowed_methods.rs
  • swap_ptr_to_ref.rs
  • entry.rs
  • partialeq_ne_impl.rs
  • manual_bits.rs
  • assertions_on_result_states.rs
  • manual_rem_euclid.rs
  • inconsistent_struct_constructor.rs
  • let_if_seq.rs
  • box_default.rs
  • unnecessary_self_imports.rs
  • upper_case_acronyms.rs
  • disallowed_script_idents.rs
  • strlen_on_c_strings.rs
  • checked_conversions.rs
  • approx_const.rs
  • needless_continue.rs
  • needless_pass_by_value.rs
  • four_forward_slashes.rs
  • missing_const_for_fn.rs
  • needless_if.rs
  • int_plus_one.rs
  • needless_arbitrary_self_type.rs
  • missing_fields_in_debug.rs
  • neg_cmp_op_on_partial_ord.rs
  • rc_clone_in_vec_init.rs
  • only_used_in_recursion.rs
  • uninit_vec.rs
  • option_if_let_else.rs
  • bool_to_int_with_if.rs
  • from_over_into.rs
  • async_yields_async.rs
  • serde_api.rs
  • crate_in_macro_def.rs
  • default_union_representation.rs
  • missing_inline.rs
  • needless_borrowed_ref.rs
  • unused_async.rs
  • permissions_set_readonly_false.rs
  • main_recursion.rs
  • same_name_method.rs
  • manual_retain.rs
  • partialeq_to_none.rs
  • tests_outside_test_module.rs
  • implicit_saturating_sub.rs
  • single_call_fn.rs
  • redundant_static_lifetimes.rs
  • size_of_in_element_count.rs
  • dbg_macro.rs
  • borrow_deref_ref.rs
  • large_enum_variant.rs
  • suspicious_operation_groupings.rs
  • unnecessary_struct_initialization.rs
  • pub_use.rs
  • single_component_path_imports.rs
  • comparison_chain.rs
  • question_mark_used.rs
  • format_push_string.rs
  • mut_reference.rs
  • init_numbered_fields.rs
  • minmax.rs
  • trailing_empty_array.rs
  • inline_fn_without_body.rs
  • iter_not_returning_iterator.rs
  • inherent_impl.rs
  • vec_init_then_push.rs
  • unused_io_amount.rs
  • to_digit_is_some.rs
  • invalid_upcast_comparisons.rs
  • match_result_ok.rs
  • manual_non_exhaustive.rs
  • redundant_closure_call.rs
  • redundant_type_annotations.rs
  • manual_clamp.rs
  • disallowed_macros.rs
  • exit.rs
  • from_raw_with_void_ptr.rs
  • nonstandard_macro_braces.rs
  • mut_key.rs
  • manual_assert.rs
  • redundant_field_names.rs
  • new_without_default.rs
  • empty_drop.rs
  • manual_let_else.rs
  • redundant_pub_crate.rs
  • missing_trait_methods.rs
  • single_range_in_vec_init.rs
  • redundant_clone.rs
  • unused_peekable.rs
  • redundant_locals.rs
  • return_self_not_must_use.rs
  • from_str_radix_10.rs
  • large_stack_arrays.rs
  • overflow_check_conditional.rs
  • vec.rs
  • unused_rounding.rs
  • suspicious_xor_used_as_pow.rs
  • implicit_hasher.rs
  • if_not_else.rs
  • ref_option_ref.rs
  • neg_multiply.rs
  • tabs_in_doc_comments.rs
  • non_octal_unix_permissions.rs
  • macro_use.rs
  • zero_div_zero.rs
  • empty_enum.rs
  • disallowed_types.rs
  • missing_assert_message.rs
  • duplicate_mod.rs
  • equatable_if_let.rs
  • index_refutable_slice.rs
  • as_conversions.rs
  • no_mangle_with_rust_abi.rs
  • useless_conversion.rs
  • bool_assert_comparison.rs
  • manual_string_new.rs
  • future_not_send.rs
  • manual_async_fn.rs
  • utils/dump_hir.rs
  • slow_vector_initialization.rs
  • collection_is_never_read.rs
  • utils/format_args_collector.rs
  • pattern_type_mismatch.rs
  • utils/author.rs
  • if_let_mutex.rs
  • empty_structs_with_brackets.rs
  • lines_filter_map_ok.rs
  • panic_in_result_fn.rs
  • temporary_assignment.rs
  • needless_parens_on_range_literals.rs
  • allow_attributes.rs
  • mismatching_type_param_order.rs
  • significant_drop_tightening.rs
  • size_of_ref.rs
  • unnecessary_box_returns.rs
  • tuple_array_conversions.rs
  • unsafe_removed_from_name.rs
  • needless_pass_by_ref_mut.rs
  • question_mark.rs
  • copy_iterator.rs
  • multi_assignments.rs
  • ref_patterns.rs
  • zero_sized_map_values.rs
  • unit_return_expecting_ord.rs
  • mut_mut.rs
  • arc_with_non_send_sync.rs
  • explicit_write.rs
  • redundant_else.rs
  • format.rs
  • needless_question_mark.rs
  • implicit_return.rs
  • needless_late_init.rs
  • needless_update.rs
  • manual_range_patterns.rs
  • assertions_on_constants.rs
  • unused_self.rs
  • else_if_without_else.rs
  • mutable_debug_assertion.rs
  • missing_enforced_import_rename.rs
  • large_futures.rs
  • octal_escapes.rs
  • manual_strip.rs
  • unnecessary_owned_empty_strings.rs

This is just an index issue to be updated frequently, as frequent as a PR merging some of these into existing / new categories is merged. We can have a significant performance boost if these are merged just by sharing conditionals. Avoiding some allocations would also be a secondary benefit of merging these.

Pending group:

inherent_to_string & inherent_to_string_shadow_displayfunctions

Metadata

Metadata

Assignees

No one assigned

    Labels

    performance-projectFor issues and PRs related to the Clippy Performance Project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions