]> git.lizzy.rs Git - rust.git/blob - CHANGELOG.md
Integrate suggestion spans
[rust.git] / CHANGELOG.md
1 # Change Log
2 All notable changes to this project will be documented in this file.
3
4 * New [`never_loop`] lint
5 * New [`mut_from_ref`] lint
6
7 ## 0.0.114 — 2017-02-08
8 * Rustup to rustc 1.17.0-nightly (c49d10207 2017-02-07)
9 * Tests are now ui tests (testing the exact output of rustc)
10
11 ## 0.0.113 — 2017-02-04
12 * Rustup to *rustc 1.16.0-nightly (eedaa94e3 2017-02-02)*
13 * New lint: [`large_enum_variant`]
14 * `explicit_into_iter_loop` provides suggestions
15
16 ## 0.0.112 — 2017-01-27
17 * Rustup to *rustc 1.16.0-nightly (df8debf6d 2017-01-25)*
18
19 ## 0.0.111 — 2017-01-21
20 * Rustup to *rustc 1.16.0-nightly (a52da95ce 2017-01-20)*
21
22 ## 0.0.110 — 2017-01-20
23 * Add badges and categories to `Cargo.toml`
24
25 ## 0.0.109 — 2017-01-19
26 * Update to *rustc 1.16.0-nightly (c07a6ae77 2017-01-17)*
27
28 ## 0.0.108 — 2017-01-12
29 * Update to *rustc 1.16.0-nightly (2782e8f8f 2017-01-12)*
30
31 ## 0.0.107 — 2017-01-11
32 * Update regex dependency
33 * Fix FP when matching `&&mut` by `&ref`
34 * Reintroduce `for (_, x) in &mut hash_map` -> `for x in hash_map.values_mut()`
35 * New lints: [`unused_io_amount`], [`forget_ref`], [`short_circuit_statement`]
36
37 ## 0.0.106 — 2017-01-04
38 * Fix FP introduced by rustup in [`wrong_self_convention`]
39
40 ## 0.0.105 — 2017-01-04
41 * Update to *rustc 1.16.0-nightly (468227129 2017-01-03)*
42 * New lints: [`deref_addrof`], [`double_parens`], [`pub_enum_variant_names`]
43 * Fix suggestion in [`new_without_default`]
44 * FP fix in [`absurd_extreme_comparisons`]
45
46 ## 0.0.104 — 2016-12-15
47 * Update to *rustc 1.15.0-nightly (8f02c429a 2016-12-15)*
48
49 ## 0.0.103 — 2016-11-25
50 * Update to *rustc 1.15.0-nightly (d5814b03e 2016-11-23)*
51
52 ## 0.0.102 — 2016-11-24
53 * Update to *rustc 1.15.0-nightly (3bf2be9ce 2016-11-22)*
54
55 ## 0.0.101 — 2016-11-23
56 * Update to *rustc 1.15.0-nightly (7b3eeea22 2016-11-21)*
57 * New lint: [`string_extend_chars`]
58
59 ## 0.0.100 — 2016-11-20
60 * Update to *rustc 1.15.0-nightly (ac635aa95 2016-11-18)*
61
62 ## 0.0.99 — 2016-11-18
63 * Update to rustc 1.15.0-nightly (0ed951993 2016-11-14)
64 * New lint: [`get_unwrap`]
65
66 ## 0.0.98 — 2016-11-08
67 * Fixes a an issue due to a change in how cargo handles `--sysroot`, which broke `cargo clippy`
68
69 ## 0.0.97 — 2016-11-03
70 * For convenience, `cargo clippy` defines a `cargo-clippy` feature. This was
71   previously added for a short time under the name `clippy` but removed for
72   compatibility.
73 * `cargo clippy --help` is more helping (and less helpful :smile:)
74 * Rustup to *rustc 1.14.0-nightly (5665bdf3e 2016-11-02)*
75 * New lints: [`if_let_redundant_pattern_matching`], [`partialeq_ne_impl`]
76
77 ## 0.0.96 — 2016-10-22
78 * Rustup to *rustc 1.14.0-nightly (f09420685 2016-10-20)*
79 * New lint: [`iter_skip_next`]
80
81 ## 0.0.95 — 2016-10-06
82 * Rustup to *rustc 1.14.0-nightly (3210fd5c2 2016-10-05)*
83
84 ## 0.0.94 — 2016-10-04
85 * Fixes bustage on Windows due to forbidden directory name
86
87 ## 0.0.93 — 2016-10-03
88 * Rustup to *rustc 1.14.0-nightly (144af3e97 2016-10-02)*
89 * [`option_map_unwrap_or`] and [`option_map_unwrap_or_else`] are now
90   allowed by default.
91 * New lint: [`explicit_into_iter_loop`]
92
93 ## 0.0.92 — 2016-09-30
94 * Rustup to *rustc 1.14.0-nightly (289f3a4ca 2016-09-29)*
95
96 ## 0.0.91 — 2016-09-28
97 * Rustup to *rustc 1.13.0-nightly (d0623cf7b 2016-09-26)*
98
99 ## 0.0.90 — 2016-09-09
100 * Rustup to *rustc 1.13.0-nightly (f1f40f850 2016-09-09)*
101
102 ## 0.0.89 — 2016-09-06
103 * Rustup to *rustc 1.13.0-nightly (cbe4de78e 2016-09-05)*
104
105 ## 0.0.88 — 2016-09-04
106 * Rustup to *rustc 1.13.0-nightly (70598e04f 2016-09-03)*
107 * The following lints are not new but were only usable through the `clippy`
108   lint groups: [`filter_next`], [`for_loop_over_option`],
109   [`for_loop_over_result`] and [`match_overlapping_arm`]. You should now be
110   able to `#[allow/deny]` them individually and they are available directly
111   through [`cargo clippy`].
112
113 ## 0.0.87 — 2016-08-31
114 * Rustup to *rustc 1.13.0-nightly (eac41469d 2016-08-30)*
115 * New lints: [`builtin_type_shadow`]
116 * Fix FP in [`zero_prefixed_literal`] and `0b`/`0o`
117
118 ## 0.0.86 — 2016-08-28
119 * Rustup to *rustc 1.13.0-nightly (a23064af5 2016-08-27)*
120 * New lints: [`missing_docs_in_private_items`], [`zero_prefixed_literal`]
121
122 ## 0.0.85 — 2016-08-19
123 * Fix ICE with [`useless_attribute`]
124 * [`useless_attribute`] ignores [`unused_imports`] on `use` statements
125
126 ## 0.0.84 — 2016-08-18
127 * Rustup to *rustc 1.13.0-nightly (aef6971ca 2016-08-17)*
128
129 ## 0.0.83 — 2016-08-17
130 * Rustup to *rustc 1.12.0-nightly (1bf5fa326 2016-08-16)*
131 * New lints: [`print_with_newline`], [`useless_attribute`]
132
133 ## 0.0.82 — 2016-08-17
134 * Rustup to *rustc 1.12.0-nightly (197be89f3 2016-08-15)*
135 * New lint: [`module_inception`]
136
137 ## 0.0.81 — 2016-08-14
138 * Rustup to *rustc 1.12.0-nightly (1deb02ea6 2016-08-12)*
139 * New lints: [`eval_order_dependence`], [`mixed_case_hex_literals`], [`unseparated_literal_suffix`]
140 * False positive fix in [`too_many_arguments`]
141 * Addition of functionality to [`needless_borrow`]
142 * Suggestions for [`clone_on_copy`]
143 * Bug fix in [`wrong_self_convention`]
144 * Doc improvements
145
146 ## 0.0.80 — 2016-07-31
147 * Rustup to *rustc 1.12.0-nightly (1225e122f 2016-07-30)*
148 * New lints: [`misrefactored_assign_op`], [`serde_api_misuse`]
149
150 ## 0.0.79 — 2016-07-10
151 * Rustup to *rustc 1.12.0-nightly (f93aaf84c 2016-07-09)*
152 * Major suggestions refactoring
153
154 ## 0.0.78 — 2016-07-02
155 * Rustup to *rustc 1.11.0-nightly (01411937f 2016-07-01)*
156 * New lints: [`wrong_transmute`], [`double_neg`], [`filter_map`]
157 * For compatibility, `cargo clippy` does not defines the `clippy` feature
158   introduced in 0.0.76 anymore
159 * [`collapsible_if`] now considers `if let`
160
161 ## 0.0.77 — 2016-06-21
162 * Rustup to *rustc 1.11.0-nightly (5522e678b 2016-06-20)*
163 * New lints: [`stutter`] and [`iter_nth`]
164
165 ## 0.0.76 — 2016-06-10
166 * Rustup to *rustc 1.11.0-nightly (7d2f75a95 2016-06-09)*
167 * `cargo clippy` now automatically defines the `clippy` feature
168 * New lint: [`not_unsafe_ptr_arg_deref`]
169
170 ## 0.0.75 — 2016-06-08
171 * Rustup to *rustc 1.11.0-nightly (763f9234b 2016-06-06)*
172
173 ## 0.0.74 — 2016-06-07
174 * Fix bug with `cargo-clippy` JSON parsing
175 * Add the `CLIPPY_DISABLE_WIKI_LINKS` environment variable to deactivate the
176   “for further information visit *wiki-link*” message.
177
178 ## 0.0.73 — 2016-06-05
179 * Fix false positives in [`useless_let_if_seq`]
180
181 ## 0.0.72 — 2016-06-04
182 * Fix false positives in [`useless_let_if_seq`]
183
184 ## 0.0.71 — 2016-05-31
185 * Rustup to *rustc 1.11.0-nightly (a967611d8 2016-05-30)*
186 * New lint: [`useless_let_if_seq`]
187
188 ## 0.0.70 — 2016-05-28
189 * Rustup to *rustc 1.10.0-nightly (7bddce693 2016-05-27)*
190 * [`invalid_regex`] and [`trivial_regex`] can now warn on `RegexSet::new`,
191   `RegexBuilder::new` and byte regexes
192
193 ## 0.0.69 — 2016-05-20
194 * Rustup to *rustc 1.10.0-nightly (476fe6eef 2016-05-21)*
195 * [`used_underscore_binding`] has been made `Allow` temporarily
196
197 ## 0.0.68 — 2016-05-17
198 * Rustup to *rustc 1.10.0-nightly (cd6a40017 2016-05-16)*
199 * New lint: [`unnecessary_operation`]
200
201 ## 0.0.67 — 2016-05-12
202 * Rustup to *rustc 1.10.0-nightly (22ac88f1a 2016-05-11)*
203
204 ## 0.0.66 — 2016-05-11
205 * New `cargo clippy` subcommand
206 * New lints: [`assign_op_pattern`], [`assign_ops`], [`needless_borrow`]
207
208 ## 0.0.65 — 2016-05-08
209 * Rustup to *rustc 1.10.0-nightly (62e2b2fb7 2016-05-06)*
210 * New lints: [`float_arithmetic`], [`integer_arithmetic`]
211
212 ## 0.0.64 — 2016-04-26
213 * Rustup to *rustc 1.10.0-nightly (645dd013a 2016-04-24)*
214 * New lints: [`temporary_cstring_as_ptr`], [`unsafe_removed_from_name`], and [`mem_forget`]
215
216 ## 0.0.63 — 2016-04-08
217 * Rustup to *rustc 1.9.0-nightly (7979dd608 2016-04-07)*
218
219 ## 0.0.62 — 2016-04-07
220 * Rustup to *rustc 1.9.0-nightly (bf5da36f1 2016-04-06)*
221
222 ## 0.0.61 — 2016-04-03
223 * Rustup to *rustc 1.9.0-nightly (5ab11d72c 2016-04-02)*
224 * New lint: [`invalid_upcast_comparisons`]
225
226 ## 0.0.60 — 2016-04-01
227 * Rustup to *rustc 1.9.0-nightly (e1195c24b 2016-03-31)*
228
229 ## 0.0.59 — 2016-03-31
230 * Rustup to *rustc 1.9.0-nightly (30a3849f2 2016-03-30)*
231 * New lints: [`logic_bug`], [`nonminimal_bool`]
232 * Fixed: [`match_same_arms`] now ignores arms with guards
233 * Improved: [`useless_vec`] now warns on `for … in vec![…]`
234
235 ## 0.0.58 — 2016-03-27
236 * Rustup to *rustc 1.9.0-nightly (d5a91e695 2016-03-26)*
237 * New lint: [`doc_markdown`]
238
239 ## 0.0.57 — 2016-03-27
240 * Update to *rustc 1.9.0-nightly (a1e29daf1 2016-03-25)*
241 * Deprecated lints: [`str_to_string`], [`string_to_string`], [`unstable_as_slice`], [`unstable_as_mut_slice`]
242 * New lint: [`crosspointer_transmute`]
243
244 ## 0.0.56 — 2016-03-23
245 * Update to *rustc 1.9.0-nightly (0dcc413e4 2016-03-22)*
246 * New lints: [`many_single_char_names`] and [`similar_names`]
247
248 ## 0.0.55 — 2016-03-21
249 * Update to *rustc 1.9.0-nightly (02310fd31 2016-03-19)*
250
251 ## 0.0.54 — 2016-03-16
252 * Update to *rustc 1.9.0-nightly (c66d2380a 2016-03-15)*
253
254 ## 0.0.53 — 2016-03-15
255 * Add a [configuration file]
256
257 ## ~~0.0.52~~
258
259 ## 0.0.51 — 2016-03-13
260 * Add `str` to types considered by [`len_zero`]
261 * New lints: [`indexing_slicing`]
262
263 ## 0.0.50 — 2016-03-11
264 * Update to *rustc 1.9.0-nightly (c9629d61c 2016-03-10)*
265
266 ## 0.0.49 — 2016-03-09
267 * Update to *rustc 1.9.0-nightly (eabfc160f 2016-03-08)*
268 * New lints: [`overflow_check_conditional`], [`unused_label`], [`new_without_default`]
269
270 ## 0.0.48 — 2016-03-07
271 * Fixed: ICE in [`needless_range_loop`] with globals
272
273 ## 0.0.47 — 2016-03-07
274 * Update to *rustc 1.9.0-nightly (998a6720b 2016-03-07)*
275 * New lint: [`redundant_closure_call`]
276
277 [configuration file]: ./rust-clippy#configuration
278
279 <!-- begin autogenerated links to wiki -->
280 [`absurd_extreme_comparisons`]: https://github.com/Manishearth/rust-clippy/wiki#absurd_extreme_comparisons
281 [`almost_swapped`]: https://github.com/Manishearth/rust-clippy/wiki#almost_swapped
282 [`approx_constant`]: https://github.com/Manishearth/rust-clippy/wiki#approx_constant
283 [`assign_op_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#assign_op_pattern
284 [`assign_ops`]: https://github.com/Manishearth/rust-clippy/wiki#assign_ops
285 [`bad_bit_mask`]: https://github.com/Manishearth/rust-clippy/wiki#bad_bit_mask
286 [`blacklisted_name`]: https://github.com/Manishearth/rust-clippy/wiki#blacklisted_name
287 [`block_in_if_condition_expr`]: https://github.com/Manishearth/rust-clippy/wiki#block_in_if_condition_expr
288 [`block_in_if_condition_stmt`]: https://github.com/Manishearth/rust-clippy/wiki#block_in_if_condition_stmt
289 [`bool_comparison`]: https://github.com/Manishearth/rust-clippy/wiki#bool_comparison
290 [`box_vec`]: https://github.com/Manishearth/rust-clippy/wiki#box_vec
291 [`boxed_local`]: https://github.com/Manishearth/rust-clippy/wiki#boxed_local
292 [`builtin_type_shadow`]: https://github.com/Manishearth/rust-clippy/wiki#builtin_type_shadow
293 [`cast_possible_truncation`]: https://github.com/Manishearth/rust-clippy/wiki#cast_possible_truncation
294 [`cast_possible_wrap`]: https://github.com/Manishearth/rust-clippy/wiki#cast_possible_wrap
295 [`cast_precision_loss`]: https://github.com/Manishearth/rust-clippy/wiki#cast_precision_loss
296 [`cast_sign_loss`]: https://github.com/Manishearth/rust-clippy/wiki#cast_sign_loss
297 [`char_lit_as_u8`]: https://github.com/Manishearth/rust-clippy/wiki#char_lit_as_u8
298 [`chars_next_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#chars_next_cmp
299 [`clone_double_ref`]: https://github.com/Manishearth/rust-clippy/wiki#clone_double_ref
300 [`clone_on_copy`]: https://github.com/Manishearth/rust-clippy/wiki#clone_on_copy
301 [`cmp_nan`]: https://github.com/Manishearth/rust-clippy/wiki#cmp_nan
302 [`cmp_null`]: https://github.com/Manishearth/rust-clippy/wiki#cmp_null
303 [`cmp_owned`]: https://github.com/Manishearth/rust-clippy/wiki#cmp_owned
304 [`collapsible_if`]: https://github.com/Manishearth/rust-clippy/wiki#collapsible_if
305 [`crosspointer_transmute`]: https://github.com/Manishearth/rust-clippy/wiki#crosspointer_transmute
306 [`cyclomatic_complexity`]: https://github.com/Manishearth/rust-clippy/wiki#cyclomatic_complexity
307 [`deprecated_semver`]: https://github.com/Manishearth/rust-clippy/wiki#deprecated_semver
308 [`deref_addrof`]: https://github.com/Manishearth/rust-clippy/wiki#deref_addrof
309 [`derive_hash_xor_eq`]: https://github.com/Manishearth/rust-clippy/wiki#derive_hash_xor_eq
310 [`diverging_sub_expression`]: https://github.com/Manishearth/rust-clippy/wiki#diverging_sub_expression
311 [`doc_markdown`]: https://github.com/Manishearth/rust-clippy/wiki#doc_markdown
312 [`double_neg`]: https://github.com/Manishearth/rust-clippy/wiki#double_neg
313 [`double_parens`]: https://github.com/Manishearth/rust-clippy/wiki#double_parens
314 [`drop_ref`]: https://github.com/Manishearth/rust-clippy/wiki#drop_ref
315 [`duplicate_underscore_argument`]: https://github.com/Manishearth/rust-clippy/wiki#duplicate_underscore_argument
316 [`empty_enum`]: https://github.com/Manishearth/rust-clippy/wiki#empty_enum
317 [`empty_loop`]: https://github.com/Manishearth/rust-clippy/wiki#empty_loop
318 [`enum_clike_unportable_variant`]: https://github.com/Manishearth/rust-clippy/wiki#enum_clike_unportable_variant
319 [`enum_glob_use`]: https://github.com/Manishearth/rust-clippy/wiki#enum_glob_use
320 [`enum_variant_names`]: https://github.com/Manishearth/rust-clippy/wiki#enum_variant_names
321 [`eq_op`]: https://github.com/Manishearth/rust-clippy/wiki#eq_op
322 [`eval_order_dependence`]: https://github.com/Manishearth/rust-clippy/wiki#eval_order_dependence
323 [`expl_impl_clone_on_copy`]: https://github.com/Manishearth/rust-clippy/wiki#expl_impl_clone_on_copy
324 [`explicit_counter_loop`]: https://github.com/Manishearth/rust-clippy/wiki#explicit_counter_loop
325 [`explicit_into_iter_loop`]: https://github.com/Manishearth/rust-clippy/wiki#explicit_into_iter_loop
326 [`explicit_iter_loop`]: https://github.com/Manishearth/rust-clippy/wiki#explicit_iter_loop
327 [`extend_from_slice`]: https://github.com/Manishearth/rust-clippy/wiki#extend_from_slice
328 [`filter_map`]: https://github.com/Manishearth/rust-clippy/wiki#filter_map
329 [`filter_next`]: https://github.com/Manishearth/rust-clippy/wiki#filter_next
330 [`float_arithmetic`]: https://github.com/Manishearth/rust-clippy/wiki#float_arithmetic
331 [`float_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#float_cmp
332 [`for_kv_map`]: https://github.com/Manishearth/rust-clippy/wiki#for_kv_map
333 [`for_loop_over_option`]: https://github.com/Manishearth/rust-clippy/wiki#for_loop_over_option
334 [`for_loop_over_result`]: https://github.com/Manishearth/rust-clippy/wiki#for_loop_over_result
335 [`forget_ref`]: https://github.com/Manishearth/rust-clippy/wiki#forget_ref
336 [`get_unwrap`]: https://github.com/Manishearth/rust-clippy/wiki#get_unwrap
337 [`identity_op`]: https://github.com/Manishearth/rust-clippy/wiki#identity_op
338 [`if_let_redundant_pattern_matching`]: https://github.com/Manishearth/rust-clippy/wiki#if_let_redundant_pattern_matching
339 [`if_let_some_result`]: https://github.com/Manishearth/rust-clippy/wiki#if_let_some_result
340 [`if_not_else`]: https://github.com/Manishearth/rust-clippy/wiki#if_not_else
341 [`if_same_then_else`]: https://github.com/Manishearth/rust-clippy/wiki#if_same_then_else
342 [`ifs_same_cond`]: https://github.com/Manishearth/rust-clippy/wiki#ifs_same_cond
343 [`indexing_slicing`]: https://github.com/Manishearth/rust-clippy/wiki#indexing_slicing
344 [`ineffective_bit_mask`]: https://github.com/Manishearth/rust-clippy/wiki#ineffective_bit_mask
345 [`inline_always`]: https://github.com/Manishearth/rust-clippy/wiki#inline_always
346 [`integer_arithmetic`]: https://github.com/Manishearth/rust-clippy/wiki#integer_arithmetic
347 [`invalid_regex`]: https://github.com/Manishearth/rust-clippy/wiki#invalid_regex
348 [`invalid_upcast_comparisons`]: https://github.com/Manishearth/rust-clippy/wiki#invalid_upcast_comparisons
349 [`items_after_statements`]: https://github.com/Manishearth/rust-clippy/wiki#items_after_statements
350 [`iter_cloned_collect`]: https://github.com/Manishearth/rust-clippy/wiki#iter_cloned_collect
351 [`iter_next_loop`]: https://github.com/Manishearth/rust-clippy/wiki#iter_next_loop
352 [`iter_nth`]: https://github.com/Manishearth/rust-clippy/wiki#iter_nth
353 [`iter_skip_next`]: https://github.com/Manishearth/rust-clippy/wiki#iter_skip_next
354 [`large_enum_variant`]: https://github.com/Manishearth/rust-clippy/wiki#large_enum_variant
355 [`len_without_is_empty`]: https://github.com/Manishearth/rust-clippy/wiki#len_without_is_empty
356 [`len_zero`]: https://github.com/Manishearth/rust-clippy/wiki#len_zero
357 [`let_and_return`]: https://github.com/Manishearth/rust-clippy/wiki#let_and_return
358 [`let_unit_value`]: https://github.com/Manishearth/rust-clippy/wiki#let_unit_value
359 [`linkedlist`]: https://github.com/Manishearth/rust-clippy/wiki#linkedlist
360 [`logic_bug`]: https://github.com/Manishearth/rust-clippy/wiki#logic_bug
361 [`manual_swap`]: https://github.com/Manishearth/rust-clippy/wiki#manual_swap
362 [`many_single_char_names`]: https://github.com/Manishearth/rust-clippy/wiki#many_single_char_names
363 [`map_clone`]: https://github.com/Manishearth/rust-clippy/wiki#map_clone
364 [`map_entry`]: https://github.com/Manishearth/rust-clippy/wiki#map_entry
365 [`match_bool`]: https://github.com/Manishearth/rust-clippy/wiki#match_bool
366 [`match_overlapping_arm`]: https://github.com/Manishearth/rust-clippy/wiki#match_overlapping_arm
367 [`match_ref_pats`]: https://github.com/Manishearth/rust-clippy/wiki#match_ref_pats
368 [`match_same_arms`]: https://github.com/Manishearth/rust-clippy/wiki#match_same_arms
369 [`match_wild_err_arm`]: https://github.com/Manishearth/rust-clippy/wiki#match_wild_err_arm
370 [`mem_forget`]: https://github.com/Manishearth/rust-clippy/wiki#mem_forget
371 [`min_max`]: https://github.com/Manishearth/rust-clippy/wiki#min_max
372 [`misrefactored_assign_op`]: https://github.com/Manishearth/rust-clippy/wiki#misrefactored_assign_op
373 [`missing_docs_in_private_items`]: https://github.com/Manishearth/rust-clippy/wiki#missing_docs_in_private_items
374 [`mixed_case_hex_literals`]: https://github.com/Manishearth/rust-clippy/wiki#mixed_case_hex_literals
375 [`module_inception`]: https://github.com/Manishearth/rust-clippy/wiki#module_inception
376 [`modulo_one`]: https://github.com/Manishearth/rust-clippy/wiki#modulo_one
377 [`mut_from_ref`]: https://github.com/Manishearth/rust-clippy/wiki#mut_from_ref
378 [`mut_mut`]: https://github.com/Manishearth/rust-clippy/wiki#mut_mut
379 [`mutex_atomic`]: https://github.com/Manishearth/rust-clippy/wiki#mutex_atomic
380 [`mutex_integer`]: https://github.com/Manishearth/rust-clippy/wiki#mutex_integer
381 [`needless_bool`]: https://github.com/Manishearth/rust-clippy/wiki#needless_bool
382 [`needless_borrow`]: https://github.com/Manishearth/rust-clippy/wiki#needless_borrow
383 [`needless_lifetimes`]: https://github.com/Manishearth/rust-clippy/wiki#needless_lifetimes
384 [`needless_pass_by_value`]: https://github.com/Manishearth/rust-clippy/wiki#needless_pass_by_value
385 [`needless_range_loop`]: https://github.com/Manishearth/rust-clippy/wiki#needless_range_loop
386 [`needless_return`]: https://github.com/Manishearth/rust-clippy/wiki#needless_return
387 [`needless_update`]: https://github.com/Manishearth/rust-clippy/wiki#needless_update
388 [`neg_multiply`]: https://github.com/Manishearth/rust-clippy/wiki#neg_multiply
389 [`never_loop`]: https://github.com/Manishearth/rust-clippy/wiki#never_loop
390 [`new_ret_no_self`]: https://github.com/Manishearth/rust-clippy/wiki#new_ret_no_self
391 [`new_without_default`]: https://github.com/Manishearth/rust-clippy/wiki#new_without_default
392 [`new_without_default_derive`]: https://github.com/Manishearth/rust-clippy/wiki#new_without_default_derive
393 [`no_effect`]: https://github.com/Manishearth/rust-clippy/wiki#no_effect
394 [`non_ascii_literal`]: https://github.com/Manishearth/rust-clippy/wiki#non_ascii_literal
395 [`nonminimal_bool`]: https://github.com/Manishearth/rust-clippy/wiki#nonminimal_bool
396 [`nonsensical_open_options`]: https://github.com/Manishearth/rust-clippy/wiki#nonsensical_open_options
397 [`not_unsafe_ptr_arg_deref`]: https://github.com/Manishearth/rust-clippy/wiki#not_unsafe_ptr_arg_deref
398 [`ok_expect`]: https://github.com/Manishearth/rust-clippy/wiki#ok_expect
399 [`option_map_unwrap_or`]: https://github.com/Manishearth/rust-clippy/wiki#option_map_unwrap_or
400 [`option_map_unwrap_or_else`]: https://github.com/Manishearth/rust-clippy/wiki#option_map_unwrap_or_else
401 [`option_unwrap_used`]: https://github.com/Manishearth/rust-clippy/wiki#option_unwrap_used
402 [`or_fun_call`]: https://github.com/Manishearth/rust-clippy/wiki#or_fun_call
403 [`out_of_bounds_indexing`]: https://github.com/Manishearth/rust-clippy/wiki#out_of_bounds_indexing
404 [`overflow_check_conditional`]: https://github.com/Manishearth/rust-clippy/wiki#overflow_check_conditional
405 [`panic_params`]: https://github.com/Manishearth/rust-clippy/wiki#panic_params
406 [`partialeq_ne_impl`]: https://github.com/Manishearth/rust-clippy/wiki#partialeq_ne_impl
407 [`possible_missing_comma`]: https://github.com/Manishearth/rust-clippy/wiki#possible_missing_comma
408 [`precedence`]: https://github.com/Manishearth/rust-clippy/wiki#precedence
409 [`print_stdout`]: https://github.com/Manishearth/rust-clippy/wiki#print_stdout
410 [`print_with_newline`]: https://github.com/Manishearth/rust-clippy/wiki#print_with_newline
411 [`ptr_arg`]: https://github.com/Manishearth/rust-clippy/wiki#ptr_arg
412 [`pub_enum_variant_names`]: https://github.com/Manishearth/rust-clippy/wiki#pub_enum_variant_names
413 [`range_step_by_zero`]: https://github.com/Manishearth/rust-clippy/wiki#range_step_by_zero
414 [`range_zip_with_len`]: https://github.com/Manishearth/rust-clippy/wiki#range_zip_with_len
415 [`redundant_closure`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_closure
416 [`redundant_closure_call`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_closure_call
417 [`redundant_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_pattern
418 [`regex_macro`]: https://github.com/Manishearth/rust-clippy/wiki#regex_macro
419 [`result_unwrap_used`]: https://github.com/Manishearth/rust-clippy/wiki#result_unwrap_used
420 [`reverse_range_loop`]: https://github.com/Manishearth/rust-clippy/wiki#reverse_range_loop
421 [`search_is_some`]: https://github.com/Manishearth/rust-clippy/wiki#search_is_some
422 [`serde_api_misuse`]: https://github.com/Manishearth/rust-clippy/wiki#serde_api_misuse
423 [`shadow_reuse`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_reuse
424 [`shadow_same`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_same
425 [`shadow_unrelated`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_unrelated
426 [`short_circuit_statement`]: https://github.com/Manishearth/rust-clippy/wiki#short_circuit_statement
427 [`should_assert_eq`]: https://github.com/Manishearth/rust-clippy/wiki#should_assert_eq
428 [`should_implement_trait`]: https://github.com/Manishearth/rust-clippy/wiki#should_implement_trait
429 [`similar_names`]: https://github.com/Manishearth/rust-clippy/wiki#similar_names
430 [`single_char_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#single_char_pattern
431 [`single_match`]: https://github.com/Manishearth/rust-clippy/wiki#single_match
432 [`single_match_else`]: https://github.com/Manishearth/rust-clippy/wiki#single_match_else
433 [`str_to_string`]: https://github.com/Manishearth/rust-clippy/wiki#str_to_string
434 [`string_add`]: https://github.com/Manishearth/rust-clippy/wiki#string_add
435 [`string_add_assign`]: https://github.com/Manishearth/rust-clippy/wiki#string_add_assign
436 [`string_extend_chars`]: https://github.com/Manishearth/rust-clippy/wiki#string_extend_chars
437 [`string_lit_as_bytes`]: https://github.com/Manishearth/rust-clippy/wiki#string_lit_as_bytes
438 [`string_to_string`]: https://github.com/Manishearth/rust-clippy/wiki#string_to_string
439 [`stutter`]: https://github.com/Manishearth/rust-clippy/wiki#stutter
440 [`suspicious_assignment_formatting`]: https://github.com/Manishearth/rust-clippy/wiki#suspicious_assignment_formatting
441 [`suspicious_else_formatting`]: https://github.com/Manishearth/rust-clippy/wiki#suspicious_else_formatting
442 [`temporary_assignment`]: https://github.com/Manishearth/rust-clippy/wiki#temporary_assignment
443 [`temporary_cstring_as_ptr`]: https://github.com/Manishearth/rust-clippy/wiki#temporary_cstring_as_ptr
444 [`too_many_arguments`]: https://github.com/Manishearth/rust-clippy/wiki#too_many_arguments
445 [`toplevel_ref_arg`]: https://github.com/Manishearth/rust-clippy/wiki#toplevel_ref_arg
446 [`transmute_ptr_to_ref`]: https://github.com/Manishearth/rust-clippy/wiki#transmute_ptr_to_ref
447 [`trivial_regex`]: https://github.com/Manishearth/rust-clippy/wiki#trivial_regex
448 [`type_complexity`]: https://github.com/Manishearth/rust-clippy/wiki#type_complexity
449 [`unicode_not_nfc`]: https://github.com/Manishearth/rust-clippy/wiki#unicode_not_nfc
450 [`unit_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#unit_cmp
451 [`unnecessary_mut_passed`]: https://github.com/Manishearth/rust-clippy/wiki#unnecessary_mut_passed
452 [`unnecessary_operation`]: https://github.com/Manishearth/rust-clippy/wiki#unnecessary_operation
453 [`unneeded_field_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#unneeded_field_pattern
454 [`unsafe_removed_from_name`]: https://github.com/Manishearth/rust-clippy/wiki#unsafe_removed_from_name
455 [`unseparated_literal_suffix`]: https://github.com/Manishearth/rust-clippy/wiki#unseparated_literal_suffix
456 [`unstable_as_mut_slice`]: https://github.com/Manishearth/rust-clippy/wiki#unstable_as_mut_slice
457 [`unstable_as_slice`]: https://github.com/Manishearth/rust-clippy/wiki#unstable_as_slice
458 [`unused_collect`]: https://github.com/Manishearth/rust-clippy/wiki#unused_collect
459 [`unused_io_amount`]: https://github.com/Manishearth/rust-clippy/wiki#unused_io_amount
460 [`unused_label`]: https://github.com/Manishearth/rust-clippy/wiki#unused_label
461 [`unused_lifetimes`]: https://github.com/Manishearth/rust-clippy/wiki#unused_lifetimes
462 [`use_debug`]: https://github.com/Manishearth/rust-clippy/wiki#use_debug
463 [`used_underscore_binding`]: https://github.com/Manishearth/rust-clippy/wiki#used_underscore_binding
464 [`useless_attribute`]: https://github.com/Manishearth/rust-clippy/wiki#useless_attribute
465 [`useless_format`]: https://github.com/Manishearth/rust-clippy/wiki#useless_format
466 [`useless_let_if_seq`]: https://github.com/Manishearth/rust-clippy/wiki#useless_let_if_seq
467 [`useless_transmute`]: https://github.com/Manishearth/rust-clippy/wiki#useless_transmute
468 [`useless_vec`]: https://github.com/Manishearth/rust-clippy/wiki#useless_vec
469 [`while_let_loop`]: https://github.com/Manishearth/rust-clippy/wiki#while_let_loop
470 [`while_let_on_iterator`]: https://github.com/Manishearth/rust-clippy/wiki#while_let_on_iterator
471 [`wrong_pub_self_convention`]: https://github.com/Manishearth/rust-clippy/wiki#wrong_pub_self_convention
472 [`wrong_self_convention`]: https://github.com/Manishearth/rust-clippy/wiki#wrong_self_convention
473 [`wrong_transmute`]: https://github.com/Manishearth/rust-clippy/wiki#wrong_transmute
474 [`zero_divided_by_zero`]: https://github.com/Manishearth/rust-clippy/wiki#zero_divided_by_zero
475 [`zero_prefixed_literal`]: https://github.com/Manishearth/rust-clippy/wiki#zero_prefixed_literal
476 [`zero_width_space`]: https://github.com/Manishearth/rust-clippy/wiki#zero_width_space
477 <!-- end autogenerated links to wiki -->