@@ -6,11 +6,161 @@ document.
6
6
7
7
## Unreleased / In Rust Nightly
8
8
9
- [ d7b5cbf0...master] ( https://github.com/rust-lang/rust-clippy/compare/d7b5cbf0...master )
9
+ [ 3c7e7dbc...master] ( https://github.com/rust-lang/rust-clippy/compare/3c7e7dbc...master )
10
+
11
+ ## Rust 1.64
12
+
13
+ Current stable, released 2022-09-22
14
+
15
+ [ d7b5cbf0...3c7e7dbc] ( https://github.com/rust-lang/rust-clippy/compare/d7b5cbf0...3c7e7dbc )
16
+
17
+ ### New Lints
18
+
19
+ * [ ` arithmetic_side_effects ` ]
20
+ [ #9130 ] ( https://github.com/rust-lang/rust-clippy/pull/9130 )
21
+ * [ ` invalid_utf8_in_unchecked ` ]
22
+ [ #9105 ] ( https://github.com/rust-lang/rust-clippy/pull/9105 )
23
+ * [ ` assertions_on_result_states ` ]
24
+ [ #9225 ] ( https://github.com/rust-lang/rust-clippy/pull/9225 )
25
+ * [ ` manual_find ` ]
26
+ [ #8649 ] ( https://github.com/rust-lang/rust-clippy/pull/8649 )
27
+ * [ ` manual_retain ` ]
28
+ [ #8972 ] ( https://github.com/rust-lang/rust-clippy/pull/8972 )
29
+ * [ ` default_instead_of_iter_empty ` ]
30
+ [ #8989 ] ( https://github.com/rust-lang/rust-clippy/pull/8989 )
31
+ * [ ` manual_rem_euclid ` ]
32
+ [ #9031 ] ( https://github.com/rust-lang/rust-clippy/pull/9031 )
33
+ * [ ` obfuscated_if_else ` ]
34
+ [ #9148 ] ( https://github.com/rust-lang/rust-clippy/pull/9148 )
35
+ * [ ` std_instead_of_core ` ]
36
+ [ #9103 ] ( https://github.com/rust-lang/rust-clippy/pull/9103 )
37
+ * [ ` std_instead_of_alloc ` ]
38
+ [ #9103 ] ( https://github.com/rust-lang/rust-clippy/pull/9103 )
39
+ * [ ` alloc_instead_of_core ` ]
40
+ [ #9103 ] ( https://github.com/rust-lang/rust-clippy/pull/9103 )
41
+ * [ ` explicit_auto_deref ` ]
42
+ [ #8355 ] ( https://github.com/rust-lang/rust-clippy/pull/8355 )
43
+
44
+
45
+ ### Moves and Deprecations
46
+
47
+ * Moved [ ` format_push_string ` ] to ` restriction ` (now allow-by-default)
48
+ [ #9161 ] ( https://github.com/rust-lang/rust-clippy/pull/9161 )
49
+
50
+ ### Enhancements
51
+
52
+ * [ ` significant_drop_in_scrutinee ` ] : Now gives more context in the lint message
53
+ [ #8981 ] ( https://github.com/rust-lang/rust-clippy/pull/8981 )
54
+ * [ ` single_match ` ] , [ ` single_match_else ` ] : Now catches more ` Option ` cases
55
+ [ #8985 ] ( https://github.com/rust-lang/rust-clippy/pull/8985 )
56
+ * [ ` unused_async ` ] : Now works for async methods
57
+ [ #9025 ] ( https://github.com/rust-lang/rust-clippy/pull/9025 )
58
+ * [ ` manual_filter_map ` ] , [ ` manual_find_map ` ] : Now lint more expressions
59
+ [ #8958 ] ( https://github.com/rust-lang/rust-clippy/pull/8958 )
60
+ * [ ` question_mark ` ] : Now works for simple ` if let ` expressions
61
+ [ #8356 ] ( https://github.com/rust-lang/rust-clippy/pull/8356 )
62
+ * [ ` undocumented_unsafe_blocks ` ] : Now finds comments before the start of closures
63
+ [ #9117 ] ( https://github.com/rust-lang/rust-clippy/pull/9117 )
64
+ * [ ` trait_duplication_in_bounds ` ] : Now catches duplicate bounds in where clauses
65
+ [ #8703 ] ( https://github.com/rust-lang/rust-clippy/pull/8703 )
66
+ * [ ` shadow_reuse ` ] , [ ` shadow_same ` ] , [ ` shadow_unrelated ` ] : Now lint in const blocks
67
+ [ #9124 ] ( https://github.com/rust-lang/rust-clippy/pull/9124 )
68
+ * [ ` slow_vector_initialization ` ] : Now detects cases with ` vec.capacity() `
69
+ [ #8953 ] ( https://github.com/rust-lang/rust-clippy/pull/8953 )
70
+ * [ ` unused_self ` ] : Now respects the ` avoid-breaking-exported-api ` config option
71
+ [ #9199 ] ( https://github.com/rust-lang/rust-clippy/pull/9199 )
72
+ * [ ` box_collection ` ] : Now supports all std collections
73
+ [ #9170 ] ( https://github.com/rust-lang/rust-clippy/pull/9170 )
74
+
75
+ ### False Positive Fixes
76
+
77
+ * [ ` significant_drop_in_scrutinee ` ] : Now ignores calls to ` IntoIterator::into_iter `
78
+ [ #9140 ] ( https://github.com/rust-lang/rust-clippy/pull/9140 )
79
+ * [ ` while_let_loop ` ] : Now ignores cases when the significant drop order would change
80
+ [ #8981 ] ( https://github.com/rust-lang/rust-clippy/pull/8981 )
81
+ * [ ` branches_sharing_code ` ] : Now ignores cases where moved variables have a significant
82
+ drop or variable modifications can affect the conditions
83
+ [ #9138 ] ( https://github.com/rust-lang/rust-clippy/pull/9138 )
84
+ * [ ` let_underscore_lock ` ] : Now ignores bindings that aren't locked
85
+ [ #8990 ] ( https://github.com/rust-lang/rust-clippy/pull/8990 )
86
+ * [ ` trivially_copy_pass_by_ref ` ] : Now tracks lifetimes and ignores cases where unsafe
87
+ pointers are used
88
+ [ #8639 ] ( https://github.com/rust-lang/rust-clippy/pull/8639 )
89
+ * [ ` let_unit_value ` ] : No longer ignores ` #[allow] ` attributes on the value
90
+ [ #9082 ] ( https://github.com/rust-lang/rust-clippy/pull/9082 )
91
+ * [ ` declare_interior_mutable_const ` ] : Now ignores the ` thread_local! ` macro
92
+ [ #9015 ] ( https://github.com/rust-lang/rust-clippy/pull/9015 )
93
+ * [ ` if_same_then_else ` ] : Now ignores branches with ` todo! ` and ` unimplemented! `
94
+ [ #9006 ] ( https://github.com/rust-lang/rust-clippy/pull/9006 )
95
+ * [ ` enum_variant_names ` ] : Now ignores names with ` _ ` prefixes
96
+ [ #9032 ] ( https://github.com/rust-lang/rust-clippy/pull/9032 )
97
+ * [ ` let_unit_value ` ] : Now ignores cases, where the unit type is manually specified
98
+ [ #9056 ] ( https://github.com/rust-lang/rust-clippy/pull/9056 )
99
+ * [ ` match_same_arms ` ] : Now ignores branches with ` todo! `
100
+ [ #9207 ] ( https://github.com/rust-lang/rust-clippy/pull/9207 )
101
+ * [ ` assign_op_pattern ` ] : Ignores cases that break borrowing rules
102
+ [ #9214 ] ( https://github.com/rust-lang/rust-clippy/pull/9214 )
103
+ * [ ` extra_unused_lifetimes ` ] : No longer triggers in derive macros
104
+ [ #9037 ] ( https://github.com/rust-lang/rust-clippy/pull/9037 )
105
+ * [ ` mismatching_type_param_order ` ] : Now ignores complicated generic parameters
106
+ [ #9146 ] ( https://github.com/rust-lang/rust-clippy/pull/9146 )
107
+ * [ ` equatable_if_let ` ] : No longer lints in macros
108
+ [ #9074 ] ( https://github.com/rust-lang/rust-clippy/pull/9074 )
109
+ * [ ` new_without_default ` ] : Now ignores generics and lifetime parameters on ` fn new `
110
+ [ #9115 ] ( https://github.com/rust-lang/rust-clippy/pull/9115 )
111
+ * [ ` needless_borrow ` ] : Now ignores cases that result in the execution of different traits
112
+ [ #9096 ] ( https://github.com/rust-lang/rust-clippy/pull/9096 )
113
+ * [ ` declare_interior_mutable_const ` ] : No longer triggers in thread-local initializers
114
+ [ #9246 ] ( https://github.com/rust-lang/rust-clippy/pull/9246 )
115
+
116
+ ### Suggestion Fixes/Improvements
117
+
118
+ * [ ` type_repetition_in_bounds ` ] : The suggestion now works with maybe bounds
119
+ [ #9132 ] ( https://github.com/rust-lang/rust-clippy/pull/9132 )
120
+ * [ ` transmute_ptr_to_ref ` ] : Now suggests ` pointer::cast ` when possible
121
+ [ #8939 ] ( https://github.com/rust-lang/rust-clippy/pull/8939 )
122
+ * [ ` useless_format ` ] : Now suggests the correct variable name
123
+ [ #9237 ] ( https://github.com/rust-lang/rust-clippy/pull/9237 )
124
+ * [ ` or_fun_call ` ] : The lint emission will now only span over the ` unwrap_or ` call
125
+ [ #9144 ] ( https://github.com/rust-lang/rust-clippy/pull/9144 )
126
+ * [ ` neg_multiply ` ] : Now suggests adding parentheses around suggestion if needed
127
+ [ #9026 ] ( https://github.com/rust-lang/rust-clippy/pull/9026 )
128
+ * [ ` unnecessary_lazy_evaluations ` ] : Now suggest for ` bool::then_some ` for lazy evaluation
129
+ [ #9099 ] ( https://github.com/rust-lang/rust-clippy/pull/9099 )
130
+ * [ ` manual_flatten ` ] : Improved message for long code snippets
131
+ [ #9156 ] ( https://github.com/rust-lang/rust-clippy/pull/9156 )
132
+ * [ ` explicit_counter_loop ` ] : The suggestion is now machine applicable
133
+ [ #9149 ] ( https://github.com/rust-lang/rust-clippy/pull/9149 )
134
+ * [ ` needless_borrow ` ] : Now keeps parentheses around fields, when needed
135
+ [ #9210 ] ( https://github.com/rust-lang/rust-clippy/pull/9210 )
136
+ * [ ` while_let_on_iterator ` ] : The suggestion now works in ` FnOnce ` closures
137
+ [ #9134 ] ( https://github.com/rust-lang/rust-clippy/pull/9134 )
138
+
139
+ ### ICE Fixes
140
+
141
+ * Fix ICEs related to ` #![feature(generic_const_exprs)] ` usage
142
+ [ #9241 ] ( https://github.com/rust-lang/rust-clippy/pull/9241 )
143
+ * Fix ICEs related to reference lints
144
+ [ #9093 ] ( https://github.com/rust-lang/rust-clippy/pull/9093 )
145
+ * [ ` question_mark ` ] : Fix ICE on zero field tuple structs
146
+ [ #9244 ] ( https://github.com/rust-lang/rust-clippy/pull/9244 )
147
+
148
+ ### Documentation Improvements
149
+
150
+ * [ ` needless_option_take ` ] : Now includes a "What it does" and "Why is this bad?" section.
151
+ [ #9022 ] ( https://github.com/rust-lang/rust-clippy/pull/9022 )
152
+
153
+ ### Others
154
+
155
+ * Using ` --cap-lints=allow ` and only ` --force-warn ` ing some will now work with Clippy's driver
156
+ [ #9036 ] ( https://github.com/rust-lang/rust-clippy/pull/9036 )
157
+ * Clippy now tries to read the ` rust-version ` from ` Cargo.toml ` to identify the
158
+ minimum supported rust version
159
+ [ #8774 ] ( https://github.com/rust-lang/rust-clippy/pull/8774 )
10
160
11
161
## Rust 1.63
12
162
13
- Current stable, released 2022-08-11
163
+ Released 2022-08-11
14
164
15
165
[ 7c21f91b...d7b5cbf0] ( https://github.com/rust-lang/rust-clippy/compare/7c21f91b...d7b5cbf0 )
16
166
@@ -3609,6 +3759,7 @@ Released 2018-09-13
3609
3759
[ `borrow_interior_mutable_const` ] : https://rust-lang.github.io/rust-clippy/master/index.html#borrow_interior_mutable_const
3610
3760
[ `borrowed_box` ] : https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box
3611
3761
[ `box_collection` ] : https://rust-lang.github.io/rust-clippy/master/index.html#box_collection
3762
+ [ `box_default` ] : https://rust-lang.github.io/rust-clippy/master/index.html#box_default
3612
3763
[ `box_vec` ] : https://rust-lang.github.io/rust-clippy/master/index.html#box_vec
3613
3764
[ `boxed_local` ] : https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local
3614
3765
[ `branches_sharing_code` ] : https://rust-lang.github.io/rust-clippy/master/index.html#branches_sharing_code
@@ -3669,6 +3820,7 @@ Released 2018-09-13
3669
3820
[ `derive_hash_xor_eq` ] : https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq
3670
3821
[ `derive_ord_xor_partial_ord` ] : https://rust-lang.github.io/rust-clippy/master/index.html#derive_ord_xor_partial_ord
3671
3822
[ `derive_partial_eq_without_eq` ] : https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
3823
+ [ `disallowed_macros` ] : https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_macros
3672
3824
[ `disallowed_method` ] : https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_method
3673
3825
[ `disallowed_methods` ] : https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_methods
3674
3826
[ `disallowed_names` ] : https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_names
@@ -3766,6 +3918,7 @@ Released 2018-09-13
3766
3918
[ `implicit_clone` ] : https://rust-lang.github.io/rust-clippy/master/index.html#implicit_clone
3767
3919
[ `implicit_hasher` ] : https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher
3768
3920
[ `implicit_return` ] : https://rust-lang.github.io/rust-clippy/master/index.html#implicit_return
3921
+ [ `implicit_saturating_add` ] : https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_add
3769
3922
[ `implicit_saturating_sub` ] : https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub
3770
3923
[ `imprecise_flops` ] : https://rust-lang.github.io/rust-clippy/master/index.html#imprecise_flops
3771
3924
[ `inconsistent_digit_grouping` ] : https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping
@@ -3834,6 +3987,7 @@ Released 2018-09-13
3834
3987
[ `manual_assert` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_assert
3835
3988
[ `manual_async_fn` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
3836
3989
[ `manual_bits` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_bits
3990
+ [ `manual_clamp` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp
3837
3991
[ `manual_filter_map` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map
3838
3992
[ `manual_find` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_find
3839
3993
[ `manual_find_map` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_find_map
@@ -4124,6 +4278,7 @@ Released 2018-09-13
4124
4278
[ `unimplemented` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unimplemented
4125
4279
[ `uninit_assumed_init` ] : https://rust-lang.github.io/rust-clippy/master/index.html#uninit_assumed_init
4126
4280
[ `uninit_vec` ] : https://rust-lang.github.io/rust-clippy/master/index.html#uninit_vec
4281
+ [ `uninlined_format_args` ] : https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
4127
4282
[ `unit_arg` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg
4128
4283
[ `unit_cmp` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unit_cmp
4129
4284
[ `unit_hash` ] : https://rust-lang.github.io/rust-clippy/master/index.html#unit_hash
0 commit comments