@@ -6,11 +6,195 @@ document.
6
6
7
7
## Unreleased / In Rust Nightly
8
8
9
- [ 6ed6f1e...master] ( https://github.com/rust-lang/rust-clippy/compare/6ed6f1e...master )
9
+ [ 7c7683c...master] ( https://github.com/rust-lang/rust-clippy/compare/7c7683c...master )
10
+
11
+ ## Rust 1.53
12
+
13
+ Current beta, release 2021-06-17
14
+
15
+ [ 6ed6f1e...7c7683c] ( https://github.com/rust-lang/rust-clippy/compare/6ed6f1e...7c7683c )
16
+
17
+ ### New Lints
18
+
19
+ * [ ` option_filter_map ` ]
20
+ [ #6342 ] ( https://github.com/rust-lang/rust-clippy/pull/6342 )
21
+ * [ ` branches_sharing_code ` ]
22
+ [ #6463 ] ( https://github.com/rust-lang/rust-clippy/pull/6463 )
23
+ * [ ` needless_for_each ` ]
24
+ [ #6706 ] ( https://github.com/rust-lang/rust-clippy/pull/6706 )
25
+ * [ ` if_then_some_else_none ` ]
26
+ [ #6859 ] ( https://github.com/rust-lang/rust-clippy/pull/6859 )
27
+ * [ ` non_octal_unix_permissions ` ]
28
+ [ #7001 ] ( https://github.com/rust-lang/rust-clippy/pull/7001 )
29
+ * [ ` unnecessary_self_imports ` ]
30
+ [ #7072 ] ( https://github.com/rust-lang/rust-clippy/pull/7072 )
31
+ * [ ` bool_assert_comparison ` ]
32
+ [ #7083 ] ( https://github.com/rust-lang/rust-clippy/pull/7083 )
33
+ * [ ` cloned_instead_of_copied ` ]
34
+ [ #7098 ] ( https://github.com/rust-lang/rust-clippy/pull/7098 )
35
+ * [ ` flat_map_option ` ]
36
+ [ #7101 ] ( https://github.com/rust-lang/rust-clippy/pull/7101 )
37
+
38
+ ### Moves and Deprecations
39
+
40
+ * Deprecate [ ` filter_map ` ] lint
41
+ [ #7059 ] ( https://github.com/rust-lang/rust-clippy/pull/7059 )
42
+ * Move [ ` transmute_ptr_to_ptr ` ] to ` pedantic `
43
+ [ #7102 ] ( https://github.com/rust-lang/rust-clippy/pull/7102 )
44
+
45
+ ### Enhancements
46
+
47
+ * [ ` mem_replace_with_default ` ] : Also lint on common std constructors
48
+ [ #6820 ] ( https://github.com/rust-lang/rust-clippy/pull/6820 )
49
+ * [ ` wrong_self_convention ` ] : Also lint on ` to_*_mut ` methods
50
+ [ #6828 ] ( https://github.com/rust-lang/rust-clippy/pull/6828 )
51
+ * [ ` wildcard_enum_match_arm ` ] , [ ` match_wildcard_for_single_variants ` ] :
52
+ [ #6863 ] ( https://github.com/rust-lang/rust-clippy/pull/6863 )
53
+ * Attempt to find a common path prefix in suggestion
54
+ * Don't lint on ` Option ` and ` Result `
55
+ * Consider ` Self ` prefix
56
+ * [ ` explicit_deref_methods ` ] : Also lint on chained ` deref ` calls
57
+ [ #6865 ] ( https://github.com/rust-lang/rust-clippy/pull/6865 )
58
+ * [ ` or_fun_call ` ] : Also lint on ` unsafe ` blocks
59
+ [ #6928 ] ( https://github.com/rust-lang/rust-clippy/pull/6928 )
60
+ * [ ` vec_box ` ] , [ ` linkedlist ` ] , [ ` option_option ` ] : Also lint in ` const ` and
61
+ ` static ` items [ #6938 ] ( https://github.com/rust-lang/rust-clippy/pull/6938 )
62
+ * [ ` search_is_some ` ] : Also check for ` is_none `
63
+ [ #6942 ] ( https://github.com/rust-lang/rust-clippy/pull/6942 )
64
+ * [ ` string_lit_as_bytes ` ] : Also lint on ` into_bytes `
65
+ [ #6959 ] ( https://github.com/rust-lang/rust-clippy/pull/6959 )
66
+ * [ ` len_without_is_empty ` ] : Also lint if function signatures of ` len ` and
67
+ ` is_empty ` don't match
68
+ [ #6980 ] ( https://github.com/rust-lang/rust-clippy/pull/6980 )
69
+ * [ ` redundant_pattern_matching ` ] : Also lint if the pattern is a ` & ` pattern
70
+ [ #6991 ] ( https://github.com/rust-lang/rust-clippy/pull/6991 )
71
+ * [ ` clone_on_copy ` ] : Also lint on chained method calls taking ` self ` by value
72
+ [ #7000 ] ( https://github.com/rust-lang/rust-clippy/pull/7000 )
73
+ * [ ` missing_panics_doc ` ] : Also lint on ` assert_eq! ` and ` assert_ne! `
74
+ [ #7029 ] ( https://github.com/rust-lang/rust-clippy/pull/7029 )
75
+ * [ ` needless_return ` ] : Also lint in ` async ` functions
76
+ [ #7067 ] ( https://github.com/rust-lang/rust-clippy/pull/7067 )
77
+ * [ ` unused_io_amount ` ] : Also lint on expressions like ` _.read().ok()? `
78
+ [ #7100 ] ( https://github.com/rust-lang/rust-clippy/pull/7100 )
79
+ * [ ` iter_cloned_collect ` ] : Also lint on large arrays, since const-generics are
80
+ now stable [ #7138 ] ( https://github.com/rust-lang/rust-clippy/pull/7138 )
81
+
82
+ ### False Positive Fixes
83
+
84
+ * [ ` upper_case_acronyms ` ] : No longer lints on public items
85
+ [ #6805 ] ( https://github.com/rust-lang/rust-clippy/pull/6805 )
86
+ * [ ` suspicious_map ` ] : No longer lints when side effects may occur inside the
87
+ ` map ` call [ #6831 ] ( https://github.com/rust-lang/rust-clippy/pull/6831 )
88
+ * [ ` manual_map ` ] , [ ` manual_unwrap_or ` ] : No longer lints in ` const ` functions
89
+ [ #6917 ] ( https://github.com/rust-lang/rust-clippy/pull/6917 )
90
+ * [ ` wrong_self_convention ` ] : Now respects ` Copy ` types
91
+ [ #6924 ] ( https://github.com/rust-lang/rust-clippy/pull/6924 )
92
+ * [ ` needless_question_mark ` ] : No longer lints if the ` ? ` and the ` Some(..) ` come
93
+ from different macro contexts [ #6935 ] ( https://github.com/rust-lang/rust-clippy/pull/6935 )
94
+ * [ ` map_entry ` ] : Better detect if the entry API can be used
95
+ [ #6937 ] ( https://github.com/rust-lang/rust-clippy/pull/6937 )
96
+ * [ ` or_fun_call ` ] : No longer lints on some ` len ` function calls
97
+ [ #6950 ] ( https://github.com/rust-lang/rust-clippy/pull/6950 )
98
+ * [ ` new_ret_no_self ` ] : No longer lints when ` Self ` is returned with different
99
+ generic arguments [ #6952 ] ( https://github.com/rust-lang/rust-clippy/pull/6952 )
100
+ * [ ` upper_case_acronyms ` ] : No longer lints on public items
101
+ [ #6981 ] ( https://github.com/rust-lang/rust-clippy/pull/6981 )
102
+ * [ ` explicit_into_iter_loop ` ] : Only lint when ` into_iter ` is an implementation
103
+ of ` IntoIterator ` [ #6982 ] ( https://github.com/rust-lang/rust-clippy/pull/6982 )
104
+ * [ ` expl_impl_clone_on_copy ` ] : Take generic constraints into account before
105
+ suggesting to use ` derive ` instead
106
+ [ #6993 ] ( https://github.com/rust-lang/rust-clippy/pull/6993 )
107
+ * [ ` missing_panics_doc ` ] : No longer lints when only debug-assertions are used
108
+ [ #6996 ] ( https://github.com/rust-lang/rust-clippy/pull/6996 )
109
+ * [ ` clone_on_copy ` ] : Only lint when using the ` Clone ` trait
110
+ [ #7000 ] ( https://github.com/rust-lang/rust-clippy/pull/7000 )
111
+ * [ ` wrong_self_convention ` ] : No longer lints inside a trait implementation
112
+ [ #7002 ] ( https://github.com/rust-lang/rust-clippy/pull/7002 )
113
+ * [ ` redundant_clone ` ] : No longer lints when the cloned value is modified while
114
+ the clone is in use
115
+ [ #7011 ] ( https://github.com/rust-lang/rust-clippy/pull/7011 )
116
+ * [ ` same_item_push ` ] : No longer lints if the ` Vec ` is used in the loop body
117
+ [ #7018 ] ( https://github.com/rust-lang/rust-clippy/pull/7018 )
118
+ * [ ` cargo_common_metadata ` ] : Remove author requirement
119
+ [ #7026 ] ( https://github.com/rust-lang/rust-clippy/pull/7026 )
120
+ * [ ` panic_in_result_fn ` ] : No longer lints on ` debug_assert ` family
121
+ [ #7060 ] ( https://github.com/rust-lang/rust-clippy/pull/7060 )
122
+ * [ ` panic ` ] : No longer wrongfully lints on ` debug_assert ` with message
123
+ [ #7063 ] ( https://github.com/rust-lang/rust-clippy/pull/7063 )
124
+ * [ ` wrong_self_convention ` ] : No longer lints in trait implementations where no
125
+ ` self ` is involved [ #7064 ] ( https://github.com/rust-lang/rust-clippy/pull/7064 )
126
+ * [ ` missing_const_for_fn ` ] : No longer lints when unstable ` const ` function is
127
+ involved [ #7076 ] ( https://github.com/rust-lang/rust-clippy/pull/7076 )
128
+ * [ ` suspicious_else_formatting ` ] : Allow Allman style braces
129
+ [ #7087 ] ( https://github.com/rust-lang/rust-clippy/pull/7087 )
130
+ * [ ` inconsistent_struct_constructor ` ] : No longer lints in macros
131
+ [ #7097 ] ( https://github.com/rust-lang/rust-clippy/pull/7097 )
132
+ * [ ` single_component_path_imports ` ] : No longer lints on macro re-exports
133
+ [ #7120 ] ( https://github.com/rust-lang/rust-clippy/pull/7120 )
134
+
135
+ ### Suggestion Fixes/Improvements
136
+
137
+ * [ ` redundant_pattern_matching ` ] : Add a note when applying this lint would
138
+ change the drop order
139
+ [ #6568 ] ( https://github.com/rust-lang/rust-clippy/pull/6568 )
140
+ * [ ` write_literal ` ] , [ ` print_literal ` ] : Add auto-applicable suggestion
141
+ [ #6821 ] ( https://github.com/rust-lang/rust-clippy/pull/6821 )
142
+ * [ ` manual_map ` ] : Fix suggestion for complex ` if let ... else ` chains
143
+ [ #6856 ] ( https://github.com/rust-lang/rust-clippy/pull/6856 )
144
+ * [ ` inconsistent_struct_constructor ` ] : Make lint description and message clearer
145
+ [ #6892 ] ( https://github.com/rust-lang/rust-clippy/pull/6892 )
146
+ * [ ` map_entry ` ] : Now suggests ` or_insert ` , ` insert_with ` or ` match _.entry(_) `
147
+ as appropriate [ #6937 ] ( https://github.com/rust-lang/rust-clippy/pull/6937 )
148
+ * [ ` manual_flatten ` ] : Suggest to insert ` copied ` if necessary
149
+ [ #6962 ] ( https://github.com/rust-lang/rust-clippy/pull/6962 )
150
+ * [ ` redundant_slicing ` ] : Fix suggestion when a re-borrow might be required or
151
+ when the value is from a macro call
152
+ [ #6975 ] ( https://github.com/rust-lang/rust-clippy/pull/6975 )
153
+ * [ ` match_wildcard_for_single_variants ` ] : Fix suggestion for hidden variant
154
+ [ #6988 ] ( https://github.com/rust-lang/rust-clippy/pull/6988 )
155
+ * [ ` clone_on_copy ` ] : Correct suggestion when the cloned value is a macro call
156
+ [ #7000 ] ( https://github.com/rust-lang/rust-clippy/pull/7000 )
157
+ * [ ` manual_map ` ] : Fix suggestion at the end of an if chain
158
+ [ #7004 ] ( https://github.com/rust-lang/rust-clippy/pull/7004 )
159
+ * Fix needless parenthesis output in multiple lint suggestions
160
+ [ #7013 ] ( https://github.com/rust-lang/rust-clippy/pull/7013 )
161
+ * [ ` needless_collect ` ] : Better explanation in the lint message
162
+ [ #7020 ] ( https://github.com/rust-lang/rust-clippy/pull/7020 )
163
+ * [ ` useless_vec ` ] : Now considers mutability
164
+ [ #7036 ] ( https://github.com/rust-lang/rust-clippy/pull/7036 )
165
+ * [ ` useless_format ` ] : Wrap the content in braces if necessary
166
+ [ #7092 ] ( https://github.com/rust-lang/rust-clippy/pull/7092 )
167
+ * [ ` single_match ` ] : Don't suggest an equality check for types which don't
168
+ implement ` PartialEq `
169
+ [ #7093 ] ( https://github.com/rust-lang/rust-clippy/pull/7093 )
170
+ * [ ` from_over_into ` ] : Mention type in help message
171
+ [ #7099 ] ( https://github.com/rust-lang/rust-clippy/pull/7099 )
172
+ * [ ` manual_unwrap_or ` ] : Fix invalid code suggestion due to a macro call
173
+ [ #7136 ] ( https://github.com/rust-lang/rust-clippy/pull/7136 )
174
+
175
+ ### ICE Fixes
176
+
177
+ * [ ` macro_use_imports ` ]
178
+ [ #7022 ] ( https://github.com/rust-lang/rust-clippy/pull/7022 )
179
+ * [ ` missing_panics_doc ` ]
180
+ [ #7034 ] ( https://github.com/rust-lang/rust-clippy/pull/7034 )
181
+ * [ ` tabs_in_doc_comments ` ]
182
+ [ #7039 ] ( https://github.com/rust-lang/rust-clippy/pull/7039 )
183
+ * [ ` missing_const_for_fn ` ]
184
+ [ #7128 ] ( https://github.com/rust-lang/rust-clippy/pull/7128 )
185
+
186
+ ### Others
187
+
188
+ * [ Clippy's lint
189
+ list] ( https://rust-lang.github.io/rust-clippy/master/index.html ) now supports
190
+ themes [ #7030 ] ( https://github.com/rust-lang/rust-clippy/pull/7030 )
191
+ * Lints that were uplifted to ` rustc ` now mention the new ` rustc ` name in the
192
+ deprecation warning
193
+ [ #7056 ] ( https://github.com/rust-lang/rust-clippy/pull/7056 )
10
194
11
195
## Rust 1.52
12
196
13
- Current beta, release 2021-05-06
197
+ Current stable, released 2021-05-06
14
198
15
199
[ 3e41797...6ed6f1e] ( https://github.com/rust-lang/rust-clippy/compare/3e41797...6ed6f1e )
16
200
@@ -99,7 +283,7 @@ Current beta, release 2021-05-06
99
283
[ #6682 ] ( https://github.com/rust-lang/rust-clippy/pull/6682 )
100
284
* [ ` unit_arg ` ] : No longer lints on unit arguments when they come from a path expression.
101
285
[ #6601 ] ( https://github.com/rust-lang/rust-clippy/pull/6601 )
102
- * [ ` cargo_common_metadata ` ] : No longer lints if
286
+ * [ ` cargo_common_metadata ` ] : No longer lints if
103
287
[ ` publish = false ` ] ( https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field )
104
288
is defined in the manifest
105
289
[ #6650 ] ( https://github.com/rust-lang/rust-clippy/pull/6650 )
@@ -124,11 +308,11 @@ Current beta, release 2021-05-06
124
308
125
309
* [ ` useless_format ` ] : Improved the documentation example
126
310
[ #6854 ] ( https://github.com/rust-lang/rust-clippy/pull/6854 )
127
- * Clippy's [ ` README.md ` ] : Includes a new subsection on running Clippy as a rustc wrapper
311
+ * Clippy's [ ` README.md ` ] : Includes a new subsection on running Clippy as a rustc wrapper
128
312
[ #6782 ] ( https://github.com/rust-lang/rust-clippy/pull/6782 )
129
313
130
314
### Others
131
- * Running ` cargo clippy ` after ` cargo check ` now works as expected
315
+ * Running ` cargo clippy ` after ` cargo check ` now works as expected
132
316
(` cargo clippy ` and ` cargo check ` no longer shares the same build cache)
133
317
[ #6687 ] ( https://github.com/rust-lang/rust-clippy/pull/6687 )
134
318
* Cargo now re-runs Clippy if arguments after ` -- ` provided to ` cargo clippy ` are changed.
@@ -145,7 +329,7 @@ Current beta, release 2021-05-06
145
329
146
330
## Rust 1.51
147
331
148
- Current stable, released 2021-03-25
332
+ Released 2021-03-25
149
333
150
334
[ 4911ab1...3e41797] ( https://github.com/rust-lang/rust-clippy/compare/4911ab1...3e41797 )
151
335
@@ -2365,6 +2549,7 @@ Released 2018-09-13
2365
2549
[ `mutex_integer` ] : https://rust-lang.github.io/rust-clippy/master/index.html#mutex_integer
2366
2550
[ `naive_bytecount` ] : https://rust-lang.github.io/rust-clippy/master/index.html#naive_bytecount
2367
2551
[ `needless_arbitrary_self_type` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type
2552
+ [ `needless_bitwise_bool` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_bitwise_bool
2368
2553
[ `needless_bool` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool
2369
2554
[ `needless_borrow` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
2370
2555
[ `needless_borrowed_reference` ] : https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference
@@ -2538,6 +2723,7 @@ Released 2018-09-13
2538
2723
[ `unsound_collection_transmute` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unsound_collection_transmute
2539
2724
[ `unstable_as_mut_slice` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unstable_as_mut_slice
2540
2725
[ `unstable_as_slice` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unstable_as_slice
2726
+ [ `unused_async` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
2541
2727
[ `unused_collect` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unused_collect
2542
2728
[ `unused_io_amount` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount
2543
2729
[ `unused_self` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unused_self
0 commit comments