Skip to content

Commit 5ec5977

Browse files
committed
---
yaml --- r: 184239 b: refs/heads/tmp c: 204e2bd h: refs/heads/master i: 184237: 628ac8b 184235: ebce852 184231: c8abcae 184223: 6198f86 v: v3
1 parent 172020c commit 5ec5977

File tree

601 files changed

+3171
-8725
lines changed

Some content is hidden

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

601 files changed

+3171
-8725
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: 5250a82f7917d6f9ec590e7e762bfd036e21ef74
37+
refs/heads/tmp: 204e2bd442f1fe7db7201c048300dbf66f123e30

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/intro.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ use std::sync::{Arc,Mutex};
480480
fn main() {
481481
let numbers = Arc::new(Mutex::new(vec![1, 2, 3]));
482482
483-
for i in 0..3 {
483+
for i in 0us..3 {
484484
let number = numbers.clone();
485485
Thread::spawn(move || {
486486
let mut array = number.lock().unwrap();
@@ -541,7 +541,7 @@ use std::thread::Thread;
541541
fn main() {
542542
let vec = vec![1, 2, 3];
543543
544-
for i in 0..3 {
544+
for i in 0us..3 {
545545
Thread::spawn(move || {
546546
println!("{}", vec[i]);
547547
});

branches/tmp/src/doc/reference.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -465,9 +465,13 @@ An _integer literal_ has one of four forms:
465465

466466
Like any literal, an integer literal may be followed (immediately,
467467
without any spaces) by an _integer suffix_, which forcibly sets the
468-
type of the literal. The integer suffix must be the name of one of the
469-
integral types: `u8`, `i8`, `u16`, `i16`, `u32`, `i32`, `u64`, `i64`,
470-
`isize`, or `usize`.
468+
type of the literal. There are 10 valid values for an integer suffix:
469+
470+
* Each of the signed and unsigned machine types `u8`, `i8`,
471+
`u16`, `i16`, `u32`, `i32`, `u64` and `i64`
472+
give the literal the corresponding machine type.
473+
* The `is` and `us` suffixes give the literal type `isize` or `usize`,
474+
respectively.
471475

472476
The type of an _unsuffixed_ integer literal is determined by type inference.
473477
If an integer type can be _uniquely_ determined from the surrounding program
@@ -485,7 +489,7 @@ Examples of integer literals of various forms:
485489
0xff_u8; // type u8
486490
0o70_i16; // type i16
487491
0b1111_1111_1001_0000_i32; // type i32
488-
0usize; // type usize
492+
0us; // type usize
489493
```
490494

491495
##### Floating-point literals
@@ -997,8 +1001,8 @@ fn foo<T>(_: T){}
9971001
fn bar(map1: HashMap<String, usize>, map2: hash_map::HashMap<String, usize>){}
9981002
9991003
fn main() {
1000-
// Equivalent to 'std::iter::range_step(0, 10, 2);'
1001-
range_step(0, 10, 2);
1004+
// Equivalent to 'std::iter::range_step(0us, 10, 2);'
1005+
range_step(0us, 10, 2);
10021006
10031007
// Equivalent to 'foo(vec![std::option::Option::Some(1.0f64),
10041008
// std::option::Option::None]);'
@@ -3122,7 +3126,7 @@ conditional expression evaluates to `false`, the `while` expression completes.
31223126
An example:
31233127

31243128
```
3125-
let mut i = 0;
3129+
let mut i = 0us;
31263130
31273131
while i < 10 {
31283132
println!("hello");
@@ -3202,7 +3206,7 @@ An example of a for loop over a series of integers:
32023206

32033207
```
32043208
# fn bar(b:usize) { }
3205-
for i in 0..256 {
3209+
for i in 0us..256 {
32063210
bar(i);
32073211
}
32083212
```

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ use std::time::Duration;
244244
fn main() {
245245
let data = Arc::new(Mutex::new(vec![1u32, 2, 3]));
246246
247-
for i in 0..2 {
247+
for i in 0us..2 {
248248
let data = data.clone();
249249
thread::spawn(move || {
250250
let mut data = data.lock().unwrap();
@@ -267,7 +267,7 @@ thread more closely:
267267
# use std::time::Duration;
268268
# fn main() {
269269
# let data = Arc::new(Mutex::new(vec![1u32, 2, 3]));
270-
# for i in 0..2 {
270+
# for i in 0us..2 {
271271
# let data = data.clone();
272272
thread::spawn(move || {
273273
let mut data = data.lock().unwrap();

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 {

0 commit comments

Comments
 (0)