@@ -382,29 +382,27 @@ impl<'a> Linker for GccLinker<'a> {
382382
383383 if self . sess . target . target . options . is_like_osx {
384384 // Write a plain, newline-separated list of symbols
385- let res = ( || -> io:: Result < ( ) > {
385+ let res: io:: Result < ( ) > = try {
386386 let mut f = BufWriter :: new ( File :: create ( & path) ?) ;
387387 for sym in self . info . exports [ & crate_type] . iter ( ) {
388388 debug ! ( " _{}" , sym) ;
389389 writeln ! ( f, "_{}" , sym) ?;
390390 }
391- Ok ( ( ) )
392- } ) ( ) ;
391+ } ;
393392 if let Err ( e) = res {
394393 self . sess . fatal ( & format ! ( "failed to write lib.def file: {}" , e) ) ;
395394 }
396395 } else {
397396 // Write an LD version script
398- let res = ( || -> io:: Result < ( ) > {
397+ let res: io:: Result < ( ) > = try {
399398 let mut f = BufWriter :: new ( File :: create ( & path) ?) ;
400399 writeln ! ( f, "{{\n global:" ) ?;
401400 for sym in self . info . exports [ & crate_type] . iter ( ) {
402401 debug ! ( " {};" , sym) ;
403402 writeln ! ( f, " {};" , sym) ?;
404403 }
405404 writeln ! ( f, "\n local:\n *;\n }};" ) ?;
406- Ok ( ( ) )
407- } ) ( ) ;
405+ } ;
408406 if let Err ( e) = res {
409407 self . sess . fatal ( & format ! ( "failed to write version script: {}" , e) ) ;
410408 }
@@ -644,7 +642,7 @@ impl<'a> Linker for MsvcLinker<'a> {
644642 tmpdir : & Path ,
645643 crate_type : CrateType ) {
646644 let path = tmpdir. join ( "lib.def" ) ;
647- let res = ( || -> io:: Result < ( ) > {
645+ let res: io:: Result < ( ) > = try {
648646 let mut f = BufWriter :: new ( File :: create ( & path) ?) ;
649647
650648 // Start off with the standard module name header and then go
@@ -655,8 +653,7 @@ impl<'a> Linker for MsvcLinker<'a> {
655653 debug ! ( " _{}" , symbol) ;
656654 writeln ! ( f, " {}" , symbol) ?;
657655 }
658- Ok ( ( ) )
659- } ) ( ) ;
656+ } ;
660657 if let Err ( e) = res {
661658 self . sess . fatal ( & format ! ( "failed to write lib.def file: {}" , e) ) ;
662659 }
0 commit comments