Skip to content

Commit d257101

Browse files
committed
make stats stable
1 parent e56c9a5 commit d257101

File tree

2 files changed

+103
-104
lines changed

2 files changed

+103
-104
lines changed

clippy_dev/src/crater.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,10 +234,9 @@ pub fn run() {
234234

235235
// collect into a tupled list for sorting
236236
let mut stats: Vec<(&&String, &usize)> = counter.iter().map(|(lint, count)| (lint, count)).collect();
237-
// sort by number of lint occurences
238-
stats.sort_by_key(|(_, count)| *count);
239-
// biggest number first
240-
stats.reverse();
237+
// sort by "000{count} {clippy::lintname}"
238+
// to not have a lint with 200 and 2 warnings take the same spot
239+
stats.sort_by_key(|(lint, count)| format!("{:0>4}, {}", count, lint));
241240

242241
let stats_formatted: String = stats
243242
.iter()

mini-crater/logs.txt

Lines changed: 100 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -3059,9 +3059,9 @@ ripgrep/12.1.1/crates/core/search.rs:533:5 clippy::cast_precision_loss "casting
30593059
ripgrep/12.1.1/crates/core/subject.rs:20:1 clippy::module_name_repetitions "item name starts with its containing module's name"
30603060
ripgrep/12.1.1/crates/core/subject.rs:4:1 clippy::single_component_path_imports "this import is redundant"
30613061
syn/1.0.54/build.rs:1:null clippy::cargo_common_metadata "package `syn` is missing `package.keywords` metadata"
3062-
syn/1.0.54/build.rs:1:null clippy::multiple_crate_versions "could not read cargo metadata: failed to run `cargo metadata`: Downloading crates ...\n Downloaded syn-test-suite v0.0.0\nerror: failed to verify the checksum of `syn-test-suite v0.0.0`"
3062+
syn/1.0.54/build.rs:1:null clippy::multiple_crate_versions "could not read cargo metadata: failed to run `cargo metadata`: Blocking waiting for file lock on package cache\n Blocking waiting for file lock on package cache\n Blocking waiting for file lock on package cache\n Downloading crates ...\n Downloaded ref-cast v1.0.5\n Downloaded ref-cast-impl v1.0.5\n Downloaded syn-test-suite v0.0.0\nerror: failed to verify the checksum of `syn-test-suite v0.0.0`"
30633063
syn/1.0.54/src/lib.rs:1:null clippy::cargo_common_metadata "package `syn` is missing `package.keywords` metadata"
3064-
syn/1.0.54/src/lib.rs:1:null clippy::multiple_crate_versions "could not read cargo metadata: failed to run `cargo metadata`: Downloading crates ...\n Downloaded syn-test-suite v0.0.0\nerror: failed to verify the checksum of `syn-test-suite v0.0.0`"
3064+
syn/1.0.54/src/lib.rs:1:null clippy::multiple_crate_versions "could not read cargo metadata: failed to run `cargo metadata`: Downloading crates ...\n Downloaded openssl-sys v0.9.60\n Downloaded syn-test-suite v0.0.0\nerror: failed to verify the checksum of `syn-test-suite v0.0.0`"
30653065
syn/1.0.54/src/lit.rs:1397:40 clippy::redundant_else "redundant else block"
30663066
syn/1.0.54/src/lit.rs:1405:28 clippy::redundant_else "redundant else block"
30673067
syn/1.0.54/src/lit.rs:1485:32 clippy::redundant_else "redundant else block"
@@ -3253,109 +3253,109 @@ xsv/0.13.0/src/util.rs:90:1 clippy::needless_lifetimes "explicit lifetimes given
32533253

32543254
Stats
32553255

3256-
clippy::must_use_candidate 552
3257-
clippy::unreadable_literal 365
3258-
clippy::missing_errors_doc 338
3259-
clippy::doc_markdown 178
3260-
clippy::wildcard_imports 160
3261-
clippy::items_after_statements 139
3262-
clippy::module_name_repetitions 137
3263-
clippy::redundant_closure_for_method_calls 135
3264-
clippy::redundant_field_names 111
3265-
clippy::cast_possible_truncation 91
3266-
clippy::similar_names 79
3267-
clippy::match_same_arms 64
3268-
clippy::inline_always 59
3269-
clippy::single_match_else 45
3270-
clippy::unseparated_literal_suffix 41
3271-
clippy::enum_glob_use 40
3272-
clippy::cast_precision_loss 35
3273-
clippy::if_not_else 35
3274-
clippy::filter_map 31
3275-
clippy::too_many_lines 31
3276-
clippy::redundant_else 29
3277-
clippy::trivially_copy_pass_by_ref 26
3278-
clippy::cast_lossless 23
3279-
clippy::redundant_static_lifetimes 21
3280-
clippy::struct_excessive_bools 20
3281-
clippy::map_unwrap_or 20
3282-
clippy::unusual_byte_groupings 19
3283-
clippy::unused_self 19
3284-
clippy::cast_possible_wrap 19
3285-
clippy::cast_sign_loss 19
3286-
clippy::unnecessary_wraps 19
3287-
clippy::needless_pass_by_value 18
3288-
clippy::default_trait_access 16
3289-
clippy::linkedlist 14
3290-
clippy::single_char_add_str 14
3291-
clippy::shadow_unrelated 13
3292-
clippy::cargo_common_metadata 13
3293-
clippy::option_if_let_else 12
3294-
clippy::needless_lifetimes 12
3295-
clippy::multiple_crate_versions 11
3296-
clippy::needless_doctest_main 10
3297-
clippy::missing_safety_doc 10
3298-
clippy::manual_range_contains 10
3299-
clippy::match_wildcard_for_single_variants 10
3300-
clippy::find_map 9
3301-
clippy::wrong_self_convention 8
3302-
clippy::invalid_upcast_comparisons 8
3303-
clippy::option_map_unit_fn 7
3304-
clippy::map_clone 7
3305-
clippy::explicit_into_iter_loop 7
3306-
clippy::range_plus_one 7
3307-
clippy::manual_strip 6
3308-
clippy::non_ascii_literal 6
3309-
clippy::single_component_path_imports 6
3310-
clippy::field_reassign_with_default 5
3311-
clippy::new_without_default 5
3312-
clippy::len_without_is_empty 5
3313-
clippy::identity_op 5
3314-
clippy::needless_return 5
3315-
clippy::empty_enum 5
3316-
clippy::match_like_matches_macro 5
3317-
clippy::explicit_iter_loop 5
3318-
clippy::too_many_arguments 4
3319-
clippy::let_underscore_drop 4
3320-
clippy::if_same_then_else 4
3321-
clippy::filter_map_next 3
3322-
clippy::zero_ptr 3
3323-
clippy::fn_params_excessive_bools 3
3324-
clippy::mut_mut 3
3325-
clippy::manual_non_exhaustive 2
3326-
clippy::comparison_to_empty 2
3327-
clippy::question_mark 2
3328-
clippy::redundant_pattern_matching 2
3329-
clippy::write_with_newline 2
3330-
clippy::unnecessary_cast 2
3331-
clippy::option_option 2
3332-
clippy::match_on_vec_items 2
3333-
clippy::type_complexity 2
3334-
clippy::len_zero 2
3335-
clippy::expl_impl_clone_on_copy 2
3336-
clippy::option_as_ref_deref 2
3337-
clippy::unused_unit 2
3338-
clippy::derive_hash_xor_eq 2
3339-
clippy::while_let_on_iterator 1
33403256
clippy::clone_on_copy 1
3341-
clippy::same_item_push 1
3257+
clippy::collapsible_if 1
3258+
clippy::comparison_chain 1
3259+
clippy::expect_fun_call 1
3260+
clippy::explicit_deref_methods 1
33423261
clippy::from_iter_instead_of_collect 1
3262+
clippy::from_over_into 1
3263+
clippy::int_plus_one 1
3264+
clippy::manual_saturating_arithmetic 1
3265+
clippy::mem_replace_with_default 1
3266+
clippy::nonminimal_bool 1
33433267
clippy::or_fun_call 1
3344-
clippy::pub_enum_variant_names 1
3345-
clippy::used_underscore_binding 1
33463268
clippy::precedence 1
3269+
clippy::pub_enum_variant_names 1
33473270
clippy::redundant_clone 1
3348-
clippy::collapsible_if 1
3271+
clippy::same_item_push 1
3272+
clippy::should_implement_trait 1
33493273
clippy::stable_sort_primitive 1
33503274
clippy::unit_arg 1
3351-
clippy::nonminimal_bool 1
3352-
clippy::comparison_chain 1
3353-
clippy::mem_replace_with_default 1
3354-
clippy::manual_saturating_arithmetic 1
3355-
clippy::expect_fun_call 1
3356-
clippy::should_implement_trait 1
3357-
clippy::verbose_bit_mask 1
3358-
clippy::int_plus_one 1
33593275
clippy::unnecessary_lazy_evaluations 1
3360-
clippy::from_over_into 1
3361-
clippy::explicit_deref_methods 1
3276+
clippy::used_underscore_binding 1
3277+
clippy::verbose_bit_mask 1
3278+
clippy::while_let_on_iterator 1
3279+
clippy::comparison_to_empty 2
3280+
clippy::derive_hash_xor_eq 2
3281+
clippy::expl_impl_clone_on_copy 2
3282+
clippy::len_zero 2
3283+
clippy::manual_non_exhaustive 2
3284+
clippy::match_on_vec_items 2
3285+
clippy::option_as_ref_deref 2
3286+
clippy::option_option 2
3287+
clippy::question_mark 2
3288+
clippy::redundant_pattern_matching 2
3289+
clippy::type_complexity 2
3290+
clippy::unnecessary_cast 2
3291+
clippy::unused_unit 2
3292+
clippy::write_with_newline 2
3293+
clippy::filter_map_next 3
3294+
clippy::fn_params_excessive_bools 3
3295+
clippy::mut_mut 3
3296+
clippy::zero_ptr 3
3297+
clippy::if_same_then_else 4
3298+
clippy::let_underscore_drop 4
3299+
clippy::too_many_arguments 4
3300+
clippy::empty_enum 5
3301+
clippy::explicit_iter_loop 5
3302+
clippy::field_reassign_with_default 5
3303+
clippy::identity_op 5
3304+
clippy::len_without_is_empty 5
3305+
clippy::match_like_matches_macro 5
3306+
clippy::needless_return 5
3307+
clippy::new_without_default 5
3308+
clippy::manual_strip 6
3309+
clippy::non_ascii_literal 6
3310+
clippy::single_component_path_imports 6
3311+
clippy::explicit_into_iter_loop 7
3312+
clippy::map_clone 7
3313+
clippy::option_map_unit_fn 7
3314+
clippy::range_plus_one 7
3315+
clippy::invalid_upcast_comparisons 8
3316+
clippy::wrong_self_convention 8
3317+
clippy::find_map 9
3318+
clippy::manual_range_contains 10
3319+
clippy::match_wildcard_for_single_variants 10
3320+
clippy::missing_safety_doc 10
3321+
clippy::needless_doctest_main 10
3322+
clippy::multiple_crate_versions 11
3323+
clippy::needless_lifetimes 12
3324+
clippy::option_if_let_else 12
3325+
clippy::cargo_common_metadata 13
3326+
clippy::shadow_unrelated 13
3327+
clippy::linkedlist 14
3328+
clippy::single_char_add_str 14
3329+
clippy::default_trait_access 16
3330+
clippy::needless_pass_by_value 18
3331+
clippy::cast_possible_wrap 19
3332+
clippy::cast_sign_loss 19
3333+
clippy::unnecessary_wraps 19
3334+
clippy::unused_self 19
3335+
clippy::unusual_byte_groupings 19
3336+
clippy::map_unwrap_or 20
3337+
clippy::struct_excessive_bools 20
3338+
clippy::redundant_static_lifetimes 21
3339+
clippy::cast_lossless 23
3340+
clippy::trivially_copy_pass_by_ref 26
3341+
clippy::redundant_else 29
3342+
clippy::filter_map 31
3343+
clippy::too_many_lines 31
3344+
clippy::cast_precision_loss 35
3345+
clippy::if_not_else 35
3346+
clippy::enum_glob_use 40
3347+
clippy::unseparated_literal_suffix 41
3348+
clippy::single_match_else 45
3349+
clippy::inline_always 59
3350+
clippy::match_same_arms 64
3351+
clippy::similar_names 79
3352+
clippy::cast_possible_truncation 91
3353+
clippy::redundant_field_names 111
3354+
clippy::redundant_closure_for_method_calls 135
3355+
clippy::module_name_repetitions 137
3356+
clippy::items_after_statements 139
3357+
clippy::wildcard_imports 160
3358+
clippy::doc_markdown 178
3359+
clippy::missing_errors_doc 338
3360+
clippy::unreadable_literal 365
3361+
clippy::must_use_candidate 552

0 commit comments

Comments
 (0)