Skip to content

Commit a7feec9

Browse files
committed
---
yaml --- r: 184229 b: refs/heads/tmp c: f82e231 h: refs/heads/master i: 184227: 5fe31a8 v: v3
1 parent 65ad4f7 commit a7feec9

File tree

255 files changed

+1184
-6689
lines changed

Some content is hidden

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

255 files changed

+1184
-6689
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
3434
refs/heads/beta: 522d09dfecbeca1595f25ac58c6d0178bbd21d7d
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3636
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
37-
refs/heads/tmp: b90e40718f8e98dd99731e114a63ddbfb177dd25
37+
refs/heads/tmp: f82e2310b3b35bc1d137712576d2d16b82e03fcb

branches/tmp/README.md

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
# The Rust Programming Language
22

33
This is a compiler for Rust, including standard libraries, tools and
4-
documentation. Rust is a systems programming language that is fast,
5-
memory safe and multithreaded, but does not employ a garbage collector
6-
or otherwise impose significant runtime overhead.
4+
documentation.
75

86
## Quick Start
97

10-
Read ["Installing Rust"] from [The Book].
8+
Read ["Installing Rust"][install] from [The Book][trpl].
119

12-
["Installing Rust"]: http://doc.rust-lang.org/book/installing-rust.html
13-
[The Book]: http://doc.rust-lang.org/book/index.html
10+
[install]: http://doc.rust-lang.org/book/installing-rust.html
11+
[trpl]: http://doc.rust-lang.org/book/index.html
1412

1513
## Building from Source
1614

@@ -21,14 +19,22 @@ Read ["Installing Rust"] from [The Book].
2119
* `curl`
2220
* `git`
2321

24-
2. Clone the [source] with `git`:
22+
2. Download and build Rust:
23+
24+
You can either download a [tarball] or build directly from the [repo].
25+
26+
To build from the [tarball] do:
27+
28+
$ curl -O https://static.rust-lang.org/dist/rustc-nightly-src.tar.gz
29+
$ tar -xzf rustc-nightly-src.tar.gz
30+
$ cd rustc-nightly
31+
32+
Or to build from the [repo] do:
2533

2634
$ git clone https://github.com/rust-lang/rust.git
2735
$ cd rust
2836

29-
[source]: https://github.com/rust-lang/rust
30-
31-
3. Build and install:
37+
Now that you have Rust's source code, you can configure and build it:
3238

3339
$ ./configure
3440
$ make && make install
@@ -40,10 +46,7 @@ Read ["Installing Rust"] from [The Book].
4046
4147
When complete, `make install` will place several programs into
4248
`/usr/local/bin`: `rustc`, the Rust compiler, and `rustdoc`, the
43-
API-documentation tool. This install does not include [Cargo],
44-
Rust's package manager, which you may also want to build.
45-
46-
[Cargo]: https://github.com/rust-lang/cargo
49+
API-documentation tool.
4750

4851
### Building on Windows
4952

@@ -69,6 +72,9 @@ $ pacman -S base-devel
6972
$ ./configure
7073
$ make && make install
7174

75+
[repo]: https://github.com/rust-lang/rust
76+
[tarball]: https://static.rust-lang.org/dist/rustc-nightly-src.tar.gz
77+
7278
## Notes
7379

7480
Since the Rust compiler is written in Rust, it must be built by a
@@ -88,9 +94,9 @@ supported build environments that are most likely to work.
8894
Rust currently needs about 1.5 GiB of RAM to build without swapping; if it hits
8995
swap, it will take a very long time to build.
9096

91-
There is more advice about hacking on Rust in [CONTRIBUTING.md].
97+
There is a lot more documentation in the [wiki].
9298

93-
[CONTRIBUTING.md]: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md
99+
[wiki]: https://github.com/rust-lang/rust/wiki
94100

95101
## Getting help
96102

@@ -108,14 +114,6 @@ The Rust community congregates in a few places:
108114

109115
To contribute to Rust, please see [CONTRIBUTING.md](CONTRIBUTING.md).
110116

111-
Rust has an [IRC] culture and most real-time collaboration happens in a
112-
variety of channels on Mozilla's IRC network, irc.mozilla.org. The
113-
most popular channel is [#rust], a venue for general discussion about
114-
Rust, and a good place to ask for help,
115-
116-
[IRC]: https://en.wikipedia.org/wiki/Internet_Relay_Chat
117-
[#rust]: irc://irc.mozilla.org/rust
118-
119117
## License
120118

121119
Rust is primarily distributed under the terms of both the MIT license

branches/tmp/configure

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1056,7 +1056,6 @@ do
10561056
make_dir $h/test/run-pass-fulldeps
10571057
make_dir $h/test/run-fail
10581058
make_dir $h/test/compile-fail
1059-
make_dir $h/test/parse-fail
10601059
make_dir $h/test/compile-fail-fulldeps
10611060
make_dir $h/test/bench
10621061
make_dir $h/test/perf

branches/tmp/mk/tests.mk

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,12 @@ check-notidy: cleantmptestlogs cleantestlibs all check-stage2
174174
check-lite: cleantestlibs cleantmptestlogs \
175175
$(foreach crate,$(TEST_TARGET_CRATES),check-stage2-$(crate)) \
176176
check-stage2-rpass check-stage2-rpass-valgrind \
177-
check-stage2-rfail check-stage2-cfail check-stage2-pfail check-stage2-rmake
177+
check-stage2-rfail check-stage2-cfail check-stage2-rmake
178178
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
179179

180180
# Only check the 'reference' tests: rpass/cfail/rfail/rmake.
181181
check-ref: cleantestlibs cleantmptestlogs check-stage2-rpass check-stage2-rpass-valgrind \
182-
check-stage2-rfail check-stage2-cfail check-stage2-pfail check-stage2-rmake
182+
check-stage2-rfail check-stage2-cfail check-stage2-rmake
183183
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
184184

185185
# Only check the docs.
@@ -291,7 +291,6 @@ check-stage$(1)-T-$(2)-H-$(3)-exec: \
291291
check-stage$(1)-T-$(2)-H-$(3)-rpass-exec \
292292
check-stage$(1)-T-$(2)-H-$(3)-rfail-exec \
293293
check-stage$(1)-T-$(2)-H-$(3)-cfail-exec \
294-
check-stage$(1)-T-$(2)-H-$(3)-pfail-exec \
295294
check-stage$(1)-T-$(2)-H-$(3)-rpass-valgrind-exec \
296295
check-stage$(1)-T-$(2)-H-$(3)-rpass-full-exec \
297296
check-stage$(1)-T-$(2)-H-$(3)-cfail-full-exec \
@@ -471,8 +470,7 @@ RPASS_VALGRIND_TESTS := $(RPASS_VALGRIND_RS)
471470
RPASS_FULL_TESTS := $(RPASS_FULL_RS)
472471
CFAIL_FULL_TESTS := $(CFAIL_FULL_RS)
473472
RFAIL_TESTS := $(RFAIL_RS)
474-
CFAIL_TESTS := $(CFAIL_RS)
475-
PFAIL_TESTS := $(PFAIL_RS)
473+
CFAIL_TESTS := $(CFAIL_RS) $(PFAIL_RS)
476474
BENCH_TESTS := $(BENCH_RS)
477475
PERF_TESTS := $(PERF_RS)
478476
PRETTY_TESTS := $(PRETTY_RS)
@@ -510,11 +508,6 @@ CTEST_BUILD_BASE_cfail = compile-fail
510508
CTEST_MODE_cfail = compile-fail
511509
CTEST_RUNTOOL_cfail = $(CTEST_RUNTOOL)
512510

513-
CTEST_SRC_BASE_pfail = parse-fail
514-
CTEST_BUILD_BASE_pfail = parse-fail
515-
CTEST_MODE_pfail = parse-fail
516-
CTEST_RUNTOOL_pfail = $(CTEST_RUNTOOL)
517-
518511
CTEST_SRC_BASE_bench = bench
519512
CTEST_BUILD_BASE_bench = bench
520513
CTEST_MODE_bench = run-pass
@@ -637,7 +630,6 @@ CTEST_DEPS_rpass-full_$(1)-T-$(2)-H-$(3) = $$(RPASS_FULL_TESTS) $$(CSREQ$(1)_T_$
637630
CTEST_DEPS_cfail-full_$(1)-T-$(2)-H-$(3) = $$(CFAIL_FULL_TESTS) $$(CSREQ$(1)_T_$(3)_H_$(3)) $$(SREQ$(1)_T_$(2)_H_$(3))
638631
CTEST_DEPS_rfail_$(1)-T-$(2)-H-$(3) = $$(RFAIL_TESTS)
639632
CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $$(CFAIL_TESTS)
640-
CTEST_DEPS_pfail_$(1)-T-$(2)-H-$(3) = $$(PFAIL_TESTS)
641633
CTEST_DEPS_bench_$(1)-T-$(2)-H-$(3) = $$(BENCH_TESTS)
642634
CTEST_DEPS_perf_$(1)-T-$(2)-H-$(3) = $$(PERF_TESTS)
643635
CTEST_DEPS_debuginfo-gdb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_GDB_TESTS)
@@ -706,7 +698,7 @@ endif
706698

707699
endef
708700

709-
CTEST_NAMES = rpass rpass-valgrind rpass-full cfail-full rfail cfail pfail bench perf debuginfo-gdb debuginfo-lldb codegen
701+
CTEST_NAMES = rpass rpass-valgrind rpass-full cfail-full rfail cfail bench perf debuginfo-gdb debuginfo-lldb codegen
710702

711703
$(foreach host,$(CFG_HOST), \
712704
$(eval $(foreach target,$(CFG_TARGET), \
@@ -865,7 +857,6 @@ TEST_GROUPS = \
865857
cfail-full \
866858
rfail \
867859
cfail \
868-
pfail \
869860
bench \
870861
perf \
871862
rmake \

branches/tmp/src/compiletest/common.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use std::str::FromStr;
1515
#[derive(Clone, Copy, PartialEq, Debug)]
1616
pub enum Mode {
1717
CompileFail,
18-
ParseFail,
1918
RunFail,
2019
RunPass,
2120
RunPassValgrind,
@@ -30,7 +29,6 @@ impl FromStr for Mode {
3029
fn from_str(s: &str) -> Result<Mode, ()> {
3130
match s {
3231
"compile-fail" => Ok(CompileFail),
33-
"parse-fail" => Ok(ParseFail),
3432
"run-fail" => Ok(RunFail),
3533
"run-pass" => Ok(RunPass),
3634
"run-pass-valgrind" => Ok(RunPassValgrind),
@@ -47,7 +45,6 @@ impl fmt::Display for Mode {
4745
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4846
fmt::Display::fmt(match *self {
4947
CompileFail => "compile-fail",
50-
ParseFail => "parse-fail",
5148
RunFail => "run-fail",
5249
RunPass => "run-pass",
5350
RunPassValgrind => "run-pass-valgrind",

branches/tmp/src/compiletest/compiletest.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#![feature(test)]
2222
#![feature(unicode)]
2323
#![feature(env)]
24-
#![feature(core)]
2524

2625
#![deny(warnings)]
2726

@@ -73,7 +72,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
7372
reqopt("", "aux-base", "directory to find auxiliary test files", "PATH"),
7473
reqopt("", "stage-id", "the target-stage identifier", "stageN-TARGET"),
7574
reqopt("", "mode", "which sort of compile tests to run",
76-
"(compile-fail|parse-fail|run-fail|run-pass|run-pass-valgrind|pretty|debug-info)"),
75+
"(compile-fail|run-fail|run-pass|run-pass-valgrind|pretty|debug-info)"),
7776
optflag("", "ignored", "run tests marked as ignored"),
7877
optopt("", "runtool", "supervisor program to run tests under \
7978
(eg. emulator, valgrind)", "PROGRAM"),

branches/tmp/src/compiletest/runtest.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use self::TargetLocation::*;
1212

1313
use common::Config;
14-
use common::{CompileFail, ParseFail, Pretty, RunFail, RunPass, RunPassValgrind, DebugInfoGdb};
14+
use common::{CompileFail, Pretty, RunFail, RunPass, RunPassValgrind, DebugInfoGdb};
1515
use common::{Codegen, DebugInfoLldb};
1616
use errors;
1717
use header::TestProps;
@@ -66,7 +66,6 @@ pub fn run_metrics(config: Config, testfile: String, mm: &mut MetricMap) {
6666
debug!("loaded props");
6767
match config.mode {
6868
CompileFail => run_cfail_test(&config, &props, &testfile),
69-
ParseFail => run_cfail_test(&config, &props, &testfile),
7069
RunFail => run_rfail_test(&config, &props, &testfile),
7170
RunPass => run_rpass_test(&config, &props, &testfile),
7271
RunPassValgrind => run_valgrind_test(&config, &props, &testfile),
@@ -89,7 +88,7 @@ fn run_cfail_test(config: &Config, props: &TestProps, testfile: &Path) {
8988
let proc_res = compile_test(config, props, testfile);
9089

9190
if proc_res.status.success() {
92-
fatal_proc_rec(&format!("{} test compiled successfully!", config.mode)[],
91+
fatal_proc_rec("compile-fail test compiled successfully!",
9392
&proc_res);
9493
}
9594

@@ -1134,7 +1133,7 @@ fn compile_test_(config: &Config, props: &TestProps,
11341133
// FIXME (#9639): This needs to handle non-utf8 paths
11351134
let mut link_args = vec!("-L".to_string(),
11361135
aux_dir.as_str().unwrap().to_string());
1137-
link_args.extend(extra_args.iter().cloned());
1136+
link_args.extend(extra_args.iter().map(|s| s.clone()));
11381137
let args = make_compile_args(config,
11391138
props,
11401139
link_args,

branches/tmp/src/doc/trpl/ffi.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -435,8 +435,8 @@ extern {
435435
}
436436
437437
fn main() {
438-
let prompt = CString::new("[my-awesome-shell] $").unwrap();
439-
unsafe {
438+
let prompt = CString::from_slice(b"[my-awesome-shell] $");
439+
unsafe {
440440
rl_prompt = prompt.as_ptr();
441441
442442
println!("{:?}", rl_prompt);
@@ -541,6 +541,6 @@ pub extern fn hello_rust() -> *const u8 {
541541

542542
The `extern` makes this function adhere to the C calling convention, as
543543
discussed above in "[Foreign Calling
544-
Conventions](ffi.html#foreign-calling-conventions)". The `no_mangle`
544+
Conventions](guide-ffi.html#foreign-calling-conventions)". The `no_mangle`
545545
attribute turns off Rust's name mangling, so that it is easier to link to.
546546

branches/tmp/src/liballoc/arc.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -605,19 +605,11 @@ impl<T: Default + Sync + Send> Default for Arc<T> {
605605
fn default() -> Arc<T> { Arc::new(Default::default()) }
606606
}
607607

608-
#[cfg(stage0)]
609608
impl<H: Hasher, T: Hash<H>> Hash<H> for Arc<T> {
610609
fn hash(&self, state: &mut H) {
611610
(**self).hash(state)
612611
}
613612
}
614-
#[cfg(not(stage0))]
615-
#[stable(feature = "rust1", since = "1.0.0")]
616-
impl<T: Hash> Hash for Arc<T> {
617-
fn hash<H: Hasher>(&self, state: &mut H) {
618-
(**self).hash(state)
619-
}
620-
}
621613

622614
#[cfg(test)]
623615
mod tests {

branches/tmp/src/liballoc/boxed.rs

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,13 @@
1010

1111
//! A pointer type for heap allocation.
1212
//!
13-
//! `Box<T>`, casually referred to as a 'box', provides the simplest form of
14-
//! heap allocation in Rust. Boxes provide ownership for this allocation, and
15-
//! drop their contents when they go out of scope.
13+
//! `Box<T>`, casually referred to as a 'box', provides the simplest form of heap allocation in
14+
//! Rust. Boxes provide ownership for this allocation, and drop their contents when they go out of
15+
//! scope.
1616
//!
17-
//! Boxes are useful in two situations: recursive data structures, and
18-
//! occasionally when returning data. [The Pointer chapter of the
19-
//! Book](../../../book/pointers.html#best-practices-1) explains these cases in
20-
//! detail.
17+
//! Boxes are useful in two situations: recursive data structures, and occasionally when returning
18+
//! data. [The Pointer chapter of the Book](../../../book/pointers.html#best-practices-1) explains
19+
//! these cases in detail.
2120
//!
2221
//! # Examples
2322
//!
@@ -59,8 +58,8 @@ use core::ops::{Deref, DerefMut};
5958
use core::ptr::Unique;
6059
use core::raw::TraitObject;
6160

62-
/// A value that represents the heap. This is the default place that the `box`
63-
/// keyword allocates into when no place is supplied.
61+
/// A value that represents the heap. This is the default place that the `box` keyword allocates
62+
/// into when no place is supplied.
6463
///
6564
/// The following two examples are equivalent:
6665
///
@@ -220,20 +219,12 @@ impl<T: ?Sized + Ord> Ord for Box<T> {
220219
#[stable(feature = "rust1", since = "1.0.0")]
221220
impl<T: ?Sized + Eq> Eq for Box<T> {}
222221

223-
#[cfg(stage0)]
224222
impl<S: hash::Hasher, T: ?Sized + Hash<S>> Hash<S> for Box<T> {
225223
#[inline]
226224
fn hash(&self, state: &mut S) {
227225
(**self).hash(state);
228226
}
229227
}
230-
#[cfg(not(stage0))]
231-
#[stable(feature = "rust1", since = "1.0.0")]
232-
impl<T: ?Sized + Hash> Hash for Box<T> {
233-
fn hash<H: hash::Hasher>(&self, state: &mut H) {
234-
(**self).hash(state);
235-
}
236-
}
237228

238229
/// Extension methods for an owning `Any` trait object.
239230
#[unstable(feature = "alloc",

branches/tmp/src/liballoc/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
#![feature(unboxed_closures)]
7474
#![feature(unsafe_no_drop_flag)]
7575
#![feature(core)]
76+
#![feature(hash)]
7677
#![cfg_attr(all(not(feature = "external_funcs"), not(feature = "external_crate")),
7778
feature(libc))]
7879

branches/tmp/src/liballoc/rc.rs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ use core::clone::Clone;
150150
use core::cmp::{PartialEq, PartialOrd, Eq, Ord, Ordering};
151151
use core::default::Default;
152152
use core::fmt;
153-
use core::hash::{Hasher, Hash};
153+
use core::hash::{self, Hash};
154154
use core::marker;
155155
use core::mem::{transmute, min_align_of, size_of, forget};
156156
use core::nonzero::NonZero;
@@ -599,20 +599,12 @@ impl<T: Ord> Ord for Rc<T> {
599599
}
600600

601601
// FIXME (#18248) Make `T` `Sized?`
602-
#[cfg(stage0)]
603-
impl<S: Hasher, T: Hash<S>> Hash<S> for Rc<T> {
602+
impl<S: hash::Hasher, T: Hash<S>> Hash<S> for Rc<T> {
604603
#[inline]
605604
fn hash(&self, state: &mut S) {
606605
(**self).hash(state);
607606
}
608607
}
609-
#[cfg(not(stage0))]
610-
#[stable(feature = "rust1", since = "1.0.0")]
611-
impl<T: Hash> Hash for Rc<T> {
612-
fn hash<H: Hasher>(&self, state: &mut H) {
613-
(**self).hash(state);
614-
}
615-
}
616608

617609
#[stable(feature = "rust1", since = "1.0.0")]
618610
impl<T: fmt::Display> fmt::Display for Rc<T> {

0 commit comments

Comments
 (0)