@@ -6,11 +6,168 @@ document.
6
6
7
7
## Unreleased / In Rust Nightly
8
8
9
- [ d0cf3481...master] ( https://github.com/rust-lang/rust-clippy/compare/d0cf3481...master )
9
+ [ 7c21f91b...master] ( https://github.com/rust-lang/rust-clippy/compare/7c21f91b...master )
10
+
11
+ ## Rust 1.62
12
+
13
+ Current stable, released 2022-06-30
14
+
15
+ [ d0cf3481...7c21f91b] ( https://github.com/rust-lang/rust-clippy/compare/d0cf3481...7c21f91b )
16
+
17
+ ### New Lints
18
+
19
+ * [ ` large_include_file ` ]
20
+ [ #8727 ] ( https://github.com/rust-lang/rust-clippy/pull/8727 )
21
+ * [ ` cast_abs_to_unsigned ` ]
22
+ [ #8635 ] ( https://github.com/rust-lang/rust-clippy/pull/8635 )
23
+ * [ ` err_expect ` ]
24
+ [ #8606 ] ( https://github.com/rust-lang/rust-clippy/pull/8606 )
25
+ * [ ` unnecessary_owned_empty_strings ` ]
26
+ [ #8660 ] ( https://github.com/rust-lang/rust-clippy/pull/8660 )
27
+ * [ ` empty_structs_with_brackets ` ]
28
+ [ #8594 ] ( https://github.com/rust-lang/rust-clippy/pull/8594 )
29
+ * [ ` crate_in_macro_def ` ]
30
+ [ #8576 ] ( https://github.com/rust-lang/rust-clippy/pull/8576 )
31
+ * [ ` needless_option_take ` ]
32
+ [ #8665 ] ( https://github.com/rust-lang/rust-clippy/pull/8665 )
33
+ * [ ` bytes_count_to_len ` ]
34
+ [ #8711 ] ( https://github.com/rust-lang/rust-clippy/pull/8711 )
35
+ * [ ` is_digit_ascii_radix ` ]
36
+ [ #8624 ] ( https://github.com/rust-lang/rust-clippy/pull/8624 )
37
+ * [ ` await_holding_invalid_type ` ]
38
+ [ #8707 ] ( https://github.com/rust-lang/rust-clippy/pull/8707 )
39
+ * [ ` trim_split_whitespace ` ]
40
+ [ #8575 ] ( https://github.com/rust-lang/rust-clippy/pull/8575 )
41
+ * [ ` pub_use ` ]
42
+ [ #8670 ] ( https://github.com/rust-lang/rust-clippy/pull/8670 )
43
+ * [ ` format_push_string ` ]
44
+ [ #8626 ] ( https://github.com/rust-lang/rust-clippy/pull/8626 )
45
+ * [ ` empty_drop ` ]
46
+ [ #8571 ] ( https://github.com/rust-lang/rust-clippy/pull/8571 )
47
+ * [ ` drop_non_drop ` ]
48
+ [ #8630 ] ( https://github.com/rust-lang/rust-clippy/pull/8630 )
49
+ * [ ` forget_non_drop ` ]
50
+ [ #8630 ] ( https://github.com/rust-lang/rust-clippy/pull/8630 )
51
+
52
+ ### Moves and Deprecations
53
+
54
+ * Move [ ` only_used_in_recursion ` ] to ` nursery ` (now allow-by-default)
55
+ [ #8783 ] ( https://github.com/rust-lang/rust-clippy/pull/8783 )
56
+ * Move [ ` stable_sort_primitive ` ] to ` pedantic ` (now allow-by-default)
57
+ [ #8716 ] ( https://github.com/rust-lang/rust-clippy/pull/8716 )
58
+
59
+ ### Enhancements
60
+
61
+ * Remove overlap between [ ` manual_split_once ` ] and [ ` needless_splitn ` ]
62
+ [ #8631 ] ( https://github.com/rust-lang/rust-clippy/pull/8631 )
63
+ * [ ` map_identity ` ] : Now checks for needless ` map_err `
64
+ [ #8487 ] ( https://github.com/rust-lang/rust-clippy/pull/8487 )
65
+ * [ ` extra_unused_lifetimes ` ] : Now checks for impl lifetimes
66
+ [ #8737 ] ( https://github.com/rust-lang/rust-clippy/pull/8737 )
67
+ * [ ` cast_possible_truncation ` ] : Now catches more cases with larger shift or divide operations
68
+ [ #8687 ] ( https://github.com/rust-lang/rust-clippy/pull/8687 )
69
+ * [ ` identity_op ` ] : Now checks for modulo expressions
70
+ [ #8519 ] ( https://github.com/rust-lang/rust-clippy/pull/8519 )
71
+ * [ ` panic ` ] : No longer lint in constant context
72
+ [ #8592 ] ( https://github.com/rust-lang/rust-clippy/pull/8592 )
73
+ * [ ` manual_split_once ` ] : Now lints manual iteration of ` splitn `
74
+ [ #8717 ] ( https://github.com/rust-lang/rust-clippy/pull/8717 )
75
+ * [ ` self_named_module_files ` ] , [ ` mod_module_files ` ] : Now handle relative module paths
76
+ [ #8611 ] ( https://github.com/rust-lang/rust-clippy/pull/8611 )
77
+ * [ ` unsound_collection_transmute ` ] : Now has better size and alignment checks
78
+ [ #8648 ] ( https://github.com/rust-lang/rust-clippy/pull/8648 )
79
+ * [ ` unnested_or_patterns ` ] : Ignore cases, where the suggestion would be longer
80
+ [ #8619 ] ( https://github.com/rust-lang/rust-clippy/pull/8619 )
81
+
82
+ ### False Positive Fixes
83
+
84
+ * [ ` rest_pat_in_fully_bound_structs ` ] : Now ignores structs marked with ` #[non_exhaustive] `
85
+ [ #8690 ] ( https://github.com/rust-lang/rust-clippy/pull/8690 )
86
+ * [ ` needless_late_init ` ] : No longer lints ` if let ` statements, ` let mut ` bindings or instances that
87
+ changes the drop order significantly
88
+ [ #8617 ] ( https://github.com/rust-lang/rust-clippy/pull/8617 )
89
+ * [ ` unnecessary_cast ` ] : No longer lints to casts to aliased or non-primitive types
90
+ [ #8596 ] ( https://github.com/rust-lang/rust-clippy/pull/8596 )
91
+ * [ ` init_numbered_fields ` ] : No longer lints type aliases
92
+ [ #8780 ] ( https://github.com/rust-lang/rust-clippy/pull/8780 )
93
+ * [ ` needless_option_as_deref ` ] : No longer lints for ` as_deref_mut ` on ` Option ` values that can't be moved
94
+ [ #8646 ] ( https://github.com/rust-lang/rust-clippy/pull/8646 )
95
+ * [ ` mistyped_literal_suffixes ` ] : Now ignores float literals without an exponent
96
+ [ #8742 ] ( https://github.com/rust-lang/rust-clippy/pull/8742 )
97
+ * [ ` undocumented_unsafe_blocks ` ] : Now ignores unsafe blocks from proc-macros and works better for sub-expressions
98
+ [ #8450 ] ( https://github.com/rust-lang/rust-clippy/pull/8450 )
99
+ * [ ` same_functions_in_if_condition ` ] : Now allows different constants, even if they have the same value
100
+ [ #8673 ] ( https://github.com/rust-lang/rust-clippy/pull/8673 )
101
+ * [ ` needless_match ` ] : Now checks for more complex types and ignores type coercion
102
+ [ #8549 ] ( https://github.com/rust-lang/rust-clippy/pull/8549 )
103
+ * [ ` assertions_on_constants ` ] : Now ignores constants from ` cfg! ` macros
104
+ [ #8614 ] ( https://github.com/rust-lang/rust-clippy/pull/8614 )
105
+ * [ ` indexing_slicing ` ] : Fix false positives with constant indices in
106
+ [ #8588 ] ( https://github.com/rust-lang/rust-clippy/pull/8588 )
107
+ * [ ` iter_with_drain ` ] : Now ignores iterator references
108
+ [ #8668 ] ( https://github.com/rust-lang/rust-clippy/pull/8668 )
109
+ * [ ` useless_attribute ` ] : Now allows [ ` redundant_pub_crate ` ] on ` use ` items
110
+ [ #8743 ] ( https://github.com/rust-lang/rust-clippy/pull/8743 )
111
+ * [ ` cast_ptr_alignment ` ] : Now ignores expressions, when used for unaligned reads and writes
112
+ [ #8632 ] ( https://github.com/rust-lang/rust-clippy/pull/8632 )
113
+ * [ ` wrong_self_convention ` ] : Now allows ` &mut self ` and no self as arguments for ` is_* ` methods
114
+ [ #8738 ] ( https://github.com/rust-lang/rust-clippy/pull/8738 )
115
+ * [ ` mut_from_ref ` ] : Only lint in unsafe code
116
+ [ #8647 ] ( https://github.com/rust-lang/rust-clippy/pull/8647 )
117
+ * [ ` redundant_pub_crate ` ] : Now allows macro exports
118
+ [ #8736 ] ( https://github.com/rust-lang/rust-clippy/pull/8736 )
119
+ * [ ` needless_match ` ] : Ignores cases where the else block expression is different
120
+ [ #8700 ] ( https://github.com/rust-lang/rust-clippy/pull/8700 )
121
+ * [ ` transmute_int_to_char ` ] : Now allows transmutations in ` const ` code
122
+ [ #8610 ] ( https://github.com/rust-lang/rust-clippy/pull/8610 )
123
+ * [ ` manual_non_exhaustive ` ] : Ignores cases, where the enum value is used
124
+ [ #8645 ] ( https://github.com/rust-lang/rust-clippy/pull/8645 )
125
+ * [ ` redundant_closure ` ] : Now ignores coerced closure
126
+ [ #8431 ] ( https://github.com/rust-lang/rust-clippy/pull/8431 )
127
+ * [ ` identity_op ` ] : Is now ignored in cases where extra brackets would be needed
128
+ [ #8730 ] ( https://github.com/rust-lang/rust-clippy/pull/8730 )
129
+ * [ ` let_unit_value ` ] : Now ignores cases which are used for type inference
130
+ [ #8563 ] ( https://github.com/rust-lang/rust-clippy/pull/8563 )
131
+
132
+ ### Suggestion Fixes/Improvements
133
+
134
+ * [ ` manual_split_once ` ] : Fixed incorrect suggestions for single result accesses
135
+ [ #8631 ] ( https://github.com/rust-lang/rust-clippy/pull/8631 )
136
+ * [ ` bytes_nth ` ] : Fix typos in the diagnostic message
137
+ [ #8403 ] ( https://github.com/rust-lang/rust-clippy/pull/8403 )
138
+ * [ ` mistyped_literal_suffixes ` ] : Now suggests the correct integer types
139
+ [ #8742 ] ( https://github.com/rust-lang/rust-clippy/pull/8742 )
140
+ * [ ` unnecessary_to_owned ` ] : Fixed suggestion based on the configured msrv
141
+ [ #8692 ] ( https://github.com/rust-lang/rust-clippy/pull/8692 )
142
+ * [ ` single_element_loop ` ] : Improve lint for Edition 2021 arrays
143
+ [ #8616 ] ( https://github.com/rust-lang/rust-clippy/pull/8616 )
144
+ * [ ` manual_bits ` ] : Now includes a cast for proper type conversion, when needed
145
+ [ #8677 ] ( https://github.com/rust-lang/rust-clippy/pull/8677 )
146
+ * [ ` option_map_unit_fn ` ] , [ ` result_map_unit_fn ` ] : Fix some incorrect suggestions
147
+ [ #8584 ] ( https://github.com/rust-lang/rust-clippy/pull/8584 )
148
+ * [ ` collapsible_else_if ` ] : Add whitespace in suggestion
149
+ [ #8729 ] ( https://github.com/rust-lang/rust-clippy/pull/8729 )
150
+ * [ ` transmute_bytes_to_str ` ] : Now suggest ` from_utf8_unchecked ` in ` const ` context
151
+ [ #8612 ] ( https://github.com/rust-lang/rust-clippy/pull/8612 )
152
+ * [ ` map_clone ` ] : Improve message and suggestion based on the msrv
153
+ [ #8688 ] ( https://github.com/rust-lang/rust-clippy/pull/8688 )
154
+ * [ ` needless_late_init ` ] : Now shows the ` let ` statement where it was first initialized
155
+ [ #8779 ] ( https://github.com/rust-lang/rust-clippy/pull/8779 )
156
+
157
+ ### ICE Fixes
158
+
159
+ * [ ` only_used_in_recursion ` ]
160
+ [ #8691 ] ( https://github.com/rust-lang/rust-clippy/pull/8691 )
161
+ * [ ` cast_slice_different_sizes ` ]
162
+ [ #8720 ] ( https://github.com/rust-lang/rust-clippy/pull/8720 )
163
+ * [ ` iter_overeager_cloned ` ]
164
+ [ #8602 ] ( https://github.com/rust-lang/rust-clippy/pull/8602 )
165
+ * [ ` undocumented_unsafe_blocks ` ]
166
+ [ #8686 ] ( https://github.com/rust-lang/rust-clippy/pull/8686 )
10
167
11
168
## Rust 1.61
12
169
13
- Current stable, released 2022-05-19
170
+ Released 2022-05-19
14
171
15
172
[ 57b3c4b...d0cf3481] ( https://github.com/rust-lang/rust-clippy/compare/57b3c4b...d0cf3481 )
16
173
0 commit comments