Skip to content

Commit 7da94c1

Browse files
committed
auto merge of #15173 : Sawyer47/rust/de-to-string, r=alexcrichton
2 parents 7be7a8f + b53acd5 commit 7da94c1

File tree

4 files changed

+77
-95
lines changed

4 files changed

+77
-95
lines changed

src/compiletest/compiletest.rs

+16-29
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@ fn start(argc: int, argv: **u8) -> int {
4848

4949
pub fn main() {
5050
let args = os::args();
51-
let config = parse_config(args.move_iter()
52-
.map(|x| x.to_string())
53-
.collect());
51+
let config = parse_config(args);
5452
log_config(&config);
5553
run_tests(&config);
5654
}
@@ -131,17 +129,15 @@ pub fn parse_config(args: Vec<String> ) -> Config {
131129
};
132130

133131
Config {
134-
compile_lib_path: matches.opt_str("compile-lib-path")
135-
.unwrap()
136-
.to_string(),
137-
run_lib_path: matches.opt_str("run-lib-path").unwrap().to_string(),
132+
compile_lib_path: matches.opt_str("compile-lib-path").unwrap(),
133+
run_lib_path: matches.opt_str("run-lib-path").unwrap(),
138134
rustc_path: opt_path(matches, "rustc-path"),
139135
clang_path: matches.opt_str("clang-path").map(|s| Path::new(s)),
140136
llvm_bin_path: matches.opt_str("llvm-bin-path").map(|s| Path::new(s)),
141137
src_base: opt_path(matches, "src-base"),
142138
build_base: opt_path(matches, "build-base"),
143139
aux_base: opt_path(matches, "aux-base"),
144-
stage_id: matches.opt_str("stage-id").unwrap().to_string(),
140+
stage_id: matches.opt_str("stage-id").unwrap(),
145141
mode: FromStr::from_str(matches.opt_str("mode")
146142
.unwrap()
147143
.as_slice()).expect("invalid mode"),
@@ -155,32 +151,23 @@ pub fn parse_config(args: Vec<String> ) -> Config {
155151
ratchet_noise_percent:
156152
matches.opt_str("ratchet-noise-percent")
157153
.and_then(|s| from_str::<f64>(s.as_slice())),
158-
runtool: matches.opt_str("runtool").map(|x| x.to_string()),
159-
host_rustcflags: matches.opt_str("host-rustcflags")
160-
.map(|x| x.to_string()),
161-
target_rustcflags: matches.opt_str("target-rustcflags")
162-
.map(|x| x.to_string()),
154+
runtool: matches.opt_str("runtool"),
155+
host_rustcflags: matches.opt_str("host-rustcflags"),
156+
target_rustcflags: matches.opt_str("target-rustcflags"),
163157
jit: matches.opt_present("jit"),
164-
target: opt_str2(matches.opt_str("target").map(|x| x.to_string())),
165-
host: opt_str2(matches.opt_str("host").map(|x| x.to_string())),
158+
target: opt_str2(matches.opt_str("target")),
159+
host: opt_str2(matches.opt_str("host")),
166160
android_cross_path: opt_path(matches, "android-cross-path"),
167-
adb_path: opt_str2(matches.opt_str("adb-path")
168-
.map(|x| x.to_string())),
169-
adb_test_dir: opt_str2(matches.opt_str("adb-test-dir")
170-
.map(|x| x.to_string())),
161+
adb_path: opt_str2(matches.opt_str("adb-path")),
162+
adb_test_dir: opt_str2(matches.opt_str("adb-test-dir")),
171163
adb_device_status:
172164
"arm-linux-androideabi" ==
173-
opt_str2(matches.opt_str("target")
174-
.map(|x| x.to_string())).as_slice() &&
165+
opt_str2(matches.opt_str("target")).as_slice() &&
175166
"(none)" !=
176-
opt_str2(matches.opt_str("adb-test-dir")
177-
.map(|x| x.to_string())).as_slice() &&
178-
!opt_str2(matches.opt_str("adb-test-dir")
179-
.map(|x| x.to_string())).is_empty(),
180-
lldb_python_dir: matches.opt_str("lldb-python-dir")
181-
.map(|x| x.to_string()),
182-
test_shard: test::opt_shard(matches.opt_str("test-shard")
183-
.map(|x| x.to_string())),
167+
opt_str2(matches.opt_str("adb-test-dir")).as_slice() &&
168+
!opt_str2(matches.opt_str("adb-test-dir")).is_empty(),
169+
lldb_python_dir: matches.opt_str("lldb-python-dir"),
170+
test_shard: test::opt_shard(matches.opt_str("test-shard")),
184171
verbose: matches.opt_present("verbose")
185172
}
186173
}

src/compiletest/header.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -170,23 +170,23 @@ fn iter_header(testfile: &Path, it: |&str| -> bool) -> bool {
170170
}
171171

172172
fn parse_error_pattern(line: &str) -> Option<String> {
173-
parse_name_value_directive(line, "error-pattern".to_string())
173+
parse_name_value_directive(line, "error-pattern")
174174
}
175175

176176
fn parse_aux_build(line: &str) -> Option<String> {
177-
parse_name_value_directive(line, "aux-build".to_string())
177+
parse_name_value_directive(line, "aux-build")
178178
}
179179

180180
fn parse_compile_flags(line: &str) -> Option<String> {
181-
parse_name_value_directive(line, "compile-flags".to_string())
181+
parse_name_value_directive(line, "compile-flags")
182182
}
183183

184184
fn parse_run_flags(line: &str) -> Option<String> {
185-
parse_name_value_directive(line, "run-flags".to_string())
185+
parse_name_value_directive(line, "run-flags")
186186
}
187187

188188
fn parse_check_line(line: &str) -> Option<String> {
189-
parse_name_value_directive(line, "check".to_string())
189+
parse_name_value_directive(line, "check")
190190
}
191191

192192
fn parse_force_host(line: &str) -> bool {
@@ -206,7 +206,7 @@ fn parse_no_pretty_expanded(line: &str) -> bool {
206206
}
207207

208208
fn parse_exec_env(line: &str) -> Option<(String, String)> {
209-
parse_name_value_directive(line, "exec-env".to_string()).map(|nv| {
209+
parse_name_value_directive(line, "exec-env").map(|nv| {
210210
// nv is either FOO or FOO=BAR
211211
let mut strs: Vec<String> = nv.as_slice()
212212
.splitn('=', 1)
@@ -225,7 +225,7 @@ fn parse_exec_env(line: &str) -> Option<(String, String)> {
225225
}
226226

227227
fn parse_pp_exact(line: &str, testfile: &Path) -> Option<Path> {
228-
match parse_name_value_directive(line, "pp-exact".to_string()) {
228+
match parse_name_value_directive(line, "pp-exact") {
229229
Some(s) => Some(Path::new(s)),
230230
None => {
231231
if parse_name_directive(line, "pp-exact") {
@@ -241,7 +241,7 @@ fn parse_name_directive(line: &str, directive: &str) -> bool {
241241
line.contains(directive)
242242
}
243243

244-
pub fn parse_name_value_directive(line: &str, directive: String)
244+
pub fn parse_name_value_directive(line: &str, directive: &str)
245245
-> Option<String> {
246246
let keycolon = format!("{}:", directive);
247247
match line.find_str(keycolon.as_slice()) {

0 commit comments

Comments
 (0)