]> git.lizzy.rs Git - rust.git/blob - CHANGELOG.md
Fix deploy.sh III
[rust.git] / CHANGELOG.md
1 # Change Log
2 All notable changes to this project will be documented in this file.
3
4 ## 0.0.79 — 2016-07-10
5 * Rustup to *rustc 1.12.0-nightly (f93aaf84c 2016-07-09)*
6 * Major suggestions refactoring
7
8 ## 0.0.78 — 2016-07-02
9 * Rustup to *rustc 1.11.0-nightly (01411937f 2016-07-01)*
10 * New lints: [`wrong_transmute`], [`double_neg`]
11 * For compatibility, `cargo clippy` does not defines the `clippy` feature
12   introduced in 0.0.76 anymore
13 * [`collapsible_if`] now considers `if let`
14
15 ## 0.0.77 — 2016-06-21
16 * Rustup to *rustc 1.11.0-nightly (5522e678b 2016-06-20)*
17 * New lints: [`stutter`] and [`iter_nth`]
18
19 ## 0.0.76 — 2016-06-10
20 * Rustup to *rustc 1.11.0-nightly (7d2f75a95 2016-06-09)*
21 * `cargo clippy` now automatically defines the `clippy` feature
22 * New lint: [`not_unsafe_ptr_arg_deref`]
23
24 ## 0.0.75 — 2016-06-08
25 * Rustup to *rustc 1.11.0-nightly (763f9234b 2016-06-06)*
26
27 ## 0.0.74 — 2016-06-07
28 * Fix bug with `cargo-clippy` JSON parsing
29 * Add the `CLIPPY_DISABLE_WIKI_LINKS` environment variable to deactivate the
30   “for further information visit *wiki-link*” message.
31
32 ## 0.0.73 — 2016-06-05
33 * Fix false positives in [`useless_let_if_seq`]
34
35 ## 0.0.72 — 2016-06-04
36 * Fix false positives in [`useless_let_if_seq`]
37
38 ## 0.0.71 — 2016-05-31
39 * Rustup to *rustc 1.11.0-nightly (a967611d8 2016-05-30)*
40 * New lint: [`useless_let_if_seq`]
41
42 ## 0.0.70 — 2016-05-28
43 * Rustup to *rustc 1.10.0-nightly (7bddce693 2016-05-27)*
44 * [`invalid_regex`] and [`trivial_regex`] can now warn on `RegexSet::new`,
45   `RegexBuilder::new` and byte regexes
46
47 ## 0.0.69 — 2016-05-20
48 * Rustup to *rustc 1.10.0-nightly (476fe6eef 2016-05-21)*
49 * [`used_underscore_binding`] has been made `Allow` temporarily
50
51 ## 0.0.68 — 2016-05-17
52 * Rustup to *rustc 1.10.0-nightly (cd6a40017 2016-05-16)*
53 * New lint: [`unnecessary_operation`]
54
55 ## 0.0.67 — 2016-05-12
56 * Rustup to *rustc 1.10.0-nightly (22ac88f1a 2016-05-11)*
57
58 ## 0.0.66 — 2016-05-11
59 * New `cargo clippy` subcommand
60 * New lints: [`assign_op_pattern`], [`assign_ops`], [`needless_borrow`]
61
62 ## 0.0.65 — 2016-05-08
63 * Rustup to *rustc 1.10.0-nightly (62e2b2fb7 2016-05-06)*
64 * New lints: [`float_arithmetic`], [`integer_arithmetic`]
65
66 ## 0.0.64 — 2016-04-26
67 * Rustup to *rustc 1.10.0-nightly (645dd013a 2016-04-24)*
68 * New lints: [`temporary_cstring_as_ptr`], [`unsafe_removed_from_name`], and [`mem_forget`]
69
70 ## 0.0.63 — 2016-04-08
71 * Rustup to *rustc 1.9.0-nightly (7979dd608 2016-04-07)*
72
73 ## 0.0.62 — 2016-04-07
74 * Rustup to *rustc 1.9.0-nightly (bf5da36f1 2016-04-06)*
75
76 ## 0.0.61 — 2016-04-03
77 * Rustup to *rustc 1.9.0-nightly (5ab11d72c 2016-04-02)*
78 * New lint: [`invalid_upcast_comparisons`]
79
80 ## 0.0.60 — 2016-04-01
81 * Rustup to *rustc 1.9.0-nightly (e1195c24b 2016-03-31)*
82
83 ## 0.0.59 — 2016-03-31
84 * Rustup to *rustc 1.9.0-nightly (30a3849f2 2016-03-30)*
85 * New lints: [`logic_bug`], [`nonminimal_bool`]
86 * Fixed: [`match_same_arms`] now ignores arms with guards
87 * Improved: [`useless_vec`] now warns on `for … in vec![…]`
88
89 ## 0.0.58 — 2016-03-27
90 * Rustup to *rustc 1.9.0-nightly (d5a91e695 2016-03-26)*
91 * New lint: [`doc_markdown`]
92
93 ## 0.0.57 — 2016-03-27
94 * Update to *rustc 1.9.0-nightly (a1e29daf1 2016-03-25)*
95 * Deprecated lints: [`str_to_string`], [`string_to_string`], [`unstable_as_slice`], [`unstable_as_mut_slice`]
96 * New lint: [`crosspointer_transmute`]
97
98 ## 0.0.56 — 2016-03-23
99 * Update to *rustc 1.9.0-nightly (0dcc413e4 2016-03-22)*
100 * New lints: [`many_single_char_names`] and [`similar_names`]
101
102 ## 0.0.55 — 2016-03-21
103 * Update to *rustc 1.9.0-nightly (02310fd31 2016-03-19)*
104
105 ## 0.0.54 — 2016-03-16
106 * Update to *rustc 1.9.0-nightly (c66d2380a 2016-03-15)*
107
108 ## 0.0.53 — 2016-03-15
109 * Add a [configuration file]
110
111 ## ~~0.0.52~~
112
113 ## 0.0.51 — 2016-03-13
114 * Add `str` to types considered by [`len_zero`]
115 * New lints: [`indexing_slicing`]
116
117 ## 0.0.50 — 2016-03-11
118 * Update to *rustc 1.9.0-nightly (c9629d61c 2016-03-10)*
119
120 ## 0.0.49 — 2016-03-09
121 * Update to *rustc 1.9.0-nightly (eabfc160f 2016-03-08)*
122 * New lints: [`overflow_check_conditional`], [`unused_label`], [`new_without_default`]
123
124 ## 0.0.48 — 2016-03-07
125 * Fixed: ICE in [`needless_range_loop`] with globals
126
127 ## 0.0.47 — 2016-03-07
128 * Update to *rustc 1.9.0-nightly (998a6720b 2016-03-07)*
129 * New lint: [`redundant_closure_call`]
130
131 [configuration file]: ./rust-clippy#configuration
132
133 <!-- begin autogenerated links to wiki -->
134 [`absurd_extreme_comparisons`]: https://github.com/Manishearth/rust-clippy/wiki#absurd_extreme_comparisons
135 [`almost_swapped`]: https://github.com/Manishearth/rust-clippy/wiki#almost_swapped
136 [`approx_constant`]: https://github.com/Manishearth/rust-clippy/wiki#approx_constant
137 [`assign_op_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#assign_op_pattern
138 [`assign_ops`]: https://github.com/Manishearth/rust-clippy/wiki#assign_ops
139 [`bad_bit_mask`]: https://github.com/Manishearth/rust-clippy/wiki#bad_bit_mask
140 [`blacklisted_name`]: https://github.com/Manishearth/rust-clippy/wiki#blacklisted_name
141 [`block_in_if_condition_expr`]: https://github.com/Manishearth/rust-clippy/wiki#block_in_if_condition_expr
142 [`block_in_if_condition_stmt`]: https://github.com/Manishearth/rust-clippy/wiki#block_in_if_condition_stmt
143 [`bool_comparison`]: https://github.com/Manishearth/rust-clippy/wiki#bool_comparison
144 [`box_vec`]: https://github.com/Manishearth/rust-clippy/wiki#box_vec
145 [`boxed_local`]: https://github.com/Manishearth/rust-clippy/wiki#boxed_local
146 [`cast_possible_truncation`]: https://github.com/Manishearth/rust-clippy/wiki#cast_possible_truncation
147 [`cast_possible_wrap`]: https://github.com/Manishearth/rust-clippy/wiki#cast_possible_wrap
148 [`cast_precision_loss`]: https://github.com/Manishearth/rust-clippy/wiki#cast_precision_loss
149 [`cast_sign_loss`]: https://github.com/Manishearth/rust-clippy/wiki#cast_sign_loss
150 [`char_lit_as_u8`]: https://github.com/Manishearth/rust-clippy/wiki#char_lit_as_u8
151 [`chars_next_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#chars_next_cmp
152 [`clone_double_ref`]: https://github.com/Manishearth/rust-clippy/wiki#clone_double_ref
153 [`clone_on_copy`]: https://github.com/Manishearth/rust-clippy/wiki#clone_on_copy
154 [`cmp_nan`]: https://github.com/Manishearth/rust-clippy/wiki#cmp_nan
155 [`cmp_owned`]: https://github.com/Manishearth/rust-clippy/wiki#cmp_owned
156 [`collapsible_if`]: https://github.com/Manishearth/rust-clippy/wiki#collapsible_if
157 [`crosspointer_transmute`]: https://github.com/Manishearth/rust-clippy/wiki#crosspointer_transmute
158 [`cyclomatic_complexity`]: https://github.com/Manishearth/rust-clippy/wiki#cyclomatic_complexity
159 [`deprecated_semver`]: https://github.com/Manishearth/rust-clippy/wiki#deprecated_semver
160 [`derive_hash_xor_eq`]: https://github.com/Manishearth/rust-clippy/wiki#derive_hash_xor_eq
161 [`doc_markdown`]: https://github.com/Manishearth/rust-clippy/wiki#doc_markdown
162 [`double_neg`]: https://github.com/Manishearth/rust-clippy/wiki#double_neg
163 [`drop_ref`]: https://github.com/Manishearth/rust-clippy/wiki#drop_ref
164 [`duplicate_underscore_argument`]: https://github.com/Manishearth/rust-clippy/wiki#duplicate_underscore_argument
165 [`empty_loop`]: https://github.com/Manishearth/rust-clippy/wiki#empty_loop
166 [`enum_clike_unportable_variant`]: https://github.com/Manishearth/rust-clippy/wiki#enum_clike_unportable_variant
167 [`enum_glob_use`]: https://github.com/Manishearth/rust-clippy/wiki#enum_glob_use
168 [`enum_variant_names`]: https://github.com/Manishearth/rust-clippy/wiki#enum_variant_names
169 [`eq_op`]: https://github.com/Manishearth/rust-clippy/wiki#eq_op
170 [`expl_impl_clone_on_copy`]: https://github.com/Manishearth/rust-clippy/wiki#expl_impl_clone_on_copy
171 [`explicit_counter_loop`]: https://github.com/Manishearth/rust-clippy/wiki#explicit_counter_loop
172 [`explicit_iter_loop`]: https://github.com/Manishearth/rust-clippy/wiki#explicit_iter_loop
173 [`extend_from_slice`]: https://github.com/Manishearth/rust-clippy/wiki#extend_from_slice
174 [`filter_map`]: https://github.com/Manishearth/rust-clippy/wiki#filter_map
175 [`filter_next`]: https://github.com/Manishearth/rust-clippy/wiki#filter_next
176 [`float_arithmetic`]: https://github.com/Manishearth/rust-clippy/wiki#float_arithmetic
177 [`float_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#float_cmp
178 [`for_kv_map`]: https://github.com/Manishearth/rust-clippy/wiki#for_kv_map
179 [`for_loop_over_option`]: https://github.com/Manishearth/rust-clippy/wiki#for_loop_over_option
180 [`for_loop_over_result`]: https://github.com/Manishearth/rust-clippy/wiki#for_loop_over_result
181 [`identity_op`]: https://github.com/Manishearth/rust-clippy/wiki#identity_op
182 [`if_not_else`]: https://github.com/Manishearth/rust-clippy/wiki#if_not_else
183 [`if_same_then_else`]: https://github.com/Manishearth/rust-clippy/wiki#if_same_then_else
184 [`ifs_same_cond`]: https://github.com/Manishearth/rust-clippy/wiki#ifs_same_cond
185 [`indexing_slicing`]: https://github.com/Manishearth/rust-clippy/wiki#indexing_slicing
186 [`ineffective_bit_mask`]: https://github.com/Manishearth/rust-clippy/wiki#ineffective_bit_mask
187 [`inline_always`]: https://github.com/Manishearth/rust-clippy/wiki#inline_always
188 [`integer_arithmetic`]: https://github.com/Manishearth/rust-clippy/wiki#integer_arithmetic
189 [`invalid_regex`]: https://github.com/Manishearth/rust-clippy/wiki#invalid_regex
190 [`invalid_upcast_comparisons`]: https://github.com/Manishearth/rust-clippy/wiki#invalid_upcast_comparisons
191 [`items_after_statements`]: https://github.com/Manishearth/rust-clippy/wiki#items_after_statements
192 [`iter_next_loop`]: https://github.com/Manishearth/rust-clippy/wiki#iter_next_loop
193 [`iter_nth`]: https://github.com/Manishearth/rust-clippy/wiki#iter_nth
194 [`len_without_is_empty`]: https://github.com/Manishearth/rust-clippy/wiki#len_without_is_empty
195 [`len_zero`]: https://github.com/Manishearth/rust-clippy/wiki#len_zero
196 [`let_and_return`]: https://github.com/Manishearth/rust-clippy/wiki#let_and_return
197 [`let_unit_value`]: https://github.com/Manishearth/rust-clippy/wiki#let_unit_value
198 [`linkedlist`]: https://github.com/Manishearth/rust-clippy/wiki#linkedlist
199 [`logic_bug`]: https://github.com/Manishearth/rust-clippy/wiki#logic_bug
200 [`manual_swap`]: https://github.com/Manishearth/rust-clippy/wiki#manual_swap
201 [`many_single_char_names`]: https://github.com/Manishearth/rust-clippy/wiki#many_single_char_names
202 [`map_clone`]: https://github.com/Manishearth/rust-clippy/wiki#map_clone
203 [`map_entry`]: https://github.com/Manishearth/rust-clippy/wiki#map_entry
204 [`match_bool`]: https://github.com/Manishearth/rust-clippy/wiki#match_bool
205 [`match_overlapping_arm`]: https://github.com/Manishearth/rust-clippy/wiki#match_overlapping_arm
206 [`match_ref_pats`]: https://github.com/Manishearth/rust-clippy/wiki#match_ref_pats
207 [`match_same_arms`]: https://github.com/Manishearth/rust-clippy/wiki#match_same_arms
208 [`mem_forget`]: https://github.com/Manishearth/rust-clippy/wiki#mem_forget
209 [`min_max`]: https://github.com/Manishearth/rust-clippy/wiki#min_max
210 [`modulo_one`]: https://github.com/Manishearth/rust-clippy/wiki#modulo_one
211 [`mut_mut`]: https://github.com/Manishearth/rust-clippy/wiki#mut_mut
212 [`mutex_atomic`]: https://github.com/Manishearth/rust-clippy/wiki#mutex_atomic
213 [`mutex_integer`]: https://github.com/Manishearth/rust-clippy/wiki#mutex_integer
214 [`needless_bool`]: https://github.com/Manishearth/rust-clippy/wiki#needless_bool
215 [`needless_borrow`]: https://github.com/Manishearth/rust-clippy/wiki#needless_borrow
216 [`needless_lifetimes`]: https://github.com/Manishearth/rust-clippy/wiki#needless_lifetimes
217 [`needless_range_loop`]: https://github.com/Manishearth/rust-clippy/wiki#needless_range_loop
218 [`needless_return`]: https://github.com/Manishearth/rust-clippy/wiki#needless_return
219 [`needless_update`]: https://github.com/Manishearth/rust-clippy/wiki#needless_update
220 [`neg_multiply`]: https://github.com/Manishearth/rust-clippy/wiki#neg_multiply
221 [`new_ret_no_self`]: https://github.com/Manishearth/rust-clippy/wiki#new_ret_no_self
222 [`new_without_default`]: https://github.com/Manishearth/rust-clippy/wiki#new_without_default
223 [`new_without_default_derive`]: https://github.com/Manishearth/rust-clippy/wiki#new_without_default_derive
224 [`no_effect`]: https://github.com/Manishearth/rust-clippy/wiki#no_effect
225 [`non_ascii_literal`]: https://github.com/Manishearth/rust-clippy/wiki#non_ascii_literal
226 [`nonminimal_bool`]: https://github.com/Manishearth/rust-clippy/wiki#nonminimal_bool
227 [`nonsensical_open_options`]: https://github.com/Manishearth/rust-clippy/wiki#nonsensical_open_options
228 [`not_unsafe_ptr_arg_deref`]: https://github.com/Manishearth/rust-clippy/wiki#not_unsafe_ptr_arg_deref
229 [`ok_expect`]: https://github.com/Manishearth/rust-clippy/wiki#ok_expect
230 [`option_map_unwrap_or`]: https://github.com/Manishearth/rust-clippy/wiki#option_map_unwrap_or
231 [`option_map_unwrap_or_else`]: https://github.com/Manishearth/rust-clippy/wiki#option_map_unwrap_or_else
232 [`option_unwrap_used`]: https://github.com/Manishearth/rust-clippy/wiki#option_unwrap_used
233 [`or_fun_call`]: https://github.com/Manishearth/rust-clippy/wiki#or_fun_call
234 [`out_of_bounds_indexing`]: https://github.com/Manishearth/rust-clippy/wiki#out_of_bounds_indexing
235 [`overflow_check_conditional`]: https://github.com/Manishearth/rust-clippy/wiki#overflow_check_conditional
236 [`panic_params`]: https://github.com/Manishearth/rust-clippy/wiki#panic_params
237 [`precedence`]: https://github.com/Manishearth/rust-clippy/wiki#precedence
238 [`print_stdout`]: https://github.com/Manishearth/rust-clippy/wiki#print_stdout
239 [`ptr_arg`]: https://github.com/Manishearth/rust-clippy/wiki#ptr_arg
240 [`range_step_by_zero`]: https://github.com/Manishearth/rust-clippy/wiki#range_step_by_zero
241 [`range_zip_with_len`]: https://github.com/Manishearth/rust-clippy/wiki#range_zip_with_len
242 [`redundant_closure`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_closure
243 [`redundant_closure_call`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_closure_call
244 [`redundant_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_pattern
245 [`regex_macro`]: https://github.com/Manishearth/rust-clippy/wiki#regex_macro
246 [`result_unwrap_used`]: https://github.com/Manishearth/rust-clippy/wiki#result_unwrap_used
247 [`reverse_range_loop`]: https://github.com/Manishearth/rust-clippy/wiki#reverse_range_loop
248 [`search_is_some`]: https://github.com/Manishearth/rust-clippy/wiki#search_is_some
249 [`serde_api_misuse`]: https://github.com/Manishearth/rust-clippy/wiki#serde_api_misuse
250 [`shadow_reuse`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_reuse
251 [`shadow_same`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_same
252 [`shadow_unrelated`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_unrelated
253 [`should_implement_trait`]: https://github.com/Manishearth/rust-clippy/wiki#should_implement_trait
254 [`similar_names`]: https://github.com/Manishearth/rust-clippy/wiki#similar_names
255 [`single_char_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#single_char_pattern
256 [`single_match`]: https://github.com/Manishearth/rust-clippy/wiki#single_match
257 [`single_match_else`]: https://github.com/Manishearth/rust-clippy/wiki#single_match_else
258 [`str_to_string`]: https://github.com/Manishearth/rust-clippy/wiki#str_to_string
259 [`string_add`]: https://github.com/Manishearth/rust-clippy/wiki#string_add
260 [`string_add_assign`]: https://github.com/Manishearth/rust-clippy/wiki#string_add_assign
261 [`string_lit_as_bytes`]: https://github.com/Manishearth/rust-clippy/wiki#string_lit_as_bytes
262 [`string_to_string`]: https://github.com/Manishearth/rust-clippy/wiki#string_to_string
263 [`stutter`]: https://github.com/Manishearth/rust-clippy/wiki#stutter
264 [`suspicious_assignment_formatting`]: https://github.com/Manishearth/rust-clippy/wiki#suspicious_assignment_formatting
265 [`suspicious_else_formatting`]: https://github.com/Manishearth/rust-clippy/wiki#suspicious_else_formatting
266 [`temporary_assignment`]: https://github.com/Manishearth/rust-clippy/wiki#temporary_assignment
267 [`temporary_cstring_as_ptr`]: https://github.com/Manishearth/rust-clippy/wiki#temporary_cstring_as_ptr
268 [`too_many_arguments`]: https://github.com/Manishearth/rust-clippy/wiki#too_many_arguments
269 [`toplevel_ref_arg`]: https://github.com/Manishearth/rust-clippy/wiki#toplevel_ref_arg
270 [`transmute_ptr_to_ref`]: https://github.com/Manishearth/rust-clippy/wiki#transmute_ptr_to_ref
271 [`trivial_regex`]: https://github.com/Manishearth/rust-clippy/wiki#trivial_regex
272 [`type_complexity`]: https://github.com/Manishearth/rust-clippy/wiki#type_complexity
273 [`unicode_not_nfc`]: https://github.com/Manishearth/rust-clippy/wiki#unicode_not_nfc
274 [`unit_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#unit_cmp
275 [`unnecessary_mut_passed`]: https://github.com/Manishearth/rust-clippy/wiki#unnecessary_mut_passed
276 [`unnecessary_operation`]: https://github.com/Manishearth/rust-clippy/wiki#unnecessary_operation
277 [`unneeded_field_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#unneeded_field_pattern
278 [`unsafe_removed_from_name`]: https://github.com/Manishearth/rust-clippy/wiki#unsafe_removed_from_name
279 [`unstable_as_mut_slice`]: https://github.com/Manishearth/rust-clippy/wiki#unstable_as_mut_slice
280 [`unstable_as_slice`]: https://github.com/Manishearth/rust-clippy/wiki#unstable_as_slice
281 [`unused_collect`]: https://github.com/Manishearth/rust-clippy/wiki#unused_collect
282 [`unused_label`]: https://github.com/Manishearth/rust-clippy/wiki#unused_label
283 [`unused_lifetimes`]: https://github.com/Manishearth/rust-clippy/wiki#unused_lifetimes
284 [`use_debug`]: https://github.com/Manishearth/rust-clippy/wiki#use_debug
285 [`used_underscore_binding`]: https://github.com/Manishearth/rust-clippy/wiki#used_underscore_binding
286 [`useless_format`]: https://github.com/Manishearth/rust-clippy/wiki#useless_format
287 [`useless_let_if_seq`]: https://github.com/Manishearth/rust-clippy/wiki#useless_let_if_seq
288 [`useless_transmute`]: https://github.com/Manishearth/rust-clippy/wiki#useless_transmute
289 [`useless_vec`]: https://github.com/Manishearth/rust-clippy/wiki#useless_vec
290 [`while_let_loop`]: https://github.com/Manishearth/rust-clippy/wiki#while_let_loop
291 [`while_let_on_iterator`]: https://github.com/Manishearth/rust-clippy/wiki#while_let_on_iterator
292 [`wrong_pub_self_convention`]: https://github.com/Manishearth/rust-clippy/wiki#wrong_pub_self_convention
293 [`wrong_self_convention`]: https://github.com/Manishearth/rust-clippy/wiki#wrong_self_convention
294 [`wrong_transmute`]: https://github.com/Manishearth/rust-clippy/wiki#wrong_transmute
295 [`zero_divided_by_zero`]: https://github.com/Manishearth/rust-clippy/wiki#zero_divided_by_zero
296 [`zero_width_space`]: https://github.com/Manishearth/rust-clippy/wiki#zero_width_space
297 <!-- end autogenerated links to wiki -->