Skip to content

Commit 565005e

Browse files
committed
---
yaml --- r: 273310 b: refs/heads/beta c: 02954ae h: refs/heads/master
1 parent 01d6778 commit 565005e

File tree

1,009 files changed

+28229
-22396
lines changed

Some content is hidden

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

1,009 files changed

+28229
-22396
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: edcc02bfee262ce8bc3f087d9793ce68d73b1a40
26+
refs/heads/beta: 02954ae0a86c5c2f00e9e06b520999c1e67e9cd7
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/Makefile.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@
100100
# // Having trouble figuring out which test is failing? Turn off parallel tests
101101
# make check-stage1-std RUST_TEST_THREADS=1
102102
#
103+
# // To make debug!() and other logging calls visible, reconfigure:
104+
# ./configure --enable-debug-assertions
105+
# make ....
106+
#
103107
# If you really feel like getting your hands dirty, then:
104108
#
105109
# run `make nitty-gritty`

branches/beta/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ build.
7777
7878
Download [MinGW from
7979
here](http://mingw-w64.org/doku.php/download/mingw-builds), and choose the
80-
`threads=win32,exceptions=dwarf/seh` flavor when installing. After installing,
80+
`threads=win32,exceptions=dwarf/seh` flavor when installing. Also, make sure to install to a path without spaces in it. After installing,
8181
add its `bin` directory to your `PATH`. This is due to [#28260](https://github.com/rust-lang/rust/issues/28260), in the future,
8282
installing from pacman should be just fine.
8383

branches/beta/RELEASES.md

Lines changed: 78 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,74 @@
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.
7466
* [The performance of `LineWriter` (and thus `io::stdout`) was
7567
improved by using `memchr` to search for newlines][1.7m].
7668
* [`f32::to_degrees` and `f32::to_radians` are stable][1.7f]. The
7769
`f64` variants were stabilized previously.
78-
* [`BTreeMap` was rewritten to use less memory improve performance of
79-
insertion and iteration, the latter by as much as 5x`][1.7bm].
70+
* [`BTreeMap` was rewritten to use less memory and improve the performance
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/configure

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,7 @@ opt dist-host-only 0 "only install bins for the host architecture"
607607
opt inject-std-version 1 "inject the current compiler version of libstd into programs"
608608
opt llvm-version-check 1 "check if the LLVM version is supported, build anyway"
609609
opt rustbuild 0 "use the rust and cargo based build system"
610+
opt orbit 0 "get MIR where it belongs - everywhere; most importantly, in orbit"
610611

611612
# Optimization and debugging options. These may be overridden by the release channel, etc.
612613
opt_nosave optimize 1 "build optimized rust code"
@@ -713,6 +714,8 @@ if [ -n "$CFG_ENABLE_DEBUG_ASSERTIONS" ]; then putvar CFG_ENABLE_DEBUG_ASSERTION
713714
if [ -n "$CFG_ENABLE_DEBUGINFO" ]; then putvar CFG_ENABLE_DEBUGINFO; fi
714715
if [ -n "$CFG_ENABLE_DEBUG_JEMALLOC" ]; then putvar CFG_ENABLE_DEBUG_JEMALLOC; fi
715716

717+
if [ -n "$CFG_ENABLE_ORBIT" ]; then putvar CFG_ENABLE_ORBIT; fi
718+
716719
# A magic value that allows the compiler to use unstable features
717720
# during the bootstrap even when doing so would normally be an error
718721
# because of feature staging or because the build turns on
@@ -865,9 +868,8 @@ fi
865868
# Force bitrig to build with clang; gcc doesn't like us there
866869
if [ $CFG_OSTYPE = unknown-bitrig ]
867870
then
868-
step_msg "on Bitrig, forcing use of clang, disabling jemalloc"
871+
step_msg "on Bitrig, forcing use of clang"
869872
CFG_ENABLE_CLANG=1
870-
CFG_DISABLE_JEMALLOC=1
871873
fi
872874

873875
# default gcc version under OpenBSD maybe too old, try using egcc, which is a
@@ -887,16 +889,6 @@ then
887889
CXX="${CXX:-eg++}"
888890
fi
889891
fi
890-
891-
step_msg "on OpenBSD, disabling jemalloc"
892-
CFG_DISABLE_JEMALLOC=1
893-
fi
894-
895-
if [ $CFG_OSTYPE = pc-windows-gnu ]
896-
then
897-
# FIXME(#31030) - there's not a great reason to disable jemalloc here
898-
step_msg "on Windows, disabling jemalloc"
899-
CFG_DISABLE_JEMALLOC=1
900892
fi
901893

902894
# OS X 10.9, gcc is actually clang. This can cause some confusion in the build
@@ -1186,12 +1178,6 @@ do
11861178
;;
11871179

11881180
*-msvc)
1189-
# Currently the build system is not configured to build jemalloc
1190-
# with MSVC, so we omit this optional dependency.
1191-
step_msg "targeting MSVC, disabling jemalloc"
1192-
CFG_DISABLE_JEMALLOC=1
1193-
putvar CFG_DISABLE_JEMALLOC
1194-
11951181
# There are some MSYS python builds which will auto-translate
11961182
# windows-style paths to MSYS-style paths in Python itself.
11971183
# Unfortunately this breaks LLVM's build system as somewhere along
@@ -1300,18 +1286,6 @@ $ pacman -R cmake && pacman -S mingw-w64-x86_64-cmake
13001286
putvar CFG_MSVC_LIB_PATH_${bits}
13011287
;;
13021288

1303-
*-rumprun-netbsd)
1304-
step_msg "targeting rumprun-netbsd, disabling jemalloc"
1305-
CFG_DISABLE_JEMALLOC=1
1306-
putvar CFG_DISABLE_JEMALLOC
1307-
;;
1308-
1309-
*-emscripten)
1310-
step_msg "targeting emscripten, disabling jemalloc"
1311-
CFG_DISABLE_JEMALLOC=1
1312-
putvar CFG_DISABLE_JEMALLOC
1313-
;;
1314-
13151289
*)
13161290
;;
13171291
esac

branches/beta/mk/cfg/asmjs-unknown-emscripten.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ CFG_LDPATH_asmjs-unknown-emscripten :=
2121
CFG_RUN_asmjs-unknown-emscripten=$(2)
2222
CFG_RUN_TARG_asmjs-unknown-emscripten=$(call CFG_RUN_asmjs-unknown-emscripten,,$(2))
2323
CFG_GNU_TRIPLE_asmjs-unknown-emscripten := asmjs-unknown-emscripten
24+
CFG_DISABLE_JEMALLOC_asmjs-unknown-emscripten := 1

0 commit comments

Comments
 (0)