@@ -9,7 +9,6 @@ use rustc_ast::{self as ast, *};
99use rustc_data_structures:: fx:: { FxHashMap , FxHashSet } ;
1010use rustc_data_structures:: svh:: Svh ;
1111use rustc_data_structures:: sync:: Lrc ;
12- use rustc_errors:: FatalError ;
1312use rustc_expand:: base:: SyntaxExtension ;
1413use rustc_hir:: def_id:: { CrateNum , LocalDefId , StableCrateId , LOCAL_CRATE } ;
1514use rustc_hir:: definitions:: Definitions ;
@@ -508,31 +507,22 @@ impl<'a> CrateLoader<'a> {
508507 } ) )
509508 }
510509
511- fn resolve_crate_or_abort < ' b > (
512- & ' b mut self ,
513- name : Symbol ,
514- span : Span ,
515- dep_kind : CrateDepKind ,
516- ) -> CrateNum {
517- self . resolve_crate ( name, span, dep_kind) . unwrap_or_else ( || FatalError . raise ( ) )
518- }
519-
520510 fn resolve_crate < ' b > (
521511 & ' b mut self ,
522512 name : Symbol ,
523513 span : Span ,
524514 dep_kind : CrateDepKind ,
525515 ) -> Option < CrateNum > {
526516 self . used_extern_options . insert ( name) ;
527- self . maybe_resolve_crate ( name, dep_kind, None ) . map_or_else (
528- |err| {
517+ match self . maybe_resolve_crate ( name, dep_kind, None ) {
518+ Ok ( cnum) => Some ( cnum) ,
519+ Err ( err) => {
529520 let missing_core =
530521 self . maybe_resolve_crate ( sym:: core, CrateDepKind :: Explicit , None ) . is_err ( ) ;
531522 err. report ( & self . sess , span, missing_core) ;
532523 None
533- } ,
534- |cnum| Some ( cnum) ,
535- )
524+ }
525+ }
536526 }
537527
538528 fn maybe_resolve_crate < ' b > (
@@ -765,7 +755,7 @@ impl<'a> CrateLoader<'a> {
765755 } ;
766756 info ! ( "panic runtime not found -- loading {}" , name) ;
767757
768- let cnum = self . resolve_crate_or_abort ( name, DUMMY_SP , CrateDepKind :: Implicit ) ;
758+ let Some ( cnum) = self . resolve_crate ( name, DUMMY_SP , CrateDepKind :: Implicit ) else { return ; } ;
769759 let data = self . cstore . get_crate_data ( cnum) ;
770760
771761 // Sanity check the loaded crate to ensure it is indeed a panic runtime
@@ -805,7 +795,7 @@ impl<'a> CrateLoader<'a> {
805795 ) ;
806796 }
807797
808- let cnum = self . resolve_crate_or_abort ( name, DUMMY_SP , CrateDepKind :: Implicit ) ;
798+ let Some ( cnum) = self . resolve_crate ( name, DUMMY_SP , CrateDepKind :: Implicit ) else { return ; } ;
809799 let data = self . cstore . get_crate_data ( cnum) ;
810800
811801 // Sanity check the loaded crate to ensure it is indeed a profiler runtime
@@ -1043,8 +1033,8 @@ impl<'a> CrateLoader<'a> {
10431033 }
10441034 }
10451035
1046- pub fn process_path_extern ( & mut self , name : Symbol , span : Span ) -> CrateNum {
1047- let cnum = self . resolve_crate_or_abort ( name, span, CrateDepKind :: Explicit ) ;
1036+ pub fn process_path_extern ( & mut self , name : Symbol , span : Span ) -> Option < CrateNum > {
1037+ let cnum = self . resolve_crate ( name, span, CrateDepKind :: Explicit ) ? ;
10481038
10491039 self . update_extern_crate (
10501040 cnum,
@@ -1057,7 +1047,7 @@ impl<'a> CrateLoader<'a> {
10571047 } ,
10581048 ) ;
10591049
1060- cnum
1050+ Some ( cnum)
10611051 }
10621052
10631053 pub fn maybe_process_path_extern ( & mut self , name : Symbol ) -> Option < CrateNum > {
0 commit comments