@@ -273,8 +273,8 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
273273 format!( "--target={}" , config. target) ,
274274 "-L" . to_string( ) ,
275275 aux_dir. as_str( ) . unwrap( ) . to_string( ) ) ;
276- args. push_all_move ( split_maybe_args ( & config. target_rustcflags ) ) ;
277- args. push_all_move ( split_maybe_args ( & props. compile_flags ) ) ;
276+ args. extend ( split_maybe_args ( & config. target_rustcflags ) . into_iter ( ) ) ;
277+ args. extend ( split_maybe_args ( & props. compile_flags ) . into_iter ( ) ) ;
278278 return ProcArgs {
279279 prog : config. rustc_path . as_str ( ) . unwrap ( ) . to_string ( ) ,
280280 args : args,
@@ -321,8 +321,8 @@ actual:\n\
321321 config. build_base. as_str( ) . unwrap( ) . to_string( ) ,
322322 "-L" . to_string( ) ,
323323 aux_dir. as_str( ) . unwrap( ) . to_string( ) ) ;
324- args. push_all_move ( split_maybe_args ( & config. target_rustcflags ) ) ;
325- args. push_all_move ( split_maybe_args ( & props. compile_flags ) ) ;
324+ args. extend ( split_maybe_args ( & config. target_rustcflags ) . into_iter ( ) ) ;
325+ args. extend ( split_maybe_args ( & props. compile_flags ) . into_iter ( ) ) ;
326326 // FIXME (#9639): This needs to handle non-utf8 paths
327327 return ProcArgs {
328328 prog : config. rustc_path . as_str ( ) . unwrap ( ) . to_string ( ) ,
@@ -1095,11 +1095,12 @@ fn compile_test_(config: &Config, props: &TestProps,
10951095 testfile : & Path , extra_args : & [ String ] ) -> ProcRes {
10961096 let aux_dir = aux_output_dir_name ( config, testfile) ;
10971097 // FIXME (#9639): This needs to handle non-utf8 paths
1098- let link_args = vec ! ( "-L" . to_string( ) ,
1099- aux_dir. as_str( ) . unwrap( ) . to_string( ) ) ;
1098+ let mut link_args = vec ! ( "-L" . to_string( ) ,
1099+ aux_dir. as_str( ) . unwrap( ) . to_string( ) ) ;
1100+ link_args. extend ( extra_args. iter ( ) . map ( |s| s. clone ( ) ) ) ;
11001101 let args = make_compile_args ( config,
11011102 props,
1102- link_args. append ( extra_args ) ,
1103+ link_args,
11031104 |a, b| ThisFile ( make_exe_name ( a, b) ) , testfile) ;
11041105 compose_and_run_compiler ( config, props, testfile, args, None )
11051106}
@@ -1146,16 +1147,16 @@ fn compose_and_run_compiler(
11461147 for rel_ab in props. aux_builds . iter ( ) {
11471148 let abs_ab = config. aux_base . join ( rel_ab. as_slice ( ) ) ;
11481149 let aux_props = header:: load_props ( & abs_ab) ;
1149- let crate_type = if aux_props. no_prefer_dynamic {
1150+ let mut crate_type = if aux_props. no_prefer_dynamic {
11501151 Vec :: new ( )
11511152 } else {
11521153 vec ! ( "--crate-type=dylib" . to_string( ) )
11531154 } ;
1155+ crate_type. extend ( extra_link_args. clone ( ) . into_iter ( ) ) ;
11541156 let aux_args =
11551157 make_compile_args ( config,
11561158 & aux_props,
1157- crate_type. append (
1158- extra_link_args. as_slice ( ) ) ,
1159+ crate_type,
11591160 |a, b| {
11601161 let f = make_lib_name ( a, b, testfile) ;
11611162 ThisDirectory ( f. dir_path ( ) )
@@ -1246,11 +1247,11 @@ fn make_compile_args(config: &Config,
12461247 } ;
12471248 args. push ( path. as_str ( ) . unwrap ( ) . to_string ( ) ) ;
12481249 if props. force_host {
1249- args. push_all_move ( split_maybe_args ( & config. host_rustcflags ) ) ;
1250+ args. extend ( split_maybe_args ( & config. host_rustcflags ) . into_iter ( ) ) ;
12501251 } else {
1251- args. push_all_move ( split_maybe_args ( & config. target_rustcflags ) ) ;
1252+ args. extend ( split_maybe_args ( & config. target_rustcflags ) . into_iter ( ) ) ;
12521253 }
1253- args. push_all_move ( split_maybe_args ( & props. compile_flags ) ) ;
1254+ args. extend ( split_maybe_args ( & props. compile_flags ) . into_iter ( ) ) ;
12541255 return ProcArgs {
12551256 prog : config. rustc_path . as_str ( ) . unwrap ( ) . to_string ( ) ,
12561257 args : args,
@@ -1267,10 +1268,9 @@ fn make_lib_name(config: &Config, auxfile: &Path, testfile: &Path) -> Path {
12671268fn make_exe_name ( config : & Config , testfile : & Path ) -> Path {
12681269 let mut f = output_base_name ( config, testfile) ;
12691270 if !os:: consts:: EXE_SUFFIX . is_empty ( ) {
1270- match f. filename ( ) . map ( |s| Vec :: from_slice ( s) . append ( os:: consts:: EXE_SUFFIX . as_bytes ( ) ) ) {
1271- Some ( v) => f. set_filename ( v) ,
1272- None => ( )
1273- }
1271+ let mut fname = f. filename ( ) . unwrap ( ) . to_vec ( ) ;
1272+ fname. extend ( os:: consts:: EXE_SUFFIX . bytes ( ) ) ;
1273+ f. set_filename ( fname) ;
12741274 }
12751275 f
12761276}
@@ -1286,7 +1286,7 @@ fn make_run_args(config: &Config, props: &TestProps, testfile: &Path) ->
12861286 args. push ( exe_file. as_str ( ) . unwrap ( ) . to_string ( ) ) ;
12871287
12881288 // Add the arguments in the run_flags directive
1289- args. push_all_move ( split_maybe_args ( & props. run_flags ) ) ;
1289+ args. extend ( split_maybe_args ( & props. run_flags ) . into_iter ( ) ) ;
12901290
12911291 let prog = args. remove ( 0 ) . unwrap ( ) ;
12921292 return ProcArgs {
@@ -1381,12 +1381,10 @@ fn make_out_name(config: &Config, testfile: &Path, extension: &str) -> Path {
13811381}
13821382
13831383fn aux_output_dir_name ( config : & Config , testfile : & Path ) -> Path {
1384- let mut f = output_base_name ( config, testfile) ;
1385- match f. filename ( ) . map ( |s| Vec :: from_slice ( s) . append ( b".libaux" ) ) {
1386- Some ( v) => f. set_filename ( v) ,
1387- None => ( )
1388- }
1389- f
1384+ let f = output_base_name ( config, testfile) ;
1385+ let mut fname = f. filename ( ) . unwrap ( ) . to_vec ( ) ;
1386+ fname. extend ( "libaux" . bytes ( ) ) ;
1387+ f. with_filename ( fname)
13901388}
13911389
13921390fn output_testname ( testfile : & Path ) -> Path {
@@ -1598,22 +1596,25 @@ fn append_suffix_to_stem(p: &Path, suffix: &str) -> Path {
15981596 if suffix. len ( ) == 0 {
15991597 ( * p) . clone ( )
16001598 } else {
1601- let stem = p. filestem ( ) . unwrap ( ) ;
1602- p. with_filename ( Vec :: from_slice ( stem) . append ( b"-" ) . append ( suffix. as_bytes ( ) ) )
1599+ let mut stem = p. filestem ( ) . unwrap ( ) . to_vec ( ) ;
1600+ stem. extend ( "-" . bytes ( ) ) ;
1601+ stem. extend ( suffix. bytes ( ) ) ;
1602+ p. with_filename ( stem)
16031603 }
16041604}
16051605
16061606fn compile_test_and_save_bitcode ( config : & Config , props : & TestProps ,
16071607 testfile : & Path ) -> ProcRes {
16081608 let aux_dir = aux_output_dir_name ( config, testfile) ;
16091609 // FIXME (#9639): This needs to handle non-utf8 paths
1610- let link_args = vec ! ( "-L" . to_string( ) ,
1611- aux_dir. as_str( ) . unwrap( ) . to_string( ) ) ;
1610+ let mut link_args = vec ! ( "-L" . to_string( ) ,
1611+ aux_dir. as_str( ) . unwrap( ) . to_string( ) ) ;
16121612 let llvm_args = vec ! ( "--emit=bc,obj" . to_string( ) ,
16131613 "--crate-type=lib" . to_string( ) ) ;
1614+ link_args. extend ( llvm_args. into_iter ( ) ) ;
16141615 let args = make_compile_args ( config,
16151616 props,
1616- link_args. append ( llvm_args . as_slice ( ) ) ,
1617+ link_args,
16171618 |a, b| ThisDirectory ( output_base_name ( a, b) . dir_path ( ) ) ,
16181619 testfile) ;
16191620 compose_and_run_compiler ( config, props, testfile, args, None )
0 commit comments