Skip to content

Commit 6a6b692

Browse files
committed
---
yaml --- r: 272795 b: refs/heads/beta c: 55bc488 h: refs/heads/master i: 272793: 020b858 272791: 25b72c5
1 parent 97990be commit 6a6b692

File tree

343 files changed

+4042
-2543
lines changed

Some content is hidden

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

343 files changed

+4042
-2543
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: d2df5514c09aa0d9a648183b33b5b1ee1c6d0fa2
26+
refs/heads/beta: 55bc488db46c656c18c61c56de10446c3572b7d7
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/COMPILER_TESTS.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,43 @@ whole, instead of just a few lines inside the test.
4242
* `ignore-test` always ignores the test
4343
* `ignore-lldb` and `ignore-gdb` will skip the debuginfo tests
4444
* `min-{gdb,lldb}-version`
45+
* `should-fail` indicates that the test should fail; used for "meta testing",
46+
where we test the compiletest program itself to check that it will generate
47+
errors in appropriate scenarios. This header is ignored for pretty-printer tests.
48+
49+
## Revisions
50+
51+
Certain classes of tests support "revisions" (as of the time of this
52+
writing, this includes run-pass, compile-fail, run-fail, and
53+
incremental, though incremental tests are somewhat
54+
different). Revisions allow a single test file to be used for multiple
55+
tests. This is done by adding a special header at the top of the file:
56+
57+
```
58+
// revisions: foo bar baz
59+
```
60+
61+
This will result in the test being compiled (and tested) three times,
62+
once with `--cfg foo`, once with `--cfg bar`, and once with `--cfg
63+
baz`. You can therefore use `#[cfg(foo)]` etc within the test to tweak
64+
each of these results.
65+
66+
You can also customize headers and expected error messages to a particular
67+
revision. To do this, add `[foo]` (or `bar`, `baz`, etc) after the `//`
68+
comment, like so:
69+
70+
```
71+
// A flag to pass in only for cfg `foo`:
72+
//[foo]compile-flags: -Z verbose
73+
74+
#[cfg(foo)]
75+
fn test_foo() {
76+
let x: usize = 32_u32; //[foo]~ ERROR mismatched types
77+
}
78+
```
79+
80+
Note that not all headers have meaning when customized too a revision.
81+
For example, the `ignore-test` header (and all "ignore" headers)
82+
currently only apply to the test as a whole, not to particular
83+
revisions. The only headers that are intended to really work when
84+
customized to a revision are error patterns and compiler flags.

branches/beta/RELEASES.md

Lines changed: 77 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,65 @@
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

17-
* Stabilized APIs:
18-
[`Path::strip_prefix`][] (renamed from relative_from),
19-
[`path::StripPrefixError`][] (new error type returned from strip_prefix),
20-
[`Ipv4Addr::is_loopback`],
21-
[`Ipv4Addr::is_private`],
22-
[`Ipv4Addr::is_link_local`],
23-
[`Ipv4Addr::is_multicast`],
24-
[`Ipv4Addr::is_broadcast`],
25-
[`Ipv4Addr::is_documentation`],
26-
[`Ipv6Addr::is_unspecified`],
27-
[`Ipv6Addr::is_loopback`],
28-
[`Ipv6Addr::is_multicast`],
29-
[`Vec::as_slice`],
30-
[`Vec::as_mut_slice`],
31-
[`String::as_str`],
32-
[`String::as_mut_str`],
33-
`<[T]>::`[`clone_from_slice`], which now requires the two slices to
34-
be the same length
35-
`<[T]>::`[`sort_by_key`],
36-
[`i32::checked_rem`],
37-
[`i32::checked_neg`],
38-
[`i32::checked_shl`],
39-
[`i32::checked_shr`],
40-
[`i32::saturating_mul`],
41-
[`i32::overflowing_add`],
42-
[`i32::overflowing_sub`],
43-
[`i32::overflowing_mul`],
44-
[`i32::overflowing_div`],
45-
[`i32::overflowing_rem`],
46-
[`i32::overflowing_neg`],
47-
[`i32::overflowing_shl`],
48-
[`i32::overflowing_shr`],
49-
[`u32::checked_rem`],
50-
[`u32::checked_neg`],
51-
[`u32::checked_shl`],
52-
[`u32::checked_shl`],
53-
[`u32::saturating_mul`],
54-
[`u32::overflowing_add`],
55-
[`u32::overflowing_sub`],
56-
[`u32::overflowing_mul`],
57-
[`u32::overflowing_div`],
58-
[`u32::overflowing_rem`],
59-
[`u32::overflowing_neg`],
60-
[`u32::overflowing_shl`],
61-
[`u32::overflowing_shr`],
62-
checked, saturated, and overflowing operations for other primitive types,
63-
[`ffi::IntoStringError`],
64-
[`CString::into_string`],
65-
[`CString::into_bytes`],
66-
[`CString::into_bytes_with_nul`],
67-
`From<CString> for Vec<u8>`,
68-
[`IntoStringError::into_cstring`],
69-
[`IntoStringError::utf8_error`],
70-
`Error for IntoStringError`.
7+
* Stabilized APIs
8+
* `Path`
9+
* [`Path::strip_prefix`][] (renamed from relative_from)
10+
* [`path::StripPrefixError`][] (new error type returned from strip_prefix)
11+
* `Ipv4Addr`
12+
* [`Ipv4Addr::is_loopback`]
13+
* [`Ipv4Addr::is_private`]
14+
* [`Ipv4Addr::is_link_local`]
15+
* [`Ipv4Addr::is_multicast`]
16+
* [`Ipv4Addr::is_broadcast`]
17+
* [`Ipv4Addr::is_documentation`]
18+
* `Ipv6Addr`
19+
* [`Ipv6Addr::is_unspecified`]
20+
* [`Ipv6Addr::is_loopback`]
21+
* [`Ipv6Addr::is_multicast`]
22+
* `Vec`
23+
* [`Vec::as_slice`]
24+
* [`Vec::as_mut_slice`]
25+
* `String`
26+
* [`String::as_str`]
27+
* [`String::as_mut_str`]
28+
* Slices
29+
* `<[T]>::`[`clone_from_slice`], which now requires the two slices to
30+
be the same length
31+
* `<[T]>::`[`sort_by_key`]
32+
* checked, saturated, and overflowing operations
33+
* [`i32::checked_rem`], [`i32::checked_neg`], [`i32::checked_shl`], [`i32::checked_shr`]
34+
* [`i32::saturating_mul`]
35+
* [`i32::overflowing_add`], [`i32::overflowing_sub`], [`i32::overflowing_mul`], [`i32::overflowing_div`]
36+
* [`i32::overflowing_rem`], [`i32::overflowing_neg`], [`i32::overflowing_shl`], [`i32::overflowing_shr`]
37+
* [`u32::checked_rem`], [`u32::checked_neg`], [`u32::checked_shl`], [`u32::checked_shl`]
38+
* [`u32::saturating_mul`]
39+
* [`u32::overflowing_add`], [`u32::overflowing_sub`], [`u32::overflowing_mul`], [`u32::overflowing_div`]
40+
* [`u32::overflowing_rem`], [`u32::overflowing_neg`], [`u32::overflowing_shl`], [`u32::overflowing_shr`]
41+
* and checked, saturated, and overflowing operations for other primitive types
42+
* FFI
43+
* [`ffi::IntoStringError`]
44+
* [`CString::into_string`]
45+
* [`CString::into_bytes`]
46+
* [`CString::into_bytes_with_nul`]
47+
* `From<CString> for Vec<u8>`
48+
* `IntoStringError`
49+
* [`IntoStringError::into_cstring`]
50+
* [`IntoStringError::utf8_error`]
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`]
7163
* [Validating UTF-8 is faster by a factor of between 7 and 14x for
7264
ASCII input][1.7utf8]. This means that creating `String`s and `str`s
7365
from bytes is faster.
@@ -76,7 +68,7 @@ Libraries
7668
* [`f32::to_degrees` and `f32::to_radians` are stable][1.7f]. The
7769
`f64` variants were stabilized previously.
7870
* [`BTreeMap` was rewritten to use less memory and improve the performance
79-
of insertion and iteration, the latter by as much as 5x`][1.7bm].
71+
of insertion and iteration, the latter by as much as 5x][1.7bm].
8072
* [`BTreeSet` and its iterators, `Iter`, `IntoIter`, and `Range` are
8173
covariant over their contained type][1.7bt].
8274
* [`LinkedList` and its iterators, `Iter` and `IntoIter` are covariant
@@ -89,9 +81,6 @@ Libraries
8981
Misc
9082
----
9183

92-
* [The `--error-format=json` flag to `rustc` causes it to emit errors
93-
in JSON format][1.7j]. This is an unstable flag and so also requires
94-
the `-Z unstable-options` flag.
9584
* [When running tests with `--test`, rustdoc will pass `--cfg`
9685
arguments to the compiler][1.7dt].
9786
* [The compiler is built with RPATH information by default][1.7rpa].
@@ -113,6 +102,12 @@ Cargo
113102
Compatibility Notes
114103
-------------------
115104

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.
116111
* [Several bugs in the compiler's visibility calculations were
117112
fixed][1.7v]. Since this was found to break significant amounts of
118113
code, the new errors will be emitted as warnings for several release
@@ -135,7 +130,6 @@ Compatibility Notes
135130
[1.7dta]: https://github.com/rust-lang/rust/pull/30394
136131
[1.7f]: https://github.com/rust-lang/rust/pull/30672
137132
[1.7h]: https://github.com/rust-lang/rust/pull/30818
138-
[1.7j]: https://github.com/rust-lang/rust/pull/30711
139133
[1.7ll]: https://github.com/rust-lang/rust/pull/30663
140134
[1.7m]: https://github.com/rust-lang/rust/pull/30381
141135
[1.7p]: https://github.com/rust-lang/rust/pull/30681
@@ -146,11 +140,15 @@ Compatibility Notes
146140
[1.7utf8]: https://github.com/rust-lang/rust/pull/30740
147141
[1.7v]: https://github.com/rust-lang/rust/pull/29973
148142
[RFC 1214]: https://github.com/rust-lang/rfcs/blob/master/text/1214-projections-lifetimes-and-wf.md
149-
[`clone_from_slice`]: http://doc.rust-lang.org/nightly/std/primitive.slice.html#method.clone_from_slice
150-
[`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
151145
[`CString::into_bytes_with_nul`]: http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes_with_nul
152146
[`CString::into_bytes`]: http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes
153147
[`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
154152
[`IntoStringError::into_cstring`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.into_cstring
155153
[`IntoStringError::utf8_error`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.utf8_error
156154
[`Ipv4Addr::is_broadcast`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.html#method.is_broadcast
@@ -163,10 +161,12 @@ Compatibility Notes
163161
[`Ipv6Addr::is_multicast`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_multicast
164162
[`Ipv6Addr::is_unspecified`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_unspecified
165163
[`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
166165
[`String::as_mut_str`]: http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_mut_str
167166
[`String::as_str`]: http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_str
168167
[`Vec::as_mut_slice`]: http://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.as_mut_slice
169168
[`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
170170
[`ffi::IntoStringError`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html
171171
[`i32::checked_neg`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_neg
172172
[`i32::checked_rem`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_rem
@@ -182,7 +182,13 @@ Compatibility Notes
182182
[`i32::overflowing_sub`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.overflowing_sub
183183
[`i32::saturating_mul`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.saturating_mul
184184
[`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
189+
[`u32::checked_neg`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_neg
185190
[`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
186192
[`u32::checked_shl`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_shl
187193
[`u32::overflowing_add`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.overflowing_add
188194
[`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.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

branches/beta/src/bootstrap/Cargo.lock

Lines changed: 18 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

branches/beta/src/bootstrap/bootstrap.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def download_rust_nightly(self):
7373

7474
if self.rustc().startswith(self.bin_root()) and \
7575
(not os.path.exists(self.rustc()) or self.rustc_out_of_date()):
76+
shutil.rmtree(self.bin_root())
7677
filename = "rust-std-nightly-" + self.build + ".tar.gz"
7778
url = "https://static.rust-lang.org/dist/" + self.snap_rustc_date()
7879
tarball = os.path.join(rustc_cache, filename)

0 commit comments

Comments
 (0)