11Version 1.7.0 (2016-03-03)
22==========================
33
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-
144Libraries
155---------
166
@@ -59,6 +49,17 @@ Libraries
5949 * [ ` IntoStringError::into_cstring ` ]
6050 * [ ` IntoStringError::utf8_error ` ]
6151 * ` 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 ` ]
6263* [ Validating UTF-8 is faster by a factor of between 7 and 14x for
6364 ASCII input] [ 1.7utf8 ] . This means that creating ` String ` s and ` str ` s
6465 from bytes is faster.
@@ -80,9 +81,6 @@ Libraries
8081Misc
8182----
8283
83- * [ The ` --error-format=json ` flag to ` rustc ` causes it to emit errors
84- in JSON format] [ 1.7j ] . This is an unstable flag and so also requires
85- the ` -Z unstable-options ` flag.
8684* [ When running tests with ` --test ` , rustdoc will pass ` --cfg `
8785 arguments to the compiler] [ 1.7dt ] .
8886* [ The compiler is built with RPATH information by default] [ 1.7rpa ] .
@@ -104,6 +102,12 @@ Cargo
104102Compatibility Notes
105103-------------------
106104
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.
107111* [ Several bugs in the compiler's visibility calculations were
108112 fixed] [ 1.7v ] . Since this was found to break significant amounts of
109113 code, the new errors will be emitted as warnings for several release
@@ -126,7 +130,6 @@ Compatibility Notes
126130[ 1.7dta ] : https://github.com/rust-lang/rust/pull/30394
127131[ 1.7f ] : https://github.com/rust-lang/rust/pull/30672
128132[ 1.7h ] : https://github.com/rust-lang/rust/pull/30818
129- [ 1.7j ] : https://github.com/rust-lang/rust/pull/30711
130133[ 1.7ll ] : https://github.com/rust-lang/rust/pull/30663
131134[ 1.7m ] : https://github.com/rust-lang/rust/pull/30381
132135[ 1.7p ] : https://github.com/rust-lang/rust/pull/30681
@@ -137,11 +140,15 @@ Compatibility Notes
137140[ 1.7utf8 ] : https://github.com/rust-lang/rust/pull/30740
138141[ 1.7v ] : https://github.com/rust-lang/rust/pull/29973
139142[ RFC 1214 ] : https://github.com/rust-lang/rfcs/blob/master/text/1214-projections-lifetimes-and-wf.md
140- [ `clone_from_slice ` ] : http://doc.rust-lang.org/nightly/std/primitive.slice .html#method.clone_from_slice
141- [ `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
142145[ `CString::into_bytes_with_nul` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes_with_nul
143146[ `CString::into_bytes` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes
144147[ `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
145152[ `IntoStringError::into_cstring` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.into_cstring
146153[ `IntoStringError::utf8_error` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.utf8_error
147154[ `Ipv4Addr::is_broadcast` ] : http://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.html#method.is_broadcast
@@ -154,10 +161,12 @@ Compatibility Notes
154161[ `Ipv6Addr::is_multicast` ] : http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_multicast
155162[ `Ipv6Addr::is_unspecified` ] : http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_unspecified
156163[ `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
157165[ `String::as_mut_str` ] : http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_mut_str
158166[ `String::as_str` ] : http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_str
159167[ `Vec::as_mut_slice` ] : http://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.as_mut_slice
160168[ `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
161170[ `ffi::IntoStringError` ] : http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html
162171[ `i32::checked_neg` ] : http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_neg
163172[ `i32::checked_rem` ] : http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_rem
@@ -173,8 +182,13 @@ Compatibility Notes
173182[ `i32::overflowing_sub` ] : http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.overflowing_sub
174183[ `i32::saturating_mul` ] : http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.saturating_mul
175184[ `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
176189[ `u32::checked_neg` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_neg
177190[ `u32::checked_rem` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_rem
191+ [ `u32::checked_neg` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_neg
178192[ `u32::checked_shl` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_shl
179193[ `u32::overflowing_add` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.overflowing_add
180194[ `u32::overflowing_div` ] : http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.overflowing_div
0 commit comments