-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
G-performance-projectGoal: For issues and PRs related to the Clippy Performance ProjectGoal: For issues and PRs related to the Clippy Performance Project
Description
Currently, the lints that are not grouped are the following (got using a regex search for define_clippy_lint!)
disallowed_names.rsextra_unused_type_parameters.rsfallible_impl_from.rsdefault_numeric_fallback.rsunused_unit.rssuspicious_doc_comments.rsimplicit_saturating_add.rsmissing_doc.rsignored_unit_patterns.rsalmost_complete_range.rsderivable_impls.rsif_then_some_else_none.rsexcessive_nesting.rsmanual_slice_size_calculation.rsenum_clike.rsdefault_instead_of_iter_empty.rserror_impl_error.rsmanual_is_ascii_check.rsimplied_bounds_in_impls.rsdefault_constructed_unit_structs.rsredundant_async_block.rscreate_dir.rslarge_stack_frames.rssemicolon_if_nothing_returned.rsreference.rslarge_const_arrays.rsprecedence.rsblocks_in_if_conditions.rsuse_self.rsptr_offset_with_cast.rsmanual_main_separator_str.rsnon_send_fields_in_send_ty.rsmissing_asserts_for_indexing.rsread_zero_byte_vec.rsoption_env_unwrap.rsunnecessary_wraps.rsneedless_else.rsitems_after_test_module.rsabsolute_paths.rsdouble_parens.rsunwrap_in_result.rsneedless_for_each.rssingle_char_lifetime_names.rsmin_ident_chars.rsself_named_constructors.rsunnested_or_patterns.rsreserve_after_initialization.rslet_with_type_underscore.rscognitive_complexity.rsescape.rsmultiple_unsafe_ops_per_block.rspartial_pub_fields.rsitems_after_statements.rslarge_include_file.rsdisallowed_methods.rsswap_ptr_to_ref.rsentry.rspartialeq_ne_impl.rsmanual_bits.rsassertions_on_result_states.rsmanual_rem_euclid.rsinconsistent_struct_constructor.rslet_if_seq.rsbox_default.rsunnecessary_self_imports.rsupper_case_acronyms.rsdisallowed_script_idents.rsstrlen_on_c_strings.rschecked_conversions.rsapprox_const.rsneedless_continue.rsneedless_pass_by_value.rsfour_forward_slashes.rsmissing_const_for_fn.rsneedless_if.rsint_plus_one.rsneedless_arbitrary_self_type.rsmissing_fields_in_debug.rsneg_cmp_op_on_partial_ord.rsrc_clone_in_vec_init.rsonly_used_in_recursion.rsuninit_vec.rsoption_if_let_else.rsbool_to_int_with_if.rsfrom_over_into.rsasync_yields_async.rsserde_api.rscrate_in_macro_def.rsdefault_union_representation.rsmissing_inline.rsneedless_borrowed_ref.rsunused_async.rspermissions_set_readonly_false.rsmain_recursion.rssame_name_method.rsmanual_retain.rspartialeq_to_none.rstests_outside_test_module.rsimplicit_saturating_sub.rssingle_call_fn.rsredundant_static_lifetimes.rssize_of_in_element_count.rsdbg_macro.rsborrow_deref_ref.rslarge_enum_variant.rssuspicious_operation_groupings.rsunnecessary_struct_initialization.rspub_use.rssingle_component_path_imports.rscomparison_chain.rsquestion_mark_used.rsformat_push_string.rsmut_reference.rsinit_numbered_fields.rsminmax.rstrailing_empty_array.rsinline_fn_without_body.rsiter_not_returning_iterator.rsinherent_impl.rsvec_init_then_push.rsunused_io_amount.rsto_digit_is_some.rsinvalid_upcast_comparisons.rsmatch_result_ok.rsmanual_non_exhaustive.rsredundant_closure_call.rsredundant_type_annotations.rsmanual_clamp.rsdisallowed_macros.rsexit.rsfrom_raw_with_void_ptr.rsnonstandard_macro_braces.rsmut_key.rsmanual_assert.rsredundant_field_names.rsnew_without_default.rsempty_drop.rsmanual_let_else.rsredundant_pub_crate.rsmissing_trait_methods.rssingle_range_in_vec_init.rsredundant_clone.rsunused_peekable.rsredundant_locals.rsreturn_self_not_must_use.rsfrom_str_radix_10.rslarge_stack_arrays.rsoverflow_check_conditional.rsvec.rsunused_rounding.rssuspicious_xor_used_as_pow.rsimplicit_hasher.rsif_not_else.rsref_option_ref.rsneg_multiply.rstabs_in_doc_comments.rsnon_octal_unix_permissions.rsmacro_use.rszero_div_zero.rsempty_enum.rsdisallowed_types.rsmissing_assert_message.rsduplicate_mod.rsequatable_if_let.rsindex_refutable_slice.rsas_conversions.rsno_mangle_with_rust_abi.rsuseless_conversion.rsbool_assert_comparison.rsmanual_string_new.rsfuture_not_send.rsmanual_async_fn.rsutils/dump_hir.rsslow_vector_initialization.rscollection_is_never_read.rsutils/format_args_collector.rspattern_type_mismatch.rsutils/author.rsif_let_mutex.rsempty_structs_with_brackets.rslines_filter_map_ok.rspanic_in_result_fn.rstemporary_assignment.rsneedless_parens_on_range_literals.rsallow_attributes.rsmismatching_type_param_order.rssignificant_drop_tightening.rssize_of_ref.rsunnecessary_box_returns.rstuple_array_conversions.rsunsafe_removed_from_name.rsneedless_pass_by_ref_mut.rsquestion_mark.rscopy_iterator.rsmulti_assignments.rsref_patterns.rszero_sized_map_values.rsunit_return_expecting_ord.rsmut_mut.rsarc_with_non_send_sync.rsexplicit_write.rsredundant_else.rsformat.rsneedless_question_mark.rsimplicit_return.rsneedless_late_init.rsneedless_update.rsmanual_range_patterns.rsassertions_on_constants.rsunused_self.rselse_if_without_else.rsmutable_debug_assertion.rsmissing_enforced_import_rename.rslarge_futures.rsoctal_escapes.rsmanual_strip.rsunnecessary_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_display → functions
Metadata
Metadata
Assignees
Labels
G-performance-projectGoal: For issues and PRs related to the Clippy Performance ProjectGoal: For issues and PRs related to the Clippy Performance Project