@@ -6,11 +6,139 @@ document.
66
77## Unreleased / In Rust Nightly
88
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 )
10138
11139## Rust 1.53
12140
13- Current beta, release 2021-06-17
141+ Current stable, released 2021-06-17
14142
15143[ 6ed6f1e...7c7683c] ( https://github.com/rust-lang/rust-clippy/compare/6ed6f1e...7c7683c )
16144
@@ -194,7 +322,7 @@ Current beta, release 2021-06-17
194322
195323## Rust 1.52
196324
197- Current stable, released 2021-05-06
325+ Released 2021-05-06
198326
199327[ 3e41797...6ed6f1e] ( https://github.com/rust-lang/rust-clippy/compare/3e41797...6ed6f1e )
200328
@@ -2295,6 +2423,7 @@ Released 2018-09-13
22952423<!-- begin autogenerated links to lint list -->
22962424[ `absurd_extreme_comparisons` ] : https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons
22972425[ `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
22982427[ `approx_constant` ] : https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant
22992428[ `as_conversions` ] : https://rust-lang.github.io/rust-clippy/master/index.html#as_conversions
23002429[ `assertions_on_constants` ] : https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants
@@ -2358,6 +2487,8 @@ Released 2018-09-13
23582487[ `derive_hash_xor_eq` ] : https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq
23592488[ `derive_ord_xor_partial_ord` ] : https://rust-lang.github.io/rust-clippy/master/index.html#derive_ord_xor_partial_ord
23602489[ `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
23612492[ `diverging_sub_expression` ] : https://rust-lang.github.io/rust-clippy/master/index.html#diverging_sub_expression
23622493[ `doc_markdown` ] : https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
23632494[ `double_comparisons` ] : https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons
@@ -2527,6 +2658,7 @@ Released 2018-09-13
25272658[ `misrefactored_assign_op` ] : https://rust-lang.github.io/rust-clippy/master/index.html#misrefactored_assign_op
25282659[ `missing_const_for_fn` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn
25292660[ `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
25302662[ `missing_errors_doc` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
25312663[ `missing_inline_in_public_items` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_inline_in_public_items
25322664[ `missing_panics_doc` ] : https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
@@ -2574,6 +2706,7 @@ Released 2018-09-13
25742706[ `non_octal_unix_permissions` ] : https://rust-lang.github.io/rust-clippy/master/index.html#non_octal_unix_permissions
25752707[ `nonminimal_bool` ] : https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool
25762708[ `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
25772710[ `not_unsafe_ptr_arg_deref` ] : https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref
25782711[ `ok_expect` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect
25792712[ `op_ref` ] : https://rust-lang.github.io/rust-clippy/master/index.html#op_ref
0 commit comments