@@ -48,17 +48,17 @@ const MIR_OPT_BLESS_TARGET_MAPPING: &[(&str, &str)] = &[
4848 // build for, so there is no entry for "aarch64-apple-darwin" here.
4949] ;
5050
51- fn try_run ( builder : & Builder < ' _ > , cmd : & mut Command ) -> bool {
51+ fn try_run ( builder : & Builder < ' _ > , cmd : & mut Command ) -> Result < ( ) , ( ) > {
5252 if !builder. fail_fast {
53- if ! builder. try_run ( cmd) {
53+ if let Err ( e ) = builder. try_run ( cmd) {
5454 let mut failures = builder. delayed_failures . borrow_mut ( ) ;
5555 failures. push ( format ! ( "{:?}" , cmd) ) ;
56- return false ;
56+ return Err ( e ) ;
5757 }
5858 } else {
5959 builder. run ( cmd) ;
6060 }
61- true
61+ Ok ( ( ) )
6262}
6363
6464fn try_run_quiet ( builder : & Builder < ' _ > , cmd : & mut Command ) -> bool {
@@ -187,7 +187,8 @@ You can skip linkcheck with --exclude src/tools/linkchecker"
187187 try_run (
188188 builder,
189189 builder. tool_cmd ( Tool :: Linkchecker ) . arg ( builder. out . join ( host. triple ) . join ( "doc" ) ) ,
190- ) ;
190+ )
191+ . unwrap ( ) ;
191192 }
192193
193194 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -240,7 +241,8 @@ impl Step for HtmlCheck {
240241 builder. default_doc ( & [ ] ) ;
241242 builder. ensure ( crate :: doc:: Rustc :: new ( builder. top_stage , self . target , builder) ) ;
242243
243- try_run ( builder, builder. tool_cmd ( Tool :: HtmlChecker ) . arg ( builder. doc_out ( self . target ) ) ) ;
244+ try_run ( builder, builder. tool_cmd ( Tool :: HtmlChecker ) . arg ( builder. doc_out ( self . target ) ) )
245+ . unwrap ( ) ;
244246 }
245247}
246248
@@ -286,7 +288,8 @@ impl Step for Cargotest {
286288 . args ( builder. config . test_args ( ) )
287289 . env ( "RUSTC" , builder. rustc ( compiler) )
288290 . env ( "RUSTDOC" , builder. rustdoc ( compiler) ) ,
289- ) ;
291+ )
292+ . unwrap ( ) ;
290293 }
291294}
292295
@@ -785,7 +788,7 @@ impl Step for Clippy {
785788 cargo. add_rustc_lib_path ( builder, compiler) ;
786789 let mut cargo = prepare_cargo_test ( cargo, & [ ] , & [ ] , "clippy" , compiler, host, builder) ;
787790
788- if builder. try_run ( & mut cargo) {
791+ if builder. try_run ( & mut cargo) . is_ok ( ) {
789792 // The tests succeeded; nothing to do.
790793 return ;
791794 }
@@ -858,7 +861,7 @@ impl Step for RustdocTheme {
858861 util:: lld_flag_no_threads ( self . compiler . host . contains ( "windows" ) ) ,
859862 ) ;
860863 }
861- try_run ( builder, & mut cmd) ;
864+ try_run ( builder, & mut cmd) . unwrap ( ) ;
862865 }
863866}
864867
@@ -1109,7 +1112,7 @@ help: to skip test's attempt to check tidiness, pass `--exclude src/tools/tidy`
11091112 }
11101113
11111114 builder. info ( "tidy check" ) ;
1112- try_run ( builder, & mut cmd) ;
1115+ try_run ( builder, & mut cmd) . unwrap ( ) ;
11131116
11141117 builder. ensure ( ExpandYamlAnchors ) ;
11151118
@@ -1157,7 +1160,8 @@ impl Step for ExpandYamlAnchors {
11571160 try_run (
11581161 builder,
11591162 & mut builder. tool_cmd ( Tool :: ExpandYamlAnchors ) . arg ( "check" ) . arg ( & builder. src ) ,
1160- ) ;
1163+ )
1164+ . unwrap ( ) ;
11611165 }
11621166
11631167 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -1936,7 +1940,7 @@ impl BookTest {
19361940 compiler. host ,
19371941 ) ;
19381942 let _time = util:: timeit ( & builder) ;
1939- let toolstate = if try_run ( builder, & mut rustbook_cmd) {
1943+ let toolstate = if try_run ( builder, & mut rustbook_cmd) . is_ok ( ) {
19401944 ToolState :: TestPass
19411945 } else {
19421946 ToolState :: TestFail
@@ -2094,7 +2098,7 @@ fn markdown_test(builder: &Builder<'_>, compiler: Compiler, markdown: &Path) ->
20942098 cmd. arg ( "--test-args" ) . arg ( test_args) ;
20952099
20962100 if builder. config . verbose_tests {
2097- try_run ( builder, & mut cmd)
2101+ try_run ( builder, & mut cmd) . is_ok ( )
20982102 } else {
20992103 try_run_quiet ( builder, & mut cmd)
21002104 }
@@ -2122,7 +2126,7 @@ impl Step for RustcGuide {
21222126
21232127 let src = builder. src . join ( relative_path) ;
21242128 let mut rustbook_cmd = builder. tool_cmd ( Tool :: Rustbook ) ;
2125- let toolstate = if try_run ( builder, rustbook_cmd. arg ( "linkcheck" ) . arg ( & src) ) {
2129+ let toolstate = if try_run ( builder, rustbook_cmd. arg ( "linkcheck" ) . arg ( & src) ) . is_ok ( ) {
21262130 ToolState :: TestPass
21272131 } else {
21282132 ToolState :: TestFail
@@ -2661,7 +2665,7 @@ impl Step for Bootstrap {
26612665 fn run ( self , builder : & Builder < ' _ > ) {
26622666 let mut check_bootstrap = Command :: new ( & builder. python ( ) ) ;
26632667 check_bootstrap. arg ( "bootstrap_test.py" ) . current_dir ( builder. src . join ( "src/bootstrap/" ) ) ;
2664- try_run ( builder, & mut check_bootstrap) ;
2668+ try_run ( builder, & mut check_bootstrap) . unwrap ( ) ;
26652669
26662670 let host = builder. config . build ;
26672671 let compiler = builder. compiler ( 0 , host) ;
@@ -2733,7 +2737,7 @@ impl Step for TierCheck {
27332737 }
27342738
27352739 builder. info ( "platform support check" ) ;
2736- try_run ( builder, & mut cargo. into ( ) ) ;
2740+ try_run ( builder, & mut cargo. into ( ) ) . unwrap ( ) ;
27372741 }
27382742}
27392743
@@ -2813,7 +2817,7 @@ impl Step for RustInstaller {
28132817 cmd. env ( "CARGO" , & builder. initial_cargo ) ;
28142818 cmd. env ( "RUSTC" , & builder. initial_rustc ) ;
28152819 cmd. env ( "TMP_DIR" , & tmpdir) ;
2816- try_run ( builder, & mut cmd) ;
2820+ try_run ( builder, & mut cmd) . unwrap ( ) ;
28172821 }
28182822
28192823 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
0 commit comments