Skip to content

Commit ae8e0e4

Browse files
committed
---
yaml --- r: 189406 b: refs/heads/master c: 12b846a h: refs/heads/master v: v3
1 parent c0ce6cf commit ae8e0e4

File tree

232 files changed

+3470
-1518
lines changed

Some content is hidden

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

232 files changed

+3470
-1518
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 17358d1d2152710feb911fe1c02fcaeba3de4b17
2+
refs/heads/master: 12b846ab80ca054d2fbfb0320d33badbd5ef0112
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 270a677d4d698916f5ad103f0afc3c070b8dbeb4
55
refs/heads/try: 649d35e4d830b27806705dc5352c86ab6d6fd1a1

trunk/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ The Rust community congregates in a few places:
115115

116116
## Contributing
117117

118-
To contribute to Rust, please see [CONTRIBUTING.md](CONTRIBUTING.md).
118+
To contribute to Rust, please see [CONTRIBUTING](CONTRIBUTING.md).
119119

120120
Rust has an [IRC] culture and most real-time collaboration happens in a
121121
variety of channels on Mozilla's IRC network, irc.mozilla.org. The
@@ -131,4 +131,4 @@ Rust is primarily distributed under the terms of both the MIT license
131131
and the Apache License (Version 2.0), with portions covered by various
132132
BSD-like licenses.
133133
134-
See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.
134+
See [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT), and [COPYRIGHT](COPYRIGHT) for details.

trunk/configure

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,10 @@ case $CFG_OSTYPE in
430430
CFG_CPUTYPE=x86_64
431431
;;
432432

433+
# Win 8 # uname -s on 64-bit cygwin does not contain WOW64, so simply use uname -m to detect arch (works in my install)
434+
CYGWIN_NT-6.3)
435+
CFG_OSTYPE=pc-windows-gnu
436+
;;
433437
# We do not detect other OS such as XP/2003 using 64 bit using uname.
434438
# If we want to in the future, we will need to use Cygwin - Chuck's csih helper in /usr/lib/csih/winProductName.exe or alternative.
435439
*)

trunk/mk/main.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ CFG_RELEASE_NUM=1.0.0
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
2020
# versions (section 9)
21-
CFG_PRERELEASE_VERSION=.2
21+
CFG_PRERELEASE_VERSION=
2222

2323
CFG_FILENAME_EXTRA=4e7c5e5c
2424

@@ -30,8 +30,8 @@ CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)
3030
CFG_DISABLE_UNSTABLE_FEATURES=1
3131
endif
3232
ifeq ($(CFG_RELEASE_CHANNEL),beta)
33-
CFG_RELEASE=$(CFG_RELEASE_NUM)-alpha$(CFG_PRERELEASE_VERSION)
34-
CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)-alpha$(CFG_PRERELEASE_VERSION)
33+
CFG_RELEASE=$(CFG_RELEASE_NUM)-beta(CFG_PRERELEASE_VERSION)
34+
CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)-beta(CFG_PRERELEASE_VERSION)
3535
CFG_DISABLE_UNSTABLE_FEATURES=1
3636
endif
3737
ifeq ($(CFG_RELEASE_CHANNEL),nightly)

trunk/mk/tests.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ TEST_SREQ$(1)_T_$(2)_H_$(3) = \
590590

591591
# The tests select when to use debug configuration on their own;
592592
# remove directive, if present, from CFG_RUSTC_FLAGS (issue #7898).
593-
CTEST_RUSTC_FLAGS := $$(subst --cfg ndebug,,$$(CFG_RUSTC_FLAGS))
593+
CTEST_RUSTC_FLAGS := $$(subst -C debug-assertions,,$$(CFG_RUSTC_FLAGS))
594594

595595
# The tests cannot be optimized while the rest of the compiler is optimized, so
596596
# filter out the optimization (if any) from rustc and then figure out if we need

trunk/src/compiletest/compiletest.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@
2222
#![feature(unicode)]
2323
#![feature(core)]
2424
#![feature(path)]
25-
#![feature(os)]
2625
#![feature(io)]
27-
#![feature(fs)]
2826
#![feature(net)]
27+
#![feature(path_ext)]
2928

3029
#![deny(warnings)]
3130

@@ -333,7 +332,7 @@ pub fn make_test<F>(config: &Config, testfile: &Path, f: F) -> test::TestDescAnd
333332
desc: test::TestDesc {
334333
name: make_test_name(config, testfile),
335334
ignore: header::is_test_ignored(config, testfile),
336-
should_fail: test::ShouldFail::No,
335+
should_panic: test::ShouldPanic::No,
337336
},
338337
testfn: f(),
339338
}

trunk/src/compiletest/runtest.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ use procsrv;
2020
use util::logv;
2121

2222
use std::env;
23-
use std::ffi::OsStr;
2423
use std::fmt;
2524
use std::fs::{self, File};
2625
use std::io::BufReader;
@@ -1323,7 +1322,7 @@ fn make_exe_name(config: &Config, testfile: &Path) -> PathBuf {
13231322
let mut f = output_base_name(config, testfile);
13241323
if !env::consts::EXE_SUFFIX.is_empty() {
13251324
let mut fname = f.file_name().unwrap().to_os_string();
1326-
fname.push_os_str(OsStr::from_str(env::consts::EXE_SUFFIX));
1325+
fname.push(env::consts::EXE_SUFFIX);
13271326
f.set_file_name(&fname);
13281327
}
13291328
f
@@ -1433,7 +1432,7 @@ fn make_out_name(config: &Config, testfile: &Path, extension: &str) -> PathBuf {
14331432
fn aux_output_dir_name(config: &Config, testfile: &Path) -> PathBuf {
14341433
let f = output_base_name(config, testfile);
14351434
let mut fname = f.file_name().unwrap().to_os_string();
1436-
fname.push_os_str(OsStr::from_str("libaux"));
1435+
fname.push("libaux");
14371436
f.with_file_name(&fname)
14381437
}
14391438

@@ -1647,8 +1646,8 @@ fn append_suffix_to_stem(p: &Path, suffix: &str) -> PathBuf {
16471646
p.to_path_buf()
16481647
} else {
16491648
let mut stem = p.file_stem().unwrap().to_os_string();
1650-
stem.push_os_str(OsStr::from_str("-"));
1651-
stem.push_os_str(OsStr::from_str(suffix));
1649+
stem.push("-");
1650+
stem.push(suffix);
16521651
p.with_file_name(&stem)
16531652
}
16541653
}

trunk/src/doc/grammar.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ field_expr : expr '.' ident ;
514514
### Array expressions
515515

516516
```antlr
517-
array_expr : '[' "mut" ? vec_elems? ']' ;
517+
array_expr : '[' "mut" ? array_elems? ']' ;
518518
519519
array_elems : [expr [',' expr]*] | [expr ',' ".." expr] ;
520520
```

trunk/src/doc/guide-tasks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
% The (old) Rust Threads and Communication Guide
22

33
This content has moved into
4-
[the Rust Programming Language book](book/tasks.html).
4+
[the Rust Programming Language book](book/concurrency.html).

trunk/src/doc/intro.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -389,11 +389,11 @@ safe concurrent programs.
389389
Here's an example of a concurrent Rust program:
390390
391391
```{rust}
392-
use std::thread::Thread;
392+
use std::thread;
393393
394394
fn main() {
395395
let guards: Vec<_> = (0..10).map(|_| {
396-
Thread::scoped(|| {
396+
thread::scoped(|| {
397397
println!("Hello, world!");
398398
})
399399
}).collect();
@@ -421,16 +421,16 @@ problem.
421421
Let's see an example. This Rust code will not compile:
422422
423423
```{rust,ignore}
424-
use std::thread::Thread;
424+
use std::thread;
425425
426426
fn main() {
427427
let mut numbers = vec![1, 2, 3];
428428
429429
let guards: Vec<_> = (0..3).map(|i| {
430-
Thread::scoped(move || {
430+
thread::scoped(move || {
431431
numbers[i] += 1;
432432
println!("numbers[{}] is {}", i, numbers[i]);
433-
});
433+
})
434434
}).collect();
435435
}
436436
```
@@ -439,10 +439,10 @@ It gives us this error:
439439
440440
```text
441441
7:25: 10:6 error: cannot move out of captured outer variable in an `FnMut` closure
442-
7 Thread::scoped(move || {
442+
7 thread::scoped(move || {
443443
8 numbers[i] += 1;
444444
9 println!("numbers[{}] is {}", i, numbers[i]);
445-
10 });
445+
10 })
446446
error: aborting due to previous error
447447
```
448448
@@ -471,19 +471,19 @@ mutation doesn't cause a data race.
471471
Here's what using an Arc with a Mutex looks like:
472472
473473
```{rust}
474-
use std::thread::Thread;
474+
use std::thread;
475475
use std::sync::{Arc,Mutex};
476476
477477
fn main() {
478478
let numbers = Arc::new(Mutex::new(vec![1, 2, 3]));
479479
480480
let guards: Vec<_> = (0..3).map(|i| {
481481
let number = numbers.clone();
482-
Thread::scoped(move || {
482+
thread::scoped(move || {
483483
let mut array = number.lock().unwrap();
484484
array[i] += 1;
485485
println!("numbers[{}] is {}", i, array[i]);
486-
});
486+
})
487487
}).collect();
488488
}
489489
```
@@ -535,15 +535,15 @@ As an example, Rust's ownership system is _entirely_ at compile time. The
535535
safety check that makes this an error about moved values:
536536
537537
```{rust,ignore}
538-
use std::thread::Thread;
538+
use std::thread;
539539
540540
fn main() {
541541
let numbers = vec![1, 2, 3];
542542
543543
let guards: Vec<_> = (0..3).map(|i| {
544-
Thread::scoped(move || {
544+
thread::scoped(move || {
545545
println!("{}", numbers[i]);
546-
});
546+
})
547547
}).collect();
548548
}
549549
```

trunk/src/doc/reference.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2429,6 +2429,10 @@ The currently implemented features of the reference compiler are:
24292429
so that new attributes can be added in a bacwards compatible
24302430
manner (RFC 572).
24312431

2432+
* `custom_derive` - Allows the use of `#[derive(Foo,Bar)]` as sugar for
2433+
`#[derive_Foo] #[derive_Bar]`, which can be user-defined syntax
2434+
extensions.
2435+
24322436
* `intrinsics` - Allows use of the "rust-intrinsics" ABI. Compiler intrinsics
24332437
are inherently unstable and no promise about them is made.
24342438

@@ -2843,7 +2847,7 @@ automatically dereferenced to make the field access possible.
28432847
### Array expressions
28442848

28452849
```{.ebnf .gram}
2846-
array_expr : '[' "mut" ? vec_elems? ']' ;
2850+
array_expr : '[' "mut" ? array_elems? ']' ;
28472851
28482852
array_elems : [expr [',' expr]*] | [expr ';' expr] ;
28492853
```
@@ -3003,10 +3007,6 @@ A type cast expression is denoted with the binary operator `as`.
30033007
Executing an `as` expression casts the value on the left-hand side to the type
30043008
on the right-hand side.
30053009

3006-
A numeric value can be cast to any numeric type. A raw pointer value can be
3007-
cast to or from any integral type or raw pointer type. Any other cast is
3008-
unsupported and will fail to compile.
3009-
30103010
An example of an `as` expression:
30113011

30123012
```

trunk/src/doc/style/errors/ergonomics.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ fn write_info(info: &Info) -> Result<(), IoError> {
2222
let mut file = File::open_mode(&Path::new("my_best_friends.txt"),
2323
Open, Write);
2424
// Early return on error
25-
try!(file.write_line(format!("name: {}", info.name).as_slice()));
26-
try!(file.write_line(format!("age: {}", info.age).as_slice()));
27-
try!(file.write_line(format!("rating: {}", info.rating).as_slice()));
25+
try!(file.write_line(&format!("name: {}", info.name)));
26+
try!(file.write_line(&format!("age: {}", info.age)));
27+
try!(file.write_line(&format!("rating: {}", info.rating)));
2828
return Ok(());
2929
}
3030
```
@@ -44,15 +44,15 @@ fn write_info(info: &Info) -> Result<(), IoError> {
4444
let mut file = File::open_mode(&Path::new("my_best_friends.txt"),
4545
Open, Write);
4646
// Early return on error
47-
match file.write_line(format!("name: {}", info.name).as_slice()) {
47+
match file.write_line(&format!("name: {}", info.name)) {
4848
Ok(_) => (),
4949
Err(e) => return Err(e)
5050
}
51-
match file.write_line(format!("age: {}", info.age).as_slice()) {
51+
match file.write_line(&format!("age: {}", info.age)) {
5252
Ok(_) => (),
5353
Err(e) => return Err(e)
5454
}
55-
return file.write_line(format!("rating: {}", info.rating).as_slice());
55+
return file.write_line(&format!("rating: {}", info.rating));
5656
}
5757
```
5858

trunk/src/doc/trpl/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
* [Standard Input](standard-input.md)
1717
* [Guessing Game](guessing-game.md)
1818
* [II: Intermediate Rust](intermediate.md)
19-
* [More Strings](more-strings.md)
2019
* [Crates and Modules](crates-and-modules.md)
2120
* [Testing](testing.md)
2221
* [Pointers](pointers.md)
2322
* [Ownership](ownership.md)
23+
* [More Strings](more-strings.md)
2424
* [Patterns](patterns.md)
2525
* [Method Syntax](method-syntax.md)
2626
* [Closures](closures.md)

trunk/src/doc/trpl/arrays-vectors-and-slices.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ let v = vec![1, 2, 3]; // v: Vec<i32>
6060
brackets `[]` with `vec!`. Rust allows you to use either in either situation,
6161
this is just convention.)
6262

63+
There's an alternate form of `vec!` for repeating an initial value:
64+
65+
```
66+
let v = vec![0; 10]; // ten zeroes
67+
```
68+
6369
You can get the length of, iterate over, and subscript vectors just like
6470
arrays. In addition, (mutable) vectors can grow automatically:
6571

trunk/src/doc/trpl/concurrency.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -223,15 +223,8 @@ method which has this signature:
223223
fn lock(&self) -> LockResult<MutexGuard<T>>
224224
```
225225

226-
If we [look at the code for MutexGuard](https://github.com/rust-lang/rust/blob/ca4b9674c26c1de07a2042cb68e6a062d7184cef/src/libstd/sync/mutex.rs#L172), we'll see
227-
this:
228-
229-
```ignore
230-
__marker: marker::NoSend,
231-
```
232-
233-
Because our guard is `NoSend`, it's not `Send`. Which means we can't actually
234-
transfer the guard across thread boundaries, which gives us our error.
226+
Because `Send` is not implemented for `MutexGuard<T>`, we can't transfer the
227+
guard across thread boundaries, which gives us our error.
235228

236229
We can use `Arc<T>` to fix this. Here's the working version:
237230

0 commit comments

Comments
 (0)