Skip to content

Commit 8a5d263

Browse files
committed
---
yaml --- r: 170959 b: refs/heads/try c: 5037097 h: refs/heads/master i: 170957: c0e569c 170955: ecd923e 170951: e14ad3f 170943: a4a3000 v: v3
1 parent c11728b commit 8a5d263

File tree

636 files changed

+13126
-7832
lines changed

Some content is hidden

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

636 files changed

+13126
-7832
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: 3892dd1eaa9e1c52aba0179b9d6e27a5ced0afc7
5+
refs/heads/try: 503709708c72401dbe091ed5c7e0494efabe0669
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: 19 additions & 18 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,7 +443,7 @@ 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));
@@ -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::kinds` used to indicate types that satisfy
706+
- the traits in `std::markers` used to indicate types of
707707
various kinds; lang items `send`, `sync` and `copy`.
708708
- the marker types and variance indicators found in
709-
`std::kinds::markers`; lang items `covariant_type`,
709+
`std::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/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

branches/try/src/etc/lldb_rust_formatters.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ def print_struct_val_starting_from(field_start_index, val, internal_dict):
7979
has_field_names = type_has_field_names(t)
8080

8181
if has_field_names:
82-
template = "%(type_name)s {\n%(body)s\n}"
83-
separator = ", \n"
82+
template = "%(type_name)s {\n%(body)s\n}"
83+
separator = ", \n"
8484
else:
85-
template = "%(type_name)s(%(body)s)"
86-
separator = ", "
85+
template = "%(type_name)s(%(body)s)"
86+
separator = ", "
8787

8888
if type_name.startswith("("):
8989
# this is a tuple, so don't print the type name
@@ -125,25 +125,25 @@ def print_enum_val(val, internal_dict):
125125
if last_separator_index == -1:
126126
return "<invalid enum encoding: %s>" % first_variant_name
127127

128-
start_index = len("RUST$ENCODED$ENUM$")
128+
second_last_separator_index = first_variant_name.rfind("$", 0, last_separator_index)
129+
if second_last_separator_index == -1:
130+
return "<invalid enum encoding: %s>" % first_variant_name
129131

130-
# Extract indices of the discriminator field
132+
# Extract index of the discriminator field
131133
try:
132-
disr_field_indices = first_variant_name[start_index :
133-
last_separator_index].split("$")
134-
disr_field_indices = [int(index) for index in disr_field_indices]
134+
disr_field_index = first_variant_name[second_last_separator_index + 1 :
135+
last_separator_index]
136+
disr_field_index = int(disr_field_index)
135137
except:
136138
return "<invalid enum encoding: %s>" % first_variant_name
137139

138140
# Read the discriminant
139-
disr_val = val.GetChildAtIndex(0)
140-
for index in disr_field_indices:
141-
disr_val = disr_val.GetChildAtIndex(index)
141+
disr_val = val.GetChildAtIndex(0).GetChildAtIndex(disr_field_index)
142142

143143
# If the discriminant field is a fat pointer we have to consider the
144144
# first word as the true discriminant
145145
if disr_val.GetType().GetTypeClass() == lldb.eTypeClassStruct:
146-
disr_val = disr_val.GetChildAtIndex(0)
146+
disr_val = disr_val.GetChildAtIndex(0)
147147

148148
if disr_val.GetValueAsUnsigned() == 0:
149149
# Null case: Print the name of the null-variant

0 commit comments

Comments
 (0)