Skip to content

Commit 84d8fec

Browse files
committed
Auto merge of #31993 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #31965, #31969, #31973, #31978, #31984, #31987, #31992 - Failed merges:
2 parents f25f0e8 + fbe9f10 commit 84d8fec

16 files changed

+48
-34
lines changed

RELEASES.md

+30-16
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
Version 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-
144
Libraries
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
8081
Misc
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
104102
Compatibility 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

mk/main.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
######################################################################
1414

1515
# The version number
16-
CFG_RELEASE_NUM=1.8.0
16+
CFG_RELEASE_NUM=1.9.0
1717

1818
# An optional number to put after the label, e.g. '.2' -> '-beta.2'
1919
# NB Make sure it starts with a dot to conform to semver pre-release

src/doc/book/references-and-borrowing.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,10 @@ fn main() {
211211
```
212212

213213
In other words, the mutable borrow is held through the rest of our example. What
214-
we want is for the mutable borrow to end _before_ we try to call `println!` and
215-
make an immutable borrow. In Rust, borrowing is tied to the scope that the
216-
borrow is valid for. And our scopes look like this:
214+
we want is for the mutable borrow by `y` to end so that the resource can be
215+
returned to the owner, `x`. `x` can then provide a mutable borrow to `println!`.
216+
In Rust, borrowing is tied to the scope that the borrow is valid for. And our
217+
scopes look like this:
217218

218219
```rust,ignore
219220
let mut x = 5;
@@ -378,4 +379,3 @@ statement 1 at 3:14
378379

379380
In the above example, `y` is declared before `x`, meaning that `y` lives longer
380381
than `x`, which is not allowed.
381-

src/doc/book/unsafe.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Rust’s main draw is its powerful static guarantees about behavior. But safety
44
checks are conservative by nature: there are some programs that are actually
55
safe, but the compiler is not able to verify this is true. To write these kinds
66
of programs, we need to tell the compiler to relax its restrictions a bit. For
7-
this, Rust has a keyword, `unsafe`. Code using `unsafe` has less restrictions
7+
this, Rust has a keyword, `unsafe`. Code using `unsafe` has fewer restrictions
88
than normal code does.
99

1010
Let’s go over the syntax, and then we’ll talk semantics. `unsafe` is used in

src/libcore/array.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
//! up to a certain length. Eventually we should able to generalize
1313
//! to all lengths.
1414
//!
15-
//! *[See also the array primitive type](../primitive.array.html).*
15+
//! *[See also the array primitive type](../../std/primitive.array.html).*
1616
1717
#![unstable(feature = "fixed_size_array",
1818
reason = "traits and impls are better expressed through generic \

src/libcore/num/i16.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 16-bit signed integer type.
1212
//!
13-
//! *[See also the `i16` primitive type](../primitive.i16.html).*
13+
//! *[See also the `i16` primitive type](../../std/primitive.i16.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/i32.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 32-bit signed integer type.
1212
//!
13-
//! *[See also the `i32` primitive type](../primitive.i32.html).*
13+
//! *[See also the `i32` primitive type](../../std/primitive.i32.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/i64.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 64-bit signed integer type.
1212
//!
13-
//! *[See also the `i64` primitive type](../primitive.i64.html).*
13+
//! *[See also the `i64` primitive type](../../std/primitive.i64.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/i8.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 8-bit signed integer type.
1212
//!
13-
//! *[See also the `i8` primitive type](../primitive.i8.html).*
13+
//! *[See also the `i8` primitive type](../../std/primitive.i8.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/isize.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The pointer-sized signed integer type.
1212
//!
13-
//! *[See also the `isize` primitive type](../primitive.isize.html).*
13+
//! *[See also the `isize` primitive type](../../std/primitive.isize.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/u16.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 16-bit unsigned integer type.
1212
//!
13-
//! *[See also the `u16` primitive type](../primitive.u16.html).*
13+
//! *[See also the `u16` primitive type](../../std/primitive.u16.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/u32.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 32-bit unsigned integer type.
1212
//!
13-
//! *[See also the `u32` primitive type](../primitive.u32.html).*
13+
//! *[See also the `u32` primitive type](../../std/primitive.u32.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/u64.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 64-bit unsigned integer type.
1212
//!
13-
//! *[See also the `u64` primitive type](../primitive.u64.html).*
13+
//! *[See also the `u64` primitive type](../../std/primitive.u64.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/u8.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 8-bit unsigned integer type.
1212
//!
13-
//! *[See also the `u8` primitive type](../primitive.u8.html).*
13+
//! *[See also the `u8` primitive type](../../std/primitive.u8.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/num/usize.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The pointer-sized unsigned integer type.
1212
//!
13-
//! *[See also the `usize` primitive type](../primitive.usize.html).*
13+
//! *[See also the `usize` primitive type](../../std/primitive.usize.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

src/libcore/ptr.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
//! Raw, unsafe pointers, `*const T`, and `*mut T`
1414
//!
15-
//! *[See also the pointer primitive types](../primitive.pointer.html).*
15+
//! *[See also the pointer primitive types](../../std/primitive.pointer.html).*
1616
1717
#![stable(feature = "rust1", since = "1.0.0")]
1818

0 commit comments

Comments
 (0)