Skip to content

Commit 450e854

Browse files
committed
---
yaml --- r: 170971 b: refs/heads/try c: 2404232 h: refs/heads/master i: 170969: 7a96e4f 170967: 25eac3d v: v3
1 parent 0d23e7b commit 450e854

File tree

712 files changed

+13423
-8309
lines changed

Some content is hidden

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

712 files changed

+13423
-8309
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 73a25f55ad748b4d3516417c711b99ce446591af
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 5b3cd3900ceda838f5798c30ab96ceb41f962534
5-
refs/heads/try: 0393a1602fd224adc36b62e7158f3b1ebb257afb
5+
refs/heads/try: 240423236906a2df976edd6065bbc595711b83c0
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
88
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596

branches/try/src/compiletest/common.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ impl FromStr for Mode {
4343
}
4444
}
4545

46-
impl fmt::String for Mode {
46+
impl fmt::Show for Mode {
4747
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
48-
fmt::String::fmt(match *self {
48+
let msg = match *self {
4949
CompileFail => "compile-fail",
5050
RunFail => "run-fail",
5151
RunPass => "run-pass",
@@ -54,13 +54,8 @@ impl fmt::String for Mode {
5454
DebugInfoGdb => "debuginfo-gdb",
5555
DebugInfoLldb => "debuginfo-lldb",
5656
Codegen => "codegen",
57-
}, f)
58-
}
59-
}
60-
61-
impl fmt::Show for Mode {
62-
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
63-
fmt::String::fmt(self, f)
57+
};
58+
msg.fmt(f)
6459
}
6560
}
6661

branches/try/src/compiletest/compiletest.rs

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,14 @@
1616
extern crate test;
1717
extern crate getopts;
1818

19+
#[cfg(stage0)]
20+
#[phase(plugin, link)]
21+
extern crate log;
22+
23+
#[cfg(not(stage0))]
1924
#[macro_use]
2025
extern crate log;
26+
2127
extern crate regex;
2228

2329
use std::os;
@@ -102,7 +108,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
102108
let matches =
103109
&match getopts::getopts(args_.as_slice(), groups.as_slice()) {
104110
Ok(m) => m,
105-
Err(f) => panic!("{:?}", f)
111+
Err(f) => panic!("{}", f)
106112
};
107113

108114
if matches.opt_present("h") || matches.opt_present("help") {
@@ -121,7 +127,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
121127
match regex::Regex::new(s) {
122128
Ok(re) => Some(re),
123129
Err(e) => {
124-
println!("failed to parse filter /{}/: {:?}", s, e);
130+
println!("failed to parse filter /{}/: {}", s, e);
125131
panic!()
126132
}
127133
}
@@ -180,11 +186,11 @@ pub fn parse_config(args: Vec<String> ) -> Config {
180186
pub fn log_config(config: &Config) {
181187
let c = config;
182188
logv(c, format!("configuration:"));
183-
logv(c, format!("compile_lib_path: {:?}", config.compile_lib_path));
184-
logv(c, format!("run_lib_path: {:?}", config.run_lib_path));
185-
logv(c, format!("rustc_path: {:?}", config.rustc_path.display()));
186-
logv(c, format!("src_base: {:?}", config.src_base.display()));
187-
logv(c, format!("build_base: {:?}", config.build_base.display()));
189+
logv(c, format!("compile_lib_path: {}", config.compile_lib_path));
190+
logv(c, format!("run_lib_path: {}", config.run_lib_path));
191+
logv(c, format!("rustc_path: {}", config.rustc_path.display()));
192+
logv(c, format!("src_base: {}", config.src_base.display()));
193+
logv(c, format!("build_base: {}", config.build_base.display()));
188194
logv(c, format!("stage_id: {}", config.stage_id));
189195
logv(c, format!("mode: {}", config.mode));
190196
logv(c, format!("run_ignored: {}", config.run_ignored));
@@ -200,10 +206,10 @@ pub fn log_config(config: &Config) {
200206
logv(c, format!("jit: {}", config.jit));
201207
logv(c, format!("target: {}", config.target));
202208
logv(c, format!("host: {}", config.host));
203-
logv(c, format!("android-cross-path: {:?}",
209+
logv(c, format!("android-cross-path: {}",
204210
config.android_cross_path.display()));
205-
logv(c, format!("adb_path: {:?}", config.adb_path));
206-
logv(c, format!("adb_test_dir: {:?}", config.adb_test_dir));
211+
logv(c, format!("adb_path: {}", config.adb_path));
212+
logv(c, format!("adb_test_dir: {}", config.adb_test_dir));
207213
logv(c, format!("adb_device_status: {}",
208214
config.adb_device_status));
209215
match config.test_shard {
@@ -265,7 +271,7 @@ pub fn run_tests(config: &Config) {
265271
Ok(true) => {}
266272
Ok(false) => panic!("Some tests failed"),
267273
Err(e) => {
268-
println!("I/O failure during tests: {:?}", e);
274+
println!("I/O failure during tests: {}", e);
269275
}
270276
}
271277
}
@@ -293,13 +299,13 @@ pub fn test_opts(config: &Config) -> test::TestOpts {
293299
}
294300

295301
pub fn make_tests(config: &Config) -> Vec<test::TestDescAndFn> {
296-
debug!("making tests from {:?}",
302+
debug!("making tests from {}",
297303
config.src_base.display());
298304
let mut tests = Vec::new();
299305
let dirs = fs::readdir(&config.src_base).unwrap();
300306
for file in dirs.iter() {
301307
let file = file.clone();
302-
debug!("inspecting file {:?}", file.display());
308+
debug!("inspecting file {}", file.display());
303309
if is_test(config, &file) {
304310
let t = make_test(config, &file, || {
305311
match config.mode {

branches/try/src/compiletest/errors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ fn parse_expected(last_nonfollow_error: Option<uint>,
8484
(which, line)
8585
};
8686

87-
debug!("line={} which={:?} kind={:?} msg={:?}", line_num, which, kind, msg);
87+
debug!("line={} which={} kind={} msg={}", line_num, which, kind, msg);
8888
Some((which, ExpectedError { line: line,
8989
kind: kind,
9090
msg: msg, }))

branches/try/src/compiletest/runtest.rs

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ pub fn run_metrics(config: Config, testfile: String, mm: &mut MetricMap) {
6161
print!("\n\n");
6262
}
6363
let testfile = Path::new(testfile);
64-
debug!("running {:?}", testfile.display());
64+
debug!("running {}", testfile.display());
6565
let props = header::load_props(&testfile);
6666
debug!("loaded props");
6767
match config.mode {
@@ -141,7 +141,7 @@ fn check_correct_failure_status(proc_res: &ProcRes) {
141141
static RUST_ERR: int = 101;
142142
if !proc_res.status.matches_exit_status(RUST_ERR) {
143143
fatal_proc_rec(
144-
format!("failure produced the wrong error: {:?}",
144+
format!("failure produced the wrong error: {}",
145145
proc_res.status).as_slice(),
146146
proc_res);
147147
}
@@ -410,7 +410,7 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
410410
],
411411
vec!(("".to_string(), "".to_string())),
412412
Some("".to_string()))
413-
.expect(format!("failed to exec `{:?}`", config.adb_path).as_slice());
413+
.expect(format!("failed to exec `{}`", config.adb_path).as_slice());
414414

415415
procsrv::run("",
416416
config.adb_path.as_slice(),
@@ -422,7 +422,7 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
422422
],
423423
vec!(("".to_string(), "".to_string())),
424424
Some("".to_string()))
425-
.expect(format!("failed to exec `{:?}`", config.adb_path).as_slice());
425+
.expect(format!("failed to exec `{}`", config.adb_path).as_slice());
426426

427427
let adb_arg = format!("export LD_LIBRARY_PATH={}; \
428428
gdbserver :5039 {}/{}",
@@ -443,11 +443,11 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
443443
vec!(("".to_string(),
444444
"".to_string())),
445445
Some("".to_string()))
446-
.expect(format!("failed to exec `{:?}`", config.adb_path).as_slice());
446+
.expect(format!("failed to exec `{}`", config.adb_path).as_slice());
447447
loop {
448448
//waiting 1 second for gdbserver start
449449
timer::sleep(Duration::milliseconds(1000));
450-
let result = Thread::scoped(move || {
450+
let result = Thread::spawn(move || {
451451
tcp::TcpStream::connect("127.0.0.1:5039").unwrap();
452452
}).join();
453453
if result.is_err() {
@@ -481,7 +481,7 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
481481
debugger_opts.as_slice(),
482482
vec!(("".to_string(), "".to_string())),
483483
None)
484-
.expect(format!("failed to exec `{:?}`", gdb_path).as_slice());
484+
.expect(format!("failed to exec `{}`", gdb_path).as_slice());
485485
let cmdline = {
486486
let cmdline = make_cmdline("",
487487
"arm-linux-androideabi-gdb",
@@ -539,17 +539,18 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
539539
script_str.push_str("set print pretty off\n");
540540

541541
// Add the pretty printer directory to GDB's source-file search path
542-
script_str.push_str(&format!("directory {}\n", rust_pp_module_abs_path)[]);
542+
script_str.push_str(format!("directory {}\n", rust_pp_module_abs_path)[]);
543543

544544
// Load the target executable
545-
script_str.push_str(&format!("file {}\n",
546-
exe_file.as_str().unwrap().replace("\\", "\\\\"))[]);
545+
script_str.push_str(format!("file {}\n",
546+
exe_file.as_str().unwrap().replace("\\", "\\\\"))
547+
.as_slice());
547548

548549
// Add line breakpoints
549550
for line in breakpoint_lines.iter() {
550-
script_str.push_str(&format!("break '{:?}':{}\n",
551-
testfile.filename_display(),
552-
*line)[]);
551+
script_str.push_str(format!("break '{}':{}\n",
552+
testfile.filename_display(),
553+
*line)[]);
553554
}
554555

555556
script_str.push_str(cmds.as_slice());
@@ -675,7 +676,7 @@ fn run_debuginfo_lldb_test(config: &Config, props: &TestProps, testfile: &Path)
675676
.unwrap()
676677
.to_string();
677678

678-
script_str.push_str(&format!("command script import {}\n", &rust_pp_module_abs_path[])[]);
679+
script_str.push_str(format!("command script import {}\n", rust_pp_module_abs_path[])[]);
679680
script_str.push_str("type summary add --no-value ");
680681
script_str.push_str("--python-function lldb_rust_formatters.print_val ");
681682
script_str.push_str("-x \".*\" --category Rust\n");
@@ -888,7 +889,7 @@ fn check_error_patterns(props: &TestProps,
888889
output_to_check: &str,
889890
proc_res: &ProcRes) {
890891
if props.error_patterns.is_empty() {
891-
fatal(format!("no error pattern specified in {:?}",
892+
fatal(format!("no error pattern specified in {}",
892893
testfile.display()).as_slice());
893894
}
894895
let mut next_err_idx = 0u;
@@ -909,7 +910,7 @@ fn check_error_patterns(props: &TestProps,
909910
if done { return; }
910911

911912
let missing_patterns =
912-
props.error_patterns.index(&(next_err_idx..));
913+
props.error_patterns[next_err_idx..];
913914
if missing_patterns.len() == 1u {
914915
fatal_proc_rec(format!("error pattern '{}' not found!",
915916
missing_patterns[0]).as_slice(),
@@ -954,7 +955,7 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
954955
}
955956

956957
let prefixes = expected_errors.iter().map(|ee| {
957-
format!("{:?}:{}:", testfile.display(), ee.line)
958+
format!("{}:{}:", testfile.display(), ee.line)
958959
}).collect::<Vec<String> >();
959960

960961
#[cfg(windows)]
@@ -1190,7 +1191,7 @@ fn compose_and_run_compiler(
11901191
None);
11911192
if !auxres.status.success() {
11921193
fatal_proc_rec(
1193-
format!("auxiliary build of {:?} failed to compile: ",
1194+
format!("auxiliary build of {} failed to compile: ",
11941195
abs_ab.display()).as_slice(),
11951196
&auxres);
11961197
}
@@ -1600,7 +1601,7 @@ fn _arm_push_aux_shared_library(config: &Config, testfile: &Path) {
16001601
.expect(format!("failed to exec `{}`", config.adb_path).as_slice());
16011602

16021603
if config.verbose {
1603-
println!("push ({}) {:?} {} {}",
1604+
println!("push ({}) {} {} {}",
16041605
config.target, file.display(),
16051606
copy_result.out, copy_result.err);
16061607
}

branches/try/src/doc/guide-unsafe.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -703,10 +703,10 @@ Other features provided by lang items include:
703703
`deref`, and `add` respectively.
704704
- stack unwinding and general failure; the `eh_personality`, `fail`
705705
and `fail_bounds_checks` lang items.
706-
- the traits in `std::markers` used to indicate types of
706+
- the traits in `std::kinds` used to indicate types that satisfy
707707
various kinds; lang items `send`, `sync` and `copy`.
708708
- the marker types and variance indicators found in
709-
`std::markers`; lang items `covariant_type`,
709+
`std::kinds::markers`; lang items `covariant_type`,
710710
`contravariant_lifetime`, `no_sync_bound`, etc.
711711

712712
Lang items are loaded lazily by the compiler; e.g. if one never uses

branches/try/src/doc/intro.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ fn main() {
395395
for _ in range(0u, 10u) {
396396
Thread::spawn(move || {
397397
println!("Hello, world!");
398-
});
398+
}).detach();
399399
}
400400
}
401401
```
@@ -405,7 +405,8 @@ This program creates ten threads, who all print `Hello, world!`. The
405405
double bars `||`. (The `move` keyword indicates that the closure takes
406406
ownership of any data it uses; we'll have more on the significance of
407407
this shortly.) This closure is executed in a new thread created by
408-
`spawn`.
408+
`spawn`. The `detach` method means that the child thread is allowed to
409+
outlive its parent.
409410
410411
One common form of problem in concurrent programs is a 'data race.'
411412
This occurs when two different threads attempt to access the same
@@ -428,7 +429,7 @@ fn main() {
428429
for i in range(0u, 3u) {
429430
Thread::spawn(move || {
430431
for j in range(0, 3) { numbers[j] += 1 }
431-
});
432+
}).detach();
432433
}
433434
}
434435
```
@@ -487,7 +488,7 @@ fn main() {
487488
(*array)[i] += 1;
488489
489490
println!("numbers[{}] is {}", i, (*array)[i]);
490-
});
491+
}).detach();
491492
}
492493
}
493494
```

branches/try/src/doc/reference.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -690,9 +690,10 @@ balanced, but they are otherwise not special.
690690

691691
In the matcher, `$` _name_ `:` _designator_ matches the nonterminal in the Rust
692692
syntax named by _designator_. Valid designators are `item`, `block`, `stmt`,
693-
`pat`, `expr`, `ty` (type), `ident`, `path`, `tt` (either side of the `=>`
694-
in macro rules). In the transcriber, the designator is already known, and so
695-
only the name of a matched nonterminal comes after the dollar sign.
693+
`pat`, `expr`, `ty` (type), `ident`, `path`, `matchers` (lhs of the `=>` in
694+
macro rules), `tt` (rhs of the `=>` in macro rules). In the transcriber, the
695+
designator is already known, and so only the name of a matched nonterminal
696+
comes after the dollar sign.
696697

697698
In both the matcher and transcriber, the Kleene star-like operator indicates
698699
repetition. The Kleene star operator consists of `$` and parens, optionally

branches/try/src/etc/gdb_rust_pretty_printing.py

100755100644
Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def rust_pretty_printer_lookup_function(val):
5151
enum_member_count = len(enum_members)
5252

5353
if enum_member_count == 0:
54-
return RustStructPrinter(val, False)
54+
return RustStructPrinter(val, false)
5555

5656
if enum_member_count == 1:
5757
first_variant_name = enum_members[0].name
@@ -60,27 +60,21 @@ def rust_pretty_printer_lookup_function(val):
6060
return rust_pretty_printer_lookup_function(val[enum_members[0]])
6161
else:
6262
assert first_variant_name.startswith("RUST$ENCODED$ENUM$")
63-
# This is a space-optimized enum.
64-
# This means this enum has only two states, and Rust uses one of the
65-
# fields somewhere in the struct to determine which of the two states
66-
# it's in. The location of the field is encoded in the name as something
67-
# like RUST$ENCODED$ENUM$(num$)*name_of_zero_state
63+
# This is a space-optimized enum
6864
last_separator_index = first_variant_name.rfind("$")
69-
start_index = len("RUST$ENCODED$ENUM$")
70-
disr_field_indices = first_variant_name[start_index :
71-
last_separator_index].split("$")
72-
disr_field_indices = [int(index) for index in disr_field_indices]
65+
second_last_separator_index = first_variant_name.rfind("$", 0, last_separator_index)
66+
disr_field_index = first_variant_name[second_last_separator_index + 1 :
67+
last_separator_index]
68+
disr_field_index = int(disr_field_index)
7369

7470
sole_variant_val = val[enum_members[0]]
75-
discriminant = sole_variant_val
76-
for disr_field_index in disr_field_indices:
77-
disr_field = get_field_at_index(discriminant, disr_field_index)
78-
discriminant = discriminant[disr_field]
71+
disr_field = get_field_at_index(sole_variant_val, disr_field_index)
72+
discriminant = sole_variant_val[disr_field]
7973

8074
# If the discriminant field is a fat pointer we have to consider the
8175
# first word as the true discriminant
8276
if discriminant.type.code == gdb.TYPE_CODE_STRUCT:
83-
discriminant = discriminant[get_field_at_index(discriminant, 0)]
77+
discriminant = discriminant[get_field_at_index(discriminant, 0)]
8478

8579
if discriminant == 0:
8680
null_variant_name = first_variant_name[last_separator_index + 1:]
@@ -240,5 +234,4 @@ def get_field_at_index(val, index):
240234
for field in val.type.fields():
241235
if i == index:
242236
return field
243-
i += 1
244237
return None

0 commit comments

Comments
 (0)