@@ -6,11 +6,139 @@ document.
6
6
7
7
## Unreleased / In Rust Nightly
8
8
9
- [ 7c7683c...master] ( https://github.com/rust-lang/rust-clippy/compare/7c7683c...master )
9
+ [ 3ae8faf...master] ( https://github.com/rust-lang/rust-clippy/compare/3ae8faf...master )
10
+
11
+ ## Rust 1.54
12
+
13
+ Current beta, release 2021-07-29
14
+
15
+ [ 7c7683c...3ae8faf] ( https://github.com/rust-lang/rust-clippy/compare/7c7683c...3ae8faf )
16
+
17
+ ### New Lints
18
+
19
+ - [ ` ref_binding_to_reference ` ]
20
+ [ #7105 ] ( https://github.com/rust-lang/rust-clippy/pull/7105 )
21
+ - [ ` needless_bitwise_bool ` ]
22
+ [ #7133 ] ( https://github.com/rust-lang/rust-clippy/pull/7133 )
23
+ - [ ` unused_async ` ] [ #7225 ] ( https://github.com/rust-lang/rust-clippy/pull/7225 )
24
+ - [ ` manual_str_repeat ` ]
25
+ [ #7265 ] ( https://github.com/rust-lang/rust-clippy/pull/7265 )
26
+ - [ ` suspicious_splitn ` ]
27
+ [ #7292 ] ( https://github.com/rust-lang/rust-clippy/pull/7292 )
28
+
29
+ ### Moves and Deprecations
30
+
31
+ - Deprecate ` pub_enum_variant_names ` and ` wrong_pub_self_convention ` in favor of
32
+ the new ` avoid_breaking_exported_api ` config option (see
33
+ [ Enhancements] ( #1-54-enhancements ) )
34
+ [ #7187 ] ( https://github.com/rust-lang/rust-clippy/pull/7187 )
35
+ - Move [ ` inconsistent_struct_constructor ` ] to ` pedantic `
36
+ [ #7193 ] ( https://github.com/rust-lang/rust-clippy/pull/7193 )
37
+ - Move [ ` needless_borrow ` ] to ` style ` (now warn-by-default)
38
+ [ #7254 ] ( https://github.com/rust-lang/rust-clippy/pull/7254 )
39
+ - Move [ ` suspicious_operation_groupings ` ] to ` nursery `
40
+ [ #7266 ] ( https://github.com/rust-lang/rust-clippy/pull/7266 )
41
+ - Move [ ` semicolon_if_nothing_returned ` ] to ` pedantic `
42
+ [ #7268 ] ( https://github.com/rust-lang/rust-clippy/pull/7268 )
43
+
44
+ ### Enhancements <a name =" 1-54-enhancements " ></a >
45
+
46
+ - [ ` while_let_on_iterator ` ] : Now also lints in nested loops
47
+ [ #6966 ] ( https://github.com/rust-lang/rust-clippy/pull/6966 )
48
+ - [ ` single_char_pattern ` ] : Now also lints on ` strip_prefix ` and ` strip_suffix `
49
+ [ #7156 ] ( https://github.com/rust-lang/rust-clippy/pull/7156 )
50
+ - [ ` needless_collect ` ] : Now also lints on assignments with type annotations
51
+ [ #7163 ] ( https://github.com/rust-lang/rust-clippy/pull/7163 )
52
+ - [ ` if_then_some_else_none ` ] : Now works with the MSRV config
53
+ [ #7177 ] ( https://github.com/rust-lang/rust-clippy/pull/7177 )
54
+ - Add ` avoid_breaking_exported_api ` config option for the lints
55
+ [ ` enum_variant_names ` ] , [ ` large_types_passed_by_value ` ] ,
56
+ [ ` trivially_copy_pass_by_ref ` ] , [ ` unnecessary_wraps ` ] ,
57
+ [ ` upper_case_acronyms ` ] , and [ ` wrong_self_convention ` ] . We recommend to set
58
+ this configuration option to ` false ` before a major release (1.0/2.0/...) to
59
+ clean up the API [ #7187 ] ( https://github.com/rust-lang/rust-clippy/pull/7187 )
60
+ - [ ` needless_collect ` ] : Now lints on even more data structures
61
+ [ #7188 ] ( https://github.com/rust-lang/rust-clippy/pull/7188 )
62
+ - [ ` missing_docs_in_private_items ` ] : No longer sees ` #[<name> = "<value>"] ` like
63
+ attributes as sufficient documentation
64
+ [ #7281 ] ( https://github.com/rust-lang/rust-clippy/pull/7281 )
65
+ - [ ` needless_collect ` ] , [ ` short_circuit_statement ` ] , [ ` unnecessary_operation ` ] :
66
+ Now work as expected when used with ` allow `
67
+ [ #7282 ] ( https://github.com/rust-lang/rust-clippy/pull/7282 )
68
+
69
+ ### False Positive Fixes
70
+
71
+ - [ ` implicit_return ` ] : Now takes all diverging functions in account to avoid
72
+ false positives [ #6951 ] ( https://github.com/rust-lang/rust-clippy/pull/6951 )
73
+ - [ ` while_let_on_iterator ` ] : No longer lints when the iterator is a struct field
74
+ and the struct is used in the loop
75
+ [ #6966 ] ( https://github.com/rust-lang/rust-clippy/pull/6966 )
76
+ - [ ` multiple_inherent_impl ` ] : No longer lints with generic arguments
77
+ [ #7089 ] ( https://github.com/rust-lang/rust-clippy/pull/7089 )
78
+ - [ ` comparison_chain ` ] : No longer lints in a ` const ` context
79
+ [ #7118 ] ( https://github.com/rust-lang/rust-clippy/pull/7118 )
80
+ - [ ` while_immutable_condition ` ] : Fix false positive where mutation in the loop
81
+ variable wasn't picked up
82
+ [ #7144 ] ( https://github.com/rust-lang/rust-clippy/pull/7144 )
83
+ - [ ` default_trait_access ` ] : No longer lints in macros
84
+ [ #7150 ] ( https://github.com/rust-lang/rust-clippy/pull/7150 )
85
+ - [ ` needless_question_mark ` ] : No longer lints when the inner value is implicitly
86
+ dereferenced [ #7165 ] ( https://github.com/rust-lang/rust-clippy/pull/7165 )
87
+ - [ ` unused_unit ` ] : No longer lints when multiple macro contexts are involved
88
+ [ #7167 ] ( https://github.com/rust-lang/rust-clippy/pull/7167 )
89
+ - [ ` eval_order_dependence ` ] : Fix false positive in async context
90
+ [ #7174 ] ( https://github.com/rust-lang/rust-clippy/pull/7174 )
91
+ - [ ` unnecessary_filter_map ` ] : No longer lints if the ` filter_map ` changes the
92
+ type [ #7175 ] ( https://github.com/rust-lang/rust-clippy/pull/7175 )
93
+ - [ ` wrong_self_convention ` ] : No longer lints in trait implementations of
94
+ non-` Copy ` types [ #7182 ] ( https://github.com/rust-lang/rust-clippy/pull/7182 )
95
+ - [ ` suboptimal_flops ` ] : No longer lints on ` powi(2) `
96
+ [ #7201 ] ( https://github.com/rust-lang/rust-clippy/pull/7201 )
97
+ - [ ` wrong_self_convention ` ] : No longer lints if there is no implicit ` self `
98
+ [ #7215 ] ( https://github.com/rust-lang/rust-clippy/pull/7215 )
99
+ - [ ` option_if_let_else ` ] : No longer lints on ` else if let ` pattern
100
+ [ #7216 ] ( https://github.com/rust-lang/rust-clippy/pull/7216 )
101
+ - [ ` use_self ` ] , [ ` useless_conversion ` ] : Fix false positives when generic
102
+ arguments are involved
103
+ [ #7223 ] ( https://github.com/rust-lang/rust-clippy/pull/7223 )
104
+ - [ ` manual_unwrap_or ` ] : Fix false positive with deref coercion
105
+ [ #7233 ] ( https://github.com/rust-lang/rust-clippy/pull/7233 )
106
+ - [ ` similar_names ` ] : No longer lints on ` wparam ` /` lparam `
107
+ [ #7255 ] ( https://github.com/rust-lang/rust-clippy/pull/7255 )
108
+ - [ ` redundant_closure ` ] : No longer lints on using the ` vec![] ` macro in a
109
+ closure [ #7263 ] ( https://github.com/rust-lang/rust-clippy/pull/7263 )
110
+
111
+ ### Suggestion Fixes/Improvements
112
+
113
+ - [ ` implicit_return ` ]
114
+ [ #6951 ] ( https://github.com/rust-lang/rust-clippy/pull/6951 )
115
+ - Fix suggestion for async functions
116
+ - Improve suggestion with macros
117
+ - Suggest to change ` break ` to ` return ` when appropriate
118
+ - [ ` while_let_on_iterator ` ] : Now suggests ` &mut iter ` when necessary
119
+ [ #6966 ] ( https://github.com/rust-lang/rust-clippy/pull/6966 )
120
+ - [ ` match_single_binding ` ] : Improve suggestion when match scrutinee has side
121
+ effects [ #7095 ] ( https://github.com/rust-lang/rust-clippy/pull/7095 )
122
+ - [ ` needless_borrow ` ] : Now suggests to also change usage sites as needed
123
+ [ #7105 ] ( https://github.com/rust-lang/rust-clippy/pull/7105 )
124
+ - [ ` write_with_newline ` ] : Improve suggestion when only ` \n ` is written to the
125
+ buffer [ #7183 ] ( https://github.com/rust-lang/rust-clippy/pull/7183 )
126
+ - [ ` from_iter_instead_of_collect ` ] : The suggestion is now auto applicable also
127
+ when a ` <_ as Trait>::_ ` is involved
128
+ [ #7264 ] ( https://github.com/rust-lang/rust-clippy/pull/7264 )
129
+ - [ ` not_unsafe_ptr_arg_deref ` ] : Improved error message
130
+ [ #7294 ] ( https://github.com/rust-lang/rust-clippy/pull/7294 )
131
+
132
+ ### ICE Fixes
133
+
134
+ - Fix ICE when running Clippy on ` libstd `
135
+ [ #7140 ] ( https://github.com/rust-lang/rust-clippy/pull/7140 )
136
+ - [ ` implicit_return ` ]
137
+ [ #7242 ] ( https://github.com/rust-lang/rust-clippy/pull/7242 )
10
138
11
139
## Rust 1.53
12
140
13
- Current beta, release 2021-06-17
141
+ Current stable, released 2021-06-17
14
142
15
143
[ 6ed6f1e...7c7683c] ( https://github.com/rust-lang/rust-clippy/compare/6ed6f1e...7c7683c )
16
144
@@ -194,7 +322,7 @@ Current beta, release 2021-06-17
194
322
195
323
## Rust 1.52
196
324
197
- Current stable, released 2021-05-06
325
+ Released 2021-05-06
198
326
199
327
[ 3e41797...6ed6f1e] ( https://github.com/rust-lang/rust-clippy/compare/3e41797...6ed6f1e )
200
328
@@ -2295,6 +2423,7 @@ Released 2018-09-13
2295
2423
<!-- begin autogenerated links to lint list -->
2296
2424
[ `absurd_extreme_comparisons` ] : https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons
2297
2425
[ `almost_swapped` ] : https://rust-lang.github.io/rust-clippy/master/index.html#almost_swapped
2426
+ [ `append_instead_of_extend` ] : https://rust-lang.github.io/rust-clippy/master/index.html#append_instead_of_extend
2298
2427
[ `approx_constant` ] : https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant
2299
2428
[ `as_conversions` ] : https://rust-lang.github.io/rust-clippy/master/index.html#as_conversions
2300
2429
[ `assertions_on_constants` ] : https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants
@@ -2358,6 +2487,8 @@ Released 2018-09-13
2358
2487
[ `derive_hash_xor_eq` ] : https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq
2359
2488
[ `derive_ord_xor_partial_ord` ] : https://rust-lang.github.io/rust-clippy/master/index.html#derive_ord_xor_partial_ord
2360
2489
[ `disallowed_method` ] : https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_method
2490
+ [ `disallowed_script_idents` ] : https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_script_idents
2491
+ [ `disallowed_type` ] : https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_type
2361
2492
[ `diverging_sub_expression` ] : https://rust-lang.github.io/rust-clippy/master/index.html#diverging_sub_expression
2362
2493
[ `doc_markdown` ] : https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
2363
2494
[ `double_comparisons` ] : https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons
@@ -2527,6 +2658,7 @@ Released 2018-09-13
2527
2658
[ `misrefactored_assign_op` ] : https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op
2528
2659
[ `missing_const_for_fn` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn
2529
2660
[ `missing_docs_in_private_items` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_docs_in_private_items
2661
+ [ `missing_enforced_import_renames` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_enforced_import_renames
2530
2662
[ `missing_errors_doc` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
2531
2663
[ `missing_inline_in_public_items` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_inline_in_public_items
2532
2664
[ `missing_panics_doc` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
@@ -2574,6 +2706,7 @@ Released 2018-09-13
2574
2706
[ `non_octal_unix_permissions` ] : https://rust-lang.github.io/rust-clippy/master/index.html#non_octal_unix_permissions
2575
2707
[ `nonminimal_bool` ] : https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool
2576
2708
[ `nonsensical_open_options` ] : https://rust-lang.github.io/rust-clippy/master/index.html#nonsensical_open_options
2709
+ [ `nonstandard_macro_braces` ] : https://rust-lang.github.io/rust-clippy/master/index.html#nonstandard_macro_braces
2577
2710
[ `not_unsafe_ptr_arg_deref` ] : https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref
2578
2711
[ `ok_expect` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect
2579
2712
[ `op_ref` ] : https://rust-lang.github.io/rust-clippy/master/index.html#op_ref
0 commit comments