Skip to content

Commit 9f56248

Browse files
committed
---
yaml --- r: 272731 b: refs/heads/beta c: ffd734c h: refs/heads/master i: 272729: 351a674 272727: 4ee644d
1 parent bd54ba1 commit 9f56248

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+670
-752
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: 675723e24376527afd36173bab2954154c474e27
26+
refs/heads/beta: ffd734c35b345501ab72629757f3eb58df97e2f9
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/RELEASES.md

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
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+
414
Libraries
515
---------
616

@@ -49,17 +59,6 @@ Libraries
4959
* [`IntoStringError::into_cstring`]
5060
* [`IntoStringError::utf8_error`]
5161
* `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`]
6362
* [Validating UTF-8 is faster by a factor of between 7 and 14x for
6463
ASCII input][1.7utf8]. This means that creating `String`s and `str`s
6564
from bytes is faster.
@@ -81,6 +80,9 @@ Libraries
8180
Misc
8281
----
8382

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.
8486
* [When running tests with `--test`, rustdoc will pass `--cfg`
8587
arguments to the compiler][1.7dt].
8688
* [The compiler is built with RPATH information by default][1.7rpa].
@@ -102,12 +104,6 @@ Cargo
102104
Compatibility Notes
103105
-------------------
104106

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.
111107
* [Several bugs in the compiler's visibility calculations were
112108
fixed][1.7v]. Since this was found to break significant amounts of
113109
code, the new errors will be emitted as warnings for several release
@@ -130,6 +126,7 @@ Compatibility Notes
130126
[1.7dta]: https://github.com/rust-lang/rust/pull/30394
131127
[1.7f]: https://github.com/rust-lang/rust/pull/30672
132128
[1.7h]: https://github.com/rust-lang/rust/pull/30818
129+
[1.7j]: https://github.com/rust-lang/rust/pull/30711
133130
[1.7ll]: https://github.com/rust-lang/rust/pull/30663
134131
[1.7m]: https://github.com/rust-lang/rust/pull/30381
135132
[1.7p]: https://github.com/rust-lang/rust/pull/30681
@@ -140,15 +137,11 @@ Compatibility Notes
140137
[1.7utf8]: https://github.com/rust-lang/rust/pull/30740
141138
[1.7v]: https://github.com/rust-lang/rust/pull/29973
142139
[RFC 1214]: https://github.com/rust-lang/rfcs/blob/master/text/1214-projections-lifetimes-and-wf.md
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
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
145142
[`CString::into_bytes_with_nul`]: http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes_with_nul
146143
[`CString::into_bytes`]: http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes
147144
[`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
152145
[`IntoStringError::into_cstring`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.into_cstring
153146
[`IntoStringError::utf8_error`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.utf8_error
154147
[`Ipv4Addr::is_broadcast`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.html#method.is_broadcast
@@ -161,12 +154,10 @@ Compatibility Notes
161154
[`Ipv6Addr::is_multicast`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_multicast
162155
[`Ipv6Addr::is_unspecified`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_unspecified
163156
[`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
165157
[`String::as_mut_str`]: http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_mut_str
166158
[`String::as_str`]: http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_str
167159
[`Vec::as_mut_slice`]: http://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.as_mut_slice
168160
[`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
170161
[`ffi::IntoStringError`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html
171162
[`i32::checked_neg`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_neg
172163
[`i32::checked_rem`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_rem
@@ -182,13 +173,8 @@ Compatibility Notes
182173
[`i32::overflowing_sub`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.overflowing_sub
183174
[`i32::saturating_mul`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.saturating_mul
184175
[`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
189176
[`u32::checked_neg`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_neg
190177
[`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
192178
[`u32::checked_shl`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_shl
193179
[`u32::overflowing_add`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.overflowing_add
194180
[`u32::overflowing_div`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.overflowing_div

branches/beta/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
######################################################################
1414

1515
# The version number
16-
CFG_RELEASE_NUM=1.9.0
16+
CFG_RELEASE_NUM=1.8.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

branches/beta/src/doc/book/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
* [Comments](comments.md)
1010
* [if](if.md)
1111
* [Loops](loops.md)
12-
* [Vectors](vectors.md)
1312
* [Ownership](ownership.md)
1413
* [References and Borrowing](references-and-borrowing.md)
1514
* [Lifetimes](lifetimes.md)
@@ -19,6 +18,7 @@
1918
* [Match](match.md)
2019
* [Patterns](patterns.md)
2120
* [Method Syntax](method-syntax.md)
21+
* [Vectors](vectors.md)
2222
* [Strings](strings.md)
2323
* [Generics](generics.md)
2424
* [Traits](traits.md)

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,9 @@ 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 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:
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:
218217

219218
```rust,ignore
220219
let mut x = 5;
@@ -379,3 +378,4 @@ statement 1 at 3:14
379378

380379
In the above example, `y` is declared before `x`, meaning that `y` lives longer
381380
than `x`, which is not allowed.
381+

branches/beta/src/doc/book/unsafe.md

Lines changed: 1 addition & 1 deletion
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 fewer restrictions
7+
this, Rust has a keyword, `unsafe`. Code using `unsafe` has less restrictions
88
than normal code does.
99

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

branches/beta/src/libcollectionstest/str.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1508,19 +1508,6 @@ generate_iterator_test! {
15081508
with str::rsplitn;
15091509
}
15101510

1511-
#[test]
1512-
fn different_str_pattern_forwarding_lifetimes() {
1513-
use std::str::pattern::Pattern;
1514-
1515-
fn foo<'a, P>(p: P) where for<'b> &'b P: Pattern<'a> {
1516-
for _ in 0..3 {
1517-
"asdf".find(&p);
1518-
}
1519-
}
1520-
1521-
foo::<&str>("x");
1522-
}
1523-
15241511
mod bench {
15251512
use test::{Bencher, black_box};
15261513

branches/beta/src/libcore/array.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.array.html).*
15+
//! *[See also the array primitive type](../primitive.array.html).*
1616
1717
#![unstable(feature = "fixed_size_array",
1818
reason = "traits and impls are better expressed through generic \

branches/beta/src/libcore/cell.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,6 @@ impl<T:Copy> Cell<T> {
241241
#[stable(feature = "rust1", since = "1.0.0")]
242242
unsafe impl<T> Send for Cell<T> where T: Send {}
243243

244-
#[stable(feature = "rust1", since = "1.0.0")]
245-
impl<T> !Sync for Cell<T> {}
246-
247244
#[stable(feature = "rust1", since = "1.0.0")]
248245
impl<T:Copy> Clone for Cell<T> {
249246
#[inline]
@@ -464,9 +461,6 @@ impl<T: ?Sized> RefCell<T> {
464461
#[stable(feature = "rust1", since = "1.0.0")]
465462
unsafe impl<T: ?Sized> Send for RefCell<T> where T: Send {}
466463

467-
#[stable(feature = "rust1", since = "1.0.0")]
468-
impl<T: ?Sized> !Sync for RefCell<T> {}
469-
470464
#[stable(feature = "rust1", since = "1.0.0")]
471465
impl<T: Clone> Clone for RefCell<T> {
472466
#[inline]

branches/beta/src/libcore/num/i16.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.i16.html).*
13+
//! *[See also the `i16` primitive type](../primitive.i16.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/i32.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.i32.html).*
13+
//! *[See also the `i32` primitive type](../primitive.i32.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/i64.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.i64.html).*
13+
//! *[See also the `i64` primitive type](../primitive.i64.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/i8.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.i8.html).*
13+
//! *[See also the `i8` primitive type](../primitive.i8.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/isize.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.isize.html).*
13+
//! *[See also the `isize` primitive type](../primitive.isize.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/u16.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.u16.html).*
13+
//! *[See also the `u16` primitive type](../primitive.u16.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/u32.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.u32.html).*
13+
//! *[See also the `u32` primitive type](../primitive.u32.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/u64.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.u64.html).*
13+
//! *[See also the `u64` primitive type](../primitive.u64.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/u8.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.u8.html).*
13+
//! *[See also the `u8` primitive type](../primitive.u8.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/usize.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.usize.html).*
13+
//! *[See also the `usize` primitive type](../primitive.usize.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/ptr.rs

Lines changed: 1 addition & 1 deletion
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](../../std/primitive.pointer.html).*
15+
//! *[See also the pointer primitive types](../primitive.pointer.html).*
1616
1717
#![stable(feature = "rust1", since = "1.0.0")]
1818

branches/beta/src/libcore/slice.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,12 +285,12 @@ impl<T> SliceExt for [T] {
285285

286286
#[inline]
287287
unsafe fn get_unchecked(&self, index: usize) -> &T {
288-
&*(self.as_ptr().offset(index as isize))
288+
&*(self.repr().data.offset(index as isize))
289289
}
290290

291291
#[inline]
292292
fn as_ptr(&self) -> *const T {
293-
self as *const [T] as *const T
293+
self.repr().data
294294
}
295295

296296
fn binary_search_by<F>(&self, mut f: F) -> Result<usize, usize> where
@@ -448,12 +448,12 @@ impl<T> SliceExt for [T] {
448448

449449
#[inline]
450450
unsafe fn get_unchecked_mut(&mut self, index: usize) -> &mut T {
451-
&mut *self.as_mut_ptr().offset(index as isize)
451+
&mut *(self.repr().data as *mut T).offset(index as isize)
452452
}
453453

454454
#[inline]
455455
fn as_mut_ptr(&mut self) -> *mut T {
456-
self as *mut [T] as *mut T
456+
self.repr().data as *mut T
457457
}
458458

459459
#[inline]

branches/beta/src/libcore/str/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1894,7 +1894,7 @@ impl StrExt for str {
18941894

18951895
#[inline]
18961896
fn as_ptr(&self) -> *const u8 {
1897-
self as *const str as *const u8
1897+
self.repr().data
18981898
}
18991899

19001900
#[inline]

branches/beta/src/libcore/str/pattern.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ impl<'a, F> Pattern<'a> for F where F: FnMut(char) -> bool {
492492
/////////////////////////////////////////////////////////////////////////////
493493

494494
/// Delegates to the `&str` impl.
495-
impl<'a, 'b, 'c> Pattern<'a> for &'c &'b str {
495+
impl<'a, 'b> Pattern<'a> for &'b &'b str {
496496
pattern_methods!(StrSearcher<'a, 'b>, |&s| s, |s| s);
497497
}
498498

branches/beta/src/liblibc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Subproject commit 16f1c190afbc7605ed50a40f802189e436de68f6
1+
Subproject commit 07a92067930670473dc53300dfdda23ff486344d

branches/beta/src/librustc/dep_graph/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ pub fn visit_all_items_in_krate<'tcx,V,F>(tcx: &ty::ctxt<'tcx>,
198198
fn visit_item(&mut self, i: &'tcx hir::Item) {
199199
let item_def_id = self.tcx.map.local_def_id(i.id);
200200
let task_id = (self.dep_node_fn)(item_def_id);
201+
debug!("About to start task {:?}", task_id);
201202
let _task = self.tcx.dep_graph.in_task(task_id);
202-
debug!("Started task {:?}", task_id);
203203
self.tcx.dep_graph.read(DepNode::Hir(item_def_id));
204204
self.visitor.visit_item(i)
205205
}

0 commit comments

Comments
 (0)