]> git.lizzy.rs Git - rust.git/blob - CHANGELOG.md
Merge pull request #868 from cramertj/master
[rust.git] / CHANGELOG.md
1 # Change Log
2 All notable changes to this project will be documented in this file.
3
4 ## Unreleased
5 * New lints: [`temporary_cstring_as_ptr`], [`unsafe_removed_from_name`], and [`mem_forget`]
6
7 ## 0.0.63 — 2016-04-08
8 * Rustup to *rustc 1.9.0-nightly (7979dd608 2016-04-07)*
9
10 ## 0.0.62 — 2016-04-07
11 * Rustup to *rustc 1.9.0-nightly (bf5da36f1 2016-04-06)*
12
13 ## 0.0.61 — 2016-04-03
14 * Rustup to *rustc 1.9.0-nightly (5ab11d72c 2016-04-02)*
15 * New lint: [`invalid_upcast_comparisons`]
16
17 ## 0.0.60 — 2016-04-01
18 * Rustup to *rustc 1.9.0-nightly (e1195c24b 2016-03-31)*
19
20 ## 0.0.59 — 2016-03-31
21 * Rustup to *rustc 1.9.0-nightly (30a3849f2 2016-03-30)*
22 * New lints: [`logic_bug`], [`nonminimal_bool`]
23 * Fixed: [`match_same_arms`] now ignores arms with guards
24 * Improved: [`useless_vec`] now warns on `for … in vec![…]`
25
26 ## 0.0.58 — 2016-03-27
27 * Rustup to *rustc 1.9.0-nightly (d5a91e695 2016-03-26)*
28 * New lint: [`doc_markdown`]
29
30 ## 0.0.57 — 2016-03-27
31 * Update to *rustc 1.9.0-nightly (a1e29daf1 2016-03-25)*
32 * Deprecated lints: [`str_to_string`], [`string_to_string`], [`unstable_as_slice`], [`unstable_as_mut_slice`]
33 * New lint: [`crosspointer_transmute`]
34
35 ## 0.0.56 — 2016-03-23
36 * Update to *rustc 1.9.0-nightly (0dcc413e4 2016-03-22)*
37 * New lints: [`many_single_char_names`] and [`similar_names`]
38
39 ## 0.0.55 — 2016-03-21
40 * Update to *rustc 1.9.0-nightly (02310fd31 2016-03-19)*
41
42 ## 0.0.54 — 2016-03-16
43 * Update to *rustc 1.9.0-nightly (c66d2380a 2016-03-15)*
44
45 ## 0.0.53 — 2016-03-15
46 * Add a [configuration file]
47
48 ## ~~0.0.52~~
49
50 ## 0.0.51 — 2016-03-13
51 * Add `str` to types considered by `len_zero`
52 * New lints: [`indexing_slicing`]
53
54 ## 0.0.50 — 2016-03-11
55 * Update to *rustc 1.9.0-nightly (c9629d61c 2016-03-10)*
56
57 ## 0.0.49 — 2016-03-09
58 * Update to *rustc 1.9.0-nightly (eabfc160f 2016-03-08)*
59 * New lints: [`overflow_check_conditional`], [`unused_label`], [`new_without_default`]
60
61 ## 0.0.48 — 2016-03-07
62 * Fixed: ICE in [`needless_range_loop`] with globals
63
64 ## 0.0.47 — 2016-03-07
65 * Update to *rustc 1.9.0-nightly (998a6720b 2016-03-07)*
66 * New lint: [`redundant_closure_call`]
67
68 [configuration file]: ./rust-clippy#configuration
69
70 <!-- begin autogenerated links to wiki -->
71 [`absurd_extreme_comparisons`]: https://github.com/Manishearth/rust-clippy/wiki#absurd_extreme_comparisons
72 [`almost_swapped`]: https://github.com/Manishearth/rust-clippy/wiki#almost_swapped
73 [`approx_constant`]: https://github.com/Manishearth/rust-clippy/wiki#approx_constant
74 [`bad_bit_mask`]: https://github.com/Manishearth/rust-clippy/wiki#bad_bit_mask
75 [`blacklisted_name`]: https://github.com/Manishearth/rust-clippy/wiki#blacklisted_name
76 [`block_in_if_condition_expr`]: https://github.com/Manishearth/rust-clippy/wiki#block_in_if_condition_expr
77 [`block_in_if_condition_stmt`]: https://github.com/Manishearth/rust-clippy/wiki#block_in_if_condition_stmt
78 [`bool_comparison`]: https://github.com/Manishearth/rust-clippy/wiki#bool_comparison
79 [`box_vec`]: https://github.com/Manishearth/rust-clippy/wiki#box_vec
80 [`boxed_local`]: https://github.com/Manishearth/rust-clippy/wiki#boxed_local
81 [`cast_possible_truncation`]: https://github.com/Manishearth/rust-clippy/wiki#cast_possible_truncation
82 [`cast_possible_wrap`]: https://github.com/Manishearth/rust-clippy/wiki#cast_possible_wrap
83 [`cast_precision_loss`]: https://github.com/Manishearth/rust-clippy/wiki#cast_precision_loss
84 [`cast_sign_loss`]: https://github.com/Manishearth/rust-clippy/wiki#cast_sign_loss
85 [`char_lit_as_u8`]: https://github.com/Manishearth/rust-clippy/wiki#char_lit_as_u8
86 [`chars_next_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#chars_next_cmp
87 [`clone_double_ref`]: https://github.com/Manishearth/rust-clippy/wiki#clone_double_ref
88 [`clone_on_copy`]: https://github.com/Manishearth/rust-clippy/wiki#clone_on_copy
89 [`cmp_nan`]: https://github.com/Manishearth/rust-clippy/wiki#cmp_nan
90 [`cmp_owned`]: https://github.com/Manishearth/rust-clippy/wiki#cmp_owned
91 [`collapsible_if`]: https://github.com/Manishearth/rust-clippy/wiki#collapsible_if
92 [`crosspointer_transmute`]: https://github.com/Manishearth/rust-clippy/wiki#crosspointer_transmute
93 [`cyclomatic_complexity`]: https://github.com/Manishearth/rust-clippy/wiki#cyclomatic_complexity
94 [`deprecated_semver`]: https://github.com/Manishearth/rust-clippy/wiki#deprecated_semver
95 [`derive_hash_xor_eq`]: https://github.com/Manishearth/rust-clippy/wiki#derive_hash_xor_eq
96 [`doc_markdown`]: https://github.com/Manishearth/rust-clippy/wiki#doc_markdown
97 [`drop_ref`]: https://github.com/Manishearth/rust-clippy/wiki#drop_ref
98 [`duplicate_underscore_argument`]: https://github.com/Manishearth/rust-clippy/wiki#duplicate_underscore_argument
99 [`empty_loop`]: https://github.com/Manishearth/rust-clippy/wiki#empty_loop
100 [`enum_clike_unportable_variant`]: https://github.com/Manishearth/rust-clippy/wiki#enum_clike_unportable_variant
101 [`enum_glob_use`]: https://github.com/Manishearth/rust-clippy/wiki#enum_glob_use
102 [`enum_variant_names`]: https://github.com/Manishearth/rust-clippy/wiki#enum_variant_names
103 [`eq_op`]: https://github.com/Manishearth/rust-clippy/wiki#eq_op
104 [`expl_impl_clone_on_copy`]: https://github.com/Manishearth/rust-clippy/wiki#expl_impl_clone_on_copy
105 [`explicit_counter_loop`]: https://github.com/Manishearth/rust-clippy/wiki#explicit_counter_loop
106 [`explicit_iter_loop`]: https://github.com/Manishearth/rust-clippy/wiki#explicit_iter_loop
107 [`extend_from_slice`]: https://github.com/Manishearth/rust-clippy/wiki#extend_from_slice
108 [`filter_next`]: https://github.com/Manishearth/rust-clippy/wiki#filter_next
109 [`float_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#float_cmp
110 [`for_kv_map`]: https://github.com/Manishearth/rust-clippy/wiki#for_kv_map
111 [`for_loop_over_option`]: https://github.com/Manishearth/rust-clippy/wiki#for_loop_over_option
112 [`for_loop_over_result`]: https://github.com/Manishearth/rust-clippy/wiki#for_loop_over_result
113 [`identity_op`]: https://github.com/Manishearth/rust-clippy/wiki#identity_op
114 [`if_not_else`]: https://github.com/Manishearth/rust-clippy/wiki#if_not_else
115 [`if_same_then_else`]: https://github.com/Manishearth/rust-clippy/wiki#if_same_then_else
116 [`ifs_same_cond`]: https://github.com/Manishearth/rust-clippy/wiki#ifs_same_cond
117 [`indexing_slicing`]: https://github.com/Manishearth/rust-clippy/wiki#indexing_slicing
118 [`ineffective_bit_mask`]: https://github.com/Manishearth/rust-clippy/wiki#ineffective_bit_mask
119 [`inline_always`]: https://github.com/Manishearth/rust-clippy/wiki#inline_always
120 [`invalid_regex`]: https://github.com/Manishearth/rust-clippy/wiki#invalid_regex
121 [`invalid_upcast_comparisons`]: https://github.com/Manishearth/rust-clippy/wiki#invalid_upcast_comparisons
122 [`items_after_statements`]: https://github.com/Manishearth/rust-clippy/wiki#items_after_statements
123 [`iter_next_loop`]: https://github.com/Manishearth/rust-clippy/wiki#iter_next_loop
124 [`len_without_is_empty`]: https://github.com/Manishearth/rust-clippy/wiki#len_without_is_empty
125 [`len_zero`]: https://github.com/Manishearth/rust-clippy/wiki#len_zero
126 [`let_and_return`]: https://github.com/Manishearth/rust-clippy/wiki#let_and_return
127 [`let_unit_value`]: https://github.com/Manishearth/rust-clippy/wiki#let_unit_value
128 [`linkedlist`]: https://github.com/Manishearth/rust-clippy/wiki#linkedlist
129 [`logic_bug`]: https://github.com/Manishearth/rust-clippy/wiki#logic_bug
130 [`manual_swap`]: https://github.com/Manishearth/rust-clippy/wiki#manual_swap
131 [`many_single_char_names`]: https://github.com/Manishearth/rust-clippy/wiki#many_single_char_names
132 [`map_clone`]: https://github.com/Manishearth/rust-clippy/wiki#map_clone
133 [`map_entry`]: https://github.com/Manishearth/rust-clippy/wiki#map_entry
134 [`match_bool`]: https://github.com/Manishearth/rust-clippy/wiki#match_bool
135 [`match_overlapping_arm`]: https://github.com/Manishearth/rust-clippy/wiki#match_overlapping_arm
136 [`match_ref_pats`]: https://github.com/Manishearth/rust-clippy/wiki#match_ref_pats
137 [`match_same_arms`]: https://github.com/Manishearth/rust-clippy/wiki#match_same_arms
138 [`mem_forget`]: https://github.com/Manishearth/rust-clippy/wiki#mem_forget
139 [`min_max`]: https://github.com/Manishearth/rust-clippy/wiki#min_max
140 [`modulo_one`]: https://github.com/Manishearth/rust-clippy/wiki#modulo_one
141 [`mut_mut`]: https://github.com/Manishearth/rust-clippy/wiki#mut_mut
142 [`mutex_atomic`]: https://github.com/Manishearth/rust-clippy/wiki#mutex_atomic
143 [`mutex_integer`]: https://github.com/Manishearth/rust-clippy/wiki#mutex_integer
144 [`needless_bool`]: https://github.com/Manishearth/rust-clippy/wiki#needless_bool
145 [`needless_lifetimes`]: https://github.com/Manishearth/rust-clippy/wiki#needless_lifetimes
146 [`needless_range_loop`]: https://github.com/Manishearth/rust-clippy/wiki#needless_range_loop
147 [`needless_return`]: https://github.com/Manishearth/rust-clippy/wiki#needless_return
148 [`needless_update`]: https://github.com/Manishearth/rust-clippy/wiki#needless_update
149 [`neg_multiply`]: https://github.com/Manishearth/rust-clippy/wiki#neg_multiply
150 [`new_ret_no_self`]: https://github.com/Manishearth/rust-clippy/wiki#new_ret_no_self
151 [`new_without_default`]: https://github.com/Manishearth/rust-clippy/wiki#new_without_default
152 [`no_effect`]: https://github.com/Manishearth/rust-clippy/wiki#no_effect
153 [`non_ascii_literal`]: https://github.com/Manishearth/rust-clippy/wiki#non_ascii_literal
154 [`nonminimal_bool`]: https://github.com/Manishearth/rust-clippy/wiki#nonminimal_bool
155 [`nonsensical_open_options`]: https://github.com/Manishearth/rust-clippy/wiki#nonsensical_open_options
156 [`ok_expect`]: https://github.com/Manishearth/rust-clippy/wiki#ok_expect
157 [`option_map_unwrap_or`]: https://github.com/Manishearth/rust-clippy/wiki#option_map_unwrap_or
158 [`option_map_unwrap_or_else`]: https://github.com/Manishearth/rust-clippy/wiki#option_map_unwrap_or_else
159 [`option_unwrap_used`]: https://github.com/Manishearth/rust-clippy/wiki#option_unwrap_used
160 [`or_fun_call`]: https://github.com/Manishearth/rust-clippy/wiki#or_fun_call
161 [`out_of_bounds_indexing`]: https://github.com/Manishearth/rust-clippy/wiki#out_of_bounds_indexing
162 [`overflow_check_conditional`]: https://github.com/Manishearth/rust-clippy/wiki#overflow_check_conditional
163 [`panic_params`]: https://github.com/Manishearth/rust-clippy/wiki#panic_params
164 [`precedence`]: https://github.com/Manishearth/rust-clippy/wiki#precedence
165 [`print_stdout`]: https://github.com/Manishearth/rust-clippy/wiki#print_stdout
166 [`ptr_arg`]: https://github.com/Manishearth/rust-clippy/wiki#ptr_arg
167 [`range_step_by_zero`]: https://github.com/Manishearth/rust-clippy/wiki#range_step_by_zero
168 [`range_zip_with_len`]: https://github.com/Manishearth/rust-clippy/wiki#range_zip_with_len
169 [`redundant_closure`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_closure
170 [`redundant_closure_call`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_closure_call
171 [`redundant_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#redundant_pattern
172 [`regex_macro`]: https://github.com/Manishearth/rust-clippy/wiki#regex_macro
173 [`result_unwrap_used`]: https://github.com/Manishearth/rust-clippy/wiki#result_unwrap_used
174 [`reverse_range_loop`]: https://github.com/Manishearth/rust-clippy/wiki#reverse_range_loop
175 [`search_is_some`]: https://github.com/Manishearth/rust-clippy/wiki#search_is_some
176 [`shadow_reuse`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_reuse
177 [`shadow_same`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_same
178 [`shadow_unrelated`]: https://github.com/Manishearth/rust-clippy/wiki#shadow_unrelated
179 [`should_implement_trait`]: https://github.com/Manishearth/rust-clippy/wiki#should_implement_trait
180 [`similar_names`]: https://github.com/Manishearth/rust-clippy/wiki#similar_names
181 [`single_char_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#single_char_pattern
182 [`single_match`]: https://github.com/Manishearth/rust-clippy/wiki#single_match
183 [`single_match_else`]: https://github.com/Manishearth/rust-clippy/wiki#single_match_else
184 [`str_to_string`]: https://github.com/Manishearth/rust-clippy/wiki#str_to_string
185 [`string_add`]: https://github.com/Manishearth/rust-clippy/wiki#string_add
186 [`string_add_assign`]: https://github.com/Manishearth/rust-clippy/wiki#string_add_assign
187 [`string_lit_as_bytes`]: https://github.com/Manishearth/rust-clippy/wiki#string_lit_as_bytes
188 [`string_to_string`]: https://github.com/Manishearth/rust-clippy/wiki#string_to_string
189 [`suspicious_assignment_formatting`]: https://github.com/Manishearth/rust-clippy/wiki#suspicious_assignment_formatting
190 [`suspicious_else_formatting`]: https://github.com/Manishearth/rust-clippy/wiki#suspicious_else_formatting
191 [`temporary_assignment`]: https://github.com/Manishearth/rust-clippy/wiki#temporary_assignment
192 [`temporary_cstring_as_ptr`]: https://github.com/Manishearth/rust-clippy/wiki#temporary_cstring_as_ptr
193 [`too_many_arguments`]: https://github.com/Manishearth/rust-clippy/wiki#too_many_arguments
194 [`toplevel_ref_arg`]: https://github.com/Manishearth/rust-clippy/wiki#toplevel_ref_arg
195 [`transmute_ptr_to_ref`]: https://github.com/Manishearth/rust-clippy/wiki#transmute_ptr_to_ref
196 [`trivial_regex`]: https://github.com/Manishearth/rust-clippy/wiki#trivial_regex
197 [`type_complexity`]: https://github.com/Manishearth/rust-clippy/wiki#type_complexity
198 [`unicode_not_nfc`]: https://github.com/Manishearth/rust-clippy/wiki#unicode_not_nfc
199 [`unit_cmp`]: https://github.com/Manishearth/rust-clippy/wiki#unit_cmp
200 [`unnecessary_mut_passed`]: https://github.com/Manishearth/rust-clippy/wiki#unnecessary_mut_passed
201 [`unneeded_field_pattern`]: https://github.com/Manishearth/rust-clippy/wiki#unneeded_field_pattern
202 [`unsafe_removed_from_name`]: https://github.com/Manishearth/rust-clippy/wiki#unsafe_removed_from_name
203 [`unstable_as_mut_slice`]: https://github.com/Manishearth/rust-clippy/wiki#unstable_as_mut_slice
204 [`unstable_as_slice`]: https://github.com/Manishearth/rust-clippy/wiki#unstable_as_slice
205 [`unused_collect`]: https://github.com/Manishearth/rust-clippy/wiki#unused_collect
206 [`unused_label`]: https://github.com/Manishearth/rust-clippy/wiki#unused_label
207 [`unused_lifetimes`]: https://github.com/Manishearth/rust-clippy/wiki#unused_lifetimes
208 [`use_debug`]: https://github.com/Manishearth/rust-clippy/wiki#use_debug
209 [`used_underscore_binding`]: https://github.com/Manishearth/rust-clippy/wiki#used_underscore_binding
210 [`useless_format`]: https://github.com/Manishearth/rust-clippy/wiki#useless_format
211 [`useless_transmute`]: https://github.com/Manishearth/rust-clippy/wiki#useless_transmute
212 [`useless_vec`]: https://github.com/Manishearth/rust-clippy/wiki#useless_vec
213 [`while_let_loop`]: https://github.com/Manishearth/rust-clippy/wiki#while_let_loop
214 [`while_let_on_iterator`]: https://github.com/Manishearth/rust-clippy/wiki#while_let_on_iterator
215 [`wrong_pub_self_convention`]: https://github.com/Manishearth/rust-clippy/wiki#wrong_pub_self_convention
216 [`wrong_self_convention`]: https://github.com/Manishearth/rust-clippy/wiki#wrong_self_convention
217 [`zero_divided_by_zero`]: https://github.com/Manishearth/rust-clippy/wiki#zero_divided_by_zero
218 [`zero_width_space`]: https://github.com/Manishearth/rust-clippy/wiki#zero_width_space
219 <!-- end autogenerated links to wiki -->