Skip to content

Commit b60cdfa

Browse files
committed
---
yaml --- r: 189275 b: refs/heads/master c: 65b4eda h: refs/heads/master i: 189273: 832e4ba 189271: 79ab73f v: v3
1 parent e886c08 commit b60cdfa

File tree

491 files changed

+1940
-3271
lines changed

Some content is hidden

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

491 files changed

+1940
-3271
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: 31af63748bbe62adab6bed6008deca67911bd0d2
2+
refs/heads/master: 65b4eda5a6f270f5c30beec66c59825aba0524b9
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 270a677d4d698916f5ad103f0afc3c070b8dbeb4
55
refs/heads/try: 649d35e4d830b27806705dc5352c86ab6d6fd1a1

trunk/configure

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -697,17 +697,15 @@ probe CFG_ADB adb
697697

698698
if [ ! -z "$CFG_PANDOC" ]
699699
then
700-
PV_MAJOR_MINOR=$(pandoc --version | grep '^pandoc' |
701-
# Extract "MAJOR MINOR" from Pandoc's version number
702-
sed -E 's/pandoc(.exe)? ([0-9]+)\.([0-9]+).*/\2 \3/')
700+
PV_MAJOR_MINOR=$(pandoc --version | grep '^pandoc\(.exe\)\? ' |
701+
# extract the first 2 version fields, ignore everything else
702+
sed 's/pandoc\(.exe\)\? \([0-9]*\)\.\([0-9]*\).*/\2 \3/')
703703

704704
MIN_PV_MAJOR="1"
705705
MIN_PV_MINOR="9"
706-
707706
# these patterns are shell globs, *not* regexps
708707
PV_MAJOR=${PV_MAJOR_MINOR% *}
709708
PV_MINOR=${PV_MAJOR_MINOR#* }
710-
711709
if [ "$PV_MAJOR" -lt "$MIN_PV_MAJOR" ] || [ "$PV_MINOR" -lt "$MIN_PV_MINOR" ]
712710
then
713711
step_msg "pandoc $PV_MAJOR.$PV_MINOR is too old. Need at least $MIN_PV_MAJOR.$MIN_PV_MINOR. Disabling"

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=
21+
CFG_PRERELEASE_VERSION=.2
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)-beta(CFG_PRERELEASE_VERSION)
34-
CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)-beta(CFG_PRERELEASE_VERSION)
33+
CFG_RELEASE=$(CFG_RELEASE_NUM)-alpha$(CFG_PRERELEASE_VERSION)
34+
CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)-alpha$(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 -C debug-assertions,,$$(CFG_RUSTC_FLAGS))
593+
CTEST_RUSTC_FLAGS := $$(subst --cfg ndebug,,$$(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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@
2222
#![feature(unicode)]
2323
#![feature(core)]
2424
#![feature(path)]
25+
#![feature(os)]
2526
#![feature(io)]
27+
#![feature(fs)]
2628
#![feature(net)]
27-
#![feature(path_ext)]
2829

2930
#![deny(warnings)]
3031

trunk/src/compiletest/runtest.rs

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

2222
use std::env;
23+
use std::ffi::OsStr;
2324
use std::fmt;
2425
use std::fs::{self, File};
2526
use std::io::BufReader;
@@ -1322,7 +1323,7 @@ fn make_exe_name(config: &Config, testfile: &Path) -> PathBuf {
13221323
let mut f = output_base_name(config, testfile);
13231324
if !env::consts::EXE_SUFFIX.is_empty() {
13241325
let mut fname = f.file_name().unwrap().to_os_string();
1325-
fname.push(env::consts::EXE_SUFFIX);
1326+
fname.push_os_str(OsStr::from_str(env::consts::EXE_SUFFIX));
13261327
f.set_file_name(&fname);
13271328
}
13281329
f
@@ -1432,7 +1433,7 @@ fn make_out_name(config: &Config, testfile: &Path, extension: &str) -> PathBuf {
14321433
fn aux_output_dir_name(config: &Config, testfile: &Path) -> PathBuf {
14331434
let f = output_base_name(config, testfile);
14341435
let mut fname = f.file_name().unwrap().to_os_string();
1435-
fname.push("libaux");
1436+
fname.push_os_str(OsStr::from_str("libaux"));
14361437
f.with_file_name(&fname)
14371438
}
14381439

@@ -1646,8 +1647,8 @@ fn append_suffix_to_stem(p: &Path, suffix: &str) -> PathBuf {
16461647
p.to_path_buf()
16471648
} else {
16481649
let mut stem = p.file_stem().unwrap().to_os_string();
1649-
stem.push("-");
1650-
stem.push(suffix);
1650+
stem.push_os_str(OsStr::from_str("-"));
1651+
stem.push_os_str(OsStr::from_str(suffix));
16511652
p.with_file_name(&stem)
16521653
}
16531654
}

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/concurrency.html).
4+
[the Rust Programming Language book](book/tasks.html).

trunk/src/doc/intro.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -428,8 +428,7 @@ fn main() {
428428
429429
let guards: Vec<_> = (0..3).map(|i| {
430430
Thread::scoped(move || {
431-
numbers[i] += 1;
432-
println!("numbers[{}] is {}", i, numbers[i]);
431+
for j in 0..3 { numbers[j] += 1 }
433432
});
434433
}).collect();
435434
}
@@ -438,12 +437,10 @@ fn main() {
438437
It gives us this error:
439438
440439
```text
441-
7:25: 10:6 error: cannot move out of captured outer variable in an `FnMut` closure
442-
7 Thread::scoped(move || {
443-
8 numbers[i] += 1;
444-
9 println!("numbers[{}] is {}", i, numbers[i]);
445-
10 });
446-
error: aborting due to previous error
440+
7:29: 9:10 error: cannot move out of captured outer variable in an `FnMut` closure
441+
7 Thread::scoped(move || {
442+
8 for j in 0..3 { numbers[j] += 1 }
443+
9 });
447444
```
448445
449446
It mentions that "captured outer variable in an `FnMut` closure".

trunk/src/doc/reference.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2555,14 +2555,6 @@ The currently implemented features of the reference compiler are:
25552555
types, e.g. as the return type of a public function.
25562556
This capability may be removed in the future.
25572557

2558-
* `allow_internal_unstable` - Allows `macro_rules!` macros to be tagged with the
2559-
`#[allow_internal_unstable]` attribute, designed
2560-
to allow `std` macros to call
2561-
`#[unstable]`/feature-gated functionality
2562-
internally without imposing on callers
2563-
(i.e. making them behave like function calls in
2564-
terms of encapsulation).
2565-
25662558
If a feature is promoted to a language feature, then all existing programs will
25672559
start to receive compilation warnings about #[feature] directives which enabled
25682560
the new feature (because the directive is no longer necessary). However, if a

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,6 @@ 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-
6963
You can get the length of, iterate over, and subscript vectors just like
7064
arrays. In addition, (mutable) vectors can grow automatically:
7165

trunk/src/doc/trpl/compound-data-types.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ strings, but next, let's talk about some more complicated ways of storing data.
66

77
## Tuples
88

9-
The first compound data type we're going to talk about is called the *tuple*.
10-
A tuple is an ordered list of fixed size. Like this:
9+
The first compound data type we're going to talk about are called *tuples*.
10+
Tuples are an ordered list of a fixed size. Like this:
1111

1212
```rust
1313
let x = (1, "hello");
@@ -229,7 +229,7 @@ enum Character {
229229
```
230230

231231
An `enum` variant can be defined as most normal types. Below are some example
232-
types which also would be allowed in an `enum`.
232+
types have been listed which also would be allowed in an `enum`.
233233

234234
```rust
235235
struct Empty;

trunk/src/etc/tidy.py

Lines changed: 38 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import subprocess
1414
import re
1515
import os
16-
from licenseck import check_license
16+
from licenseck import *
1717
import snapshot
1818

1919
err = 0
@@ -22,8 +22,13 @@
2222
tab_flag = "ignore-tidy-tab"
2323
linelength_flag = "ignore-tidy-linelength"
2424

25-
interesting_files = ['.rs', '.py', '.js', '.sh', '.c', '.h']
26-
uninteresting_files = ['miniz.c', 'jquery', 'rust_android_dummy']
25+
# Be careful to support Python 2.4, 2.6, and 3.x here!
26+
config_proc = subprocess.Popen(["git", "config", "core.autocrlf"],
27+
stdout=subprocess.PIPE)
28+
result = config_proc.communicate()[0]
29+
30+
true = "true".encode('utf8')
31+
autocrlf = result.strip() == true if result is not None else False
2732

2833

2934
def report_error_name_no(name, no, s):
@@ -46,34 +51,6 @@ def do_license_check(name, contents):
4651
if not check_license(name, contents):
4752
report_error_name_no(name, 1, "incorrect license")
4853

49-
50-
def update_counts(current_name):
51-
global file_counts
52-
global count_other_linted_files
53-
54-
_, ext = os.path.splitext(current_name)
55-
56-
if ext in interesting_files:
57-
file_counts[ext] += 1
58-
else:
59-
count_other_linted_files += 1
60-
61-
62-
def interesting_file(f):
63-
if any(x in f for x in uninteresting_files):
64-
return False
65-
66-
return any(os.path.splitext(f)[1] == ext for ext in interesting_files)
67-
68-
69-
# Be careful to support Python 2.4, 2.6, and 3.x here!
70-
config_proc = subprocess.Popen(["git", "config", "core.autocrlf"],
71-
stdout=subprocess.PIPE)
72-
result = config_proc.communicate()[0]
73-
74-
true = "true".encode('utf8')
75-
autocrlf = result.strip() == true if result is not None else False
76-
7754
current_name = ""
7855
current_contents = ""
7956
check_tab = True
@@ -86,16 +63,28 @@ def interesting_file(f):
8663

8764
src_dir = sys.argv[1]
8865

89-
count_lines = 0
90-
count_non_blank_lines = 0
91-
count_other_linted_files = 0
66+
try:
67+
count_lines = 0
68+
count_non_blank_lines = 0
9269

93-
file_counts = {ext: 0 for ext in interesting_files}
70+
interesting_files = ['.rs', '.py', '.js', '.sh', '.c', '.h']
9471

95-
all_paths = set()
72+
file_counts = {ext: 0 for ext in interesting_files}
73+
file_counts['other'] = 0
74+
75+
def update_counts(current_name):
76+
global file_counts
77+
_, ext = os.path.splitext(current_name)
78+
79+
if ext in file_counts:
80+
file_counts[ext] += 1
81+
else:
82+
file_counts['other'] += 1
83+
84+
all_paths = set()
9685

97-
try:
9886
for (dirpath, dirnames, filenames) in os.walk(src_dir):
87+
9988
# Skip some third-party directories
10089
skippable_dirs = {
10190
'src/jemalloc',
@@ -114,6 +103,14 @@ def interesting_file(f):
114103
if any(d in dirpath for d in skippable_dirs):
115104
continue
116105

106+
def interesting_file(f):
107+
if "miniz.c" in f \
108+
or "jquery" in f \
109+
or "rust_android_dummy" in f:
110+
return False
111+
112+
return any(os.path.splitext(f)[1] == ext for ext in interesting_files)
113+
117114
file_names = [os.path.join(dirpath, f) for f in filenames
118115
if interesting_file(f)
119116
and not f.endswith("_gen.rs")
@@ -199,11 +196,10 @@ def interesting_file(f):
199196
report_err("UTF-8 decoding error " + str(e))
200197

201198
print
202-
for ext in sorted(file_counts, key=file_counts.get, reverse=True):
203-
print "* linted {} {} files".format(file_counts[ext], ext)
204-
print "* linted {} other files".format(count_other_linted_files)
205-
print "* total lines of code: {}".format(count_lines)
206-
print "* total non-blank lines of code: {}".format(count_non_blank_lines)
199+
for ext in file_counts:
200+
print "* linted " + str(file_counts[ext]) + " " + ext + " files"
201+
print "* total lines of code: " + str(count_lines)
202+
print "* total non-blank lines of code: " + str(count_non_blank_lines)
207203
print
208204

209205
sys.exit(err)

trunk/src/etc/unicode.py

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ def fetch(f):
8484
sys.stderr.write("cannot load %s" % f)
8585
exit(1)
8686

87-
def is_surrogate(n):
88-
return 0xD800 <= n <= 0xDFFF
87+
def is_valid_unicode(n):
88+
return 0 <= n <= 0xD7FF or 0xE000 <= n <= 0x10FFFF
8989

9090
def load_unicode_data(f):
9191
fetch(f)
@@ -96,28 +96,19 @@ def load_unicode_data(f):
9696
canon_decomp = {}
9797
compat_decomp = {}
9898

99-
udict = {};
100-
range_start = -1;
10199
for line in fileinput.input(f):
102-
data = line.split(';');
103-
if len(data) != 15:
100+
fields = line.split(";")
101+
if len(fields) != 15:
104102
continue
105-
cp = int(data[0], 16);
106-
if is_surrogate(cp):
107-
continue
108-
if range_start >= 0:
109-
for i in xrange(range_start, cp):
110-
udict[i] = data;
111-
range_start = -1;
112-
if data[1].endswith(", First>"):
113-
range_start = cp;
114-
continue;
115-
udict[cp] = data;
116-
117-
for code in udict:
118-
[code_org, name, gencat, combine, bidi,
103+
[code, name, gencat, combine, bidi,
119104
decomp, deci, digit, num, mirror,
120-
old, iso, upcase, lowcase, titlecase ] = udict[code];
105+
old, iso, upcase, lowcase, titlecase ] = fields
106+
107+
code_org = code
108+
code = int(code, 16)
109+
110+
if not is_valid_unicode(code):
111+
continue
121112

122113
# generate char to char direct common and simple conversions
123114
# uppercase to lowercase

0 commit comments

Comments
 (0)