1
1
Version 1.7.0 (2016-03-03)
2
2
==========================
3
3
4
- Language
5
- --------
6
-
7
- * Soundness fixes to the interactions between associated types and
8
- lifetimes, specified in [ RFC 1214] , [ now generate errors] [ 1.7sf ] for
9
- code that violates the new rules. This is a significant change that
10
- is known to break existing code, so it has emitted warnings for the
11
- new error cases since 1.4 to give crate authors time to adapt. The
12
- details of what is changing are subtle; read the RFC for more.
13
-
14
4
Libraries
15
5
---------
16
6
@@ -59,6 +49,17 @@ Libraries
59
49
* [ ` IntoStringError::into_cstring ` ]
60
50
* [ ` IntoStringError::utf8_error ` ]
61
51
* ` Error for IntoStringError `
52
+ * Hashing
53
+ * [ ` std::hash::BuildHasher ` ]
54
+ * [ ` BuildHasher::Hasher ` ]
55
+ * [ ` BuildHasher::build_hasher ` ]
56
+ * [ ` std::hash::BuildHasherDefault ` ]
57
+ * [ ` HashMap::with_hasher ` ]
58
+ * [ ` HashMap::with_capacity_and_hasher ` ]
59
+ * [ ` HashSet::with_hasher ` ]
60
+ * [ ` HashSet::with_capacity_and_hasher ` ]
61
+ * [ ` std::collections::hash_map::RandomState ` ]
62
+ * [ ` RandomState::new ` ]
62
63
* [ Validating UTF-8 is faster by a factor of between 7 and 14x for
63
64
ASCII input] [ 1.7utf8 ] . This means that creating ` String ` s and ` str ` s
64
65
from bytes is faster.
@@ -101,6 +102,12 @@ Cargo
101
102
Compatibility Notes
102
103
-------------------
103
104
105
+ * Soundness fixes to the interactions between associated types and
106
+ lifetimes, specified in [ RFC 1214] , [ now generate errors] [ 1.7sf ] for
107
+ code that violates the new rules. This is a significant change that
108
+ is known to break existing code, so it has emitted warnings for the
109
+ new error cases since 1.4 to give crate authors time to adapt. The
110
+ details of what is changing are subtle; read the RFC for more.
104
111
* [ Several bugs in the compiler's visibility calculations were
105
112
fixed] [ 1.7v ] . Since this was found to break significant amounts of
106
113
code, the new errors will be emitted as warnings for several release
@@ -133,11 +140,15 @@ Compatibility Notes
133
140
[ 1.7utf8 ] : https://github.com/rust-lang/rust/pull/30740
134
141
[ 1.7v ] : https://github.com/rust-lang/rust/pull/29973
135
142
[ RFC 1214 ] : https://github.com/rust-lang/rfcs/blob/master/text/1214-projections-lifetimes-and-wf.md
136
- [ `clone_from_slice ` ] : http://doc.rust-lang.org/nightly/std/primitive.slice .html#method.clone_from_slice
137
- [ `sort_by_key ` ] : http://doc.rust-lang.org/nightly/std/primitive.slice .html#method.sort_by_key
143
+ [ `BuildHasher::Hasher ` ] : http://doc.rust-lang.org/nightly/std/hash/trait.Hasher .html
144
+ [ `BuildHasher::build_hasher ` ] : http://doc.rust-lang.org/nightly/std/hash/trait.BuildHasher .html#tymethod.build_hasher
138
145
[ `CString::into_bytes_with_nul` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes_with_nul
139
146
[ `CString::into_bytes` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes
140
147
[ `CString::into_string` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_string
148
+ [ `HashMap::with_capacity_and_hasher` ] : http://doc.rust-lang.org/nightly/std/collections/struct.HashMap.html#method.with_capacity_and_hasher
149
+ [ `HashMap::with_hasher` ] : http://doc.rust-lang.org/nightly/std/collections/struct.HashMap.html#method.with_hasher
150
+ [ `HashSet::with_capacity_and_hasher` ] : http://doc.rust-lang.org/nightly/std/collections/struct.HashSet.html#method.with_capacity_and_hasher
151
+ [ `HashSet::with_hasher` ] : http://doc.rust-lang.org/nightly/std/collections/struct.HashSet.html#method.with_hasher
141
152
[ `IntoStringError::into_cstring` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.into_cstring
142
153
[ `IntoStringError::utf8_error` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.utf8_error
143
154
[ `Ipv4Addr::is_broadcast` ] : http://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.html#method.is_broadcast
@@ -150,10 +161,12 @@ Compatibility Notes
150
161
[ `Ipv6Addr::is_multicast` ] : http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_multicast
151
162
[ `Ipv6Addr::is_unspecified` ] : http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_unspecified
152
163
[ `Path::strip_prefix` ] : http://doc.rust-lang.org/nightly/std/path/struct.Path.html#method.strip_prefix
164
+ [ `RandomState::new` ] : http://doc.rust-lang.org/nightly/std/collections/hash_map/struct.RandomState.html#method.new
153
165
[ `String::as_mut_str` ] : http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_mut_str
154
166
[ `String::as_str` ] : http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_str
155
167
[ `Vec::as_mut_slice` ] : http://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.as_mut_slice
156
168
[ `Vec::as_slice` ] : http://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.as_slice
169
+ [ `clone_from_slice` ] : http://doc.rust-lang.org/nightly/std/primitive.slice.html#method.clone_from_slice
157
170
[ `ffi::IntoStringError` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html
158
171
[ `i32::checked_neg` ] : http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_neg
159
172
[ `i32::checked_rem` ] : http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_rem
@@ -169,6 +182,10 @@ Compatibility Notes
169
182
[ `i32::overflowing_sub` ] : http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.overflowing_sub
170
183
[ `i32::saturating_mul` ] : http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.saturating_mul
171
184
[ `path::StripPrefixError` ] : http://doc.rust-lang.org/nightly/std/path/struct.StripPrefixError.html
185
+ [ `sort_by_key` ] : http://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_by_key
186
+ [ `std::collections::hash_map::RandomState` ] : http://doc.rust-lang.org/nightly/std/collections/hash_map/struct.RandomState.html
187
+ [ `std::hash::BuildHasherDefault` ] : http://doc.rust-lang.org/nightly/std/hash/struct.BuildHasherDefault.html
188
+ [ `std::hash::BuildHasher` ] : http://doc.rust-lang.org/nightly/std/hash/trait.BuildHasher.html
172
189
[ `u32::checked_neg` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_neg
173
190
[ `u32::checked_rem` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_rem
174
191
[ `u32::checked_shl` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_shl
0 commit comments