@@ -281,7 +281,7 @@ impl<'a> Resolver<'a> {
281281 parent_scope : & ParentScope < ' a > ,
282282 finalize : Option < Finalize > ,
283283 ribs : & [ Rib < ' a > ] ,
284- unusable_binding : Option < & ' a NameBinding < ' a > > ,
284+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
285285 ) -> Option < LexicalScopeBinding < ' a > > {
286286 assert ! ( ns == TypeNS || ns == ValueNS ) ;
287287 let orig_ident = ident;
@@ -343,7 +343,7 @@ impl<'a> Resolver<'a> {
343343 ns,
344344 parent_scope,
345345 finalize,
346- unusable_binding ,
346+ ignore_binding ,
347347 ) ;
348348 if let Ok ( binding) = item {
349349 // The ident resolves to an item.
@@ -356,7 +356,7 @@ impl<'a> Resolver<'a> {
356356 parent_scope,
357357 finalize,
358358 finalize. is_some ( ) ,
359- unusable_binding ,
359+ ignore_binding ,
360360 )
361361 . ok ( )
362362 . map ( LexicalScopeBinding :: Item )
@@ -375,7 +375,7 @@ impl<'a> Resolver<'a> {
375375 parent_scope : & ParentScope < ' a > ,
376376 finalize : Option < Finalize > ,
377377 force : bool ,
378- unusable_binding : Option < & ' a NameBinding < ' a > > ,
378+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
379379 ) -> Result < & ' a NameBinding < ' a > , Determinacy > {
380380 bitflags:: bitflags! {
381381 struct Flags : u8 {
@@ -495,7 +495,7 @@ impl<'a> Resolver<'a> {
495495 ns,
496496 parent_scope,
497497 finalize,
498- unusable_binding ,
498+ ignore_binding ,
499499 ) ;
500500 match binding {
501501 Ok ( binding) => Ok ( ( binding, Flags :: MODULE | Flags :: MISC_SUGGEST_CRATE ) ) ,
@@ -517,7 +517,7 @@ impl<'a> Resolver<'a> {
517517 adjusted_parent_scope,
518518 !matches ! ( scope_set, ScopeSet :: Late ( ..) ) ,
519519 finalize,
520- unusable_binding ,
520+ ignore_binding ,
521521 ) ;
522522 match binding {
523523 Ok ( binding) => {
@@ -602,7 +602,7 @@ impl<'a> Resolver<'a> {
602602 ns,
603603 parent_scope,
604604 None ,
605- unusable_binding ,
605+ ignore_binding ,
606606 ) {
607607 if use_prelude || this. is_builtin_macro ( binding. res ( ) ) {
608608 result = Ok ( ( binding, Flags :: MISC_FROM_PRELUDE ) ) ;
@@ -736,19 +736,10 @@ impl<'a> Resolver<'a> {
736736 ns : Namespace ,
737737 parent_scope : & ParentScope < ' a > ,
738738 finalize : Option < Finalize > ,
739- // This binding should be ignored during in-module resolution, so that we don't get
740- // "self-confirming" import resolutions during import validation.
741- unusable_binding : Option < & ' a NameBinding < ' a > > ,
739+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
742740 ) -> Result < & ' a NameBinding < ' a > , Determinacy > {
743- self . resolve_ident_in_module_ext (
744- module,
745- ident,
746- ns,
747- parent_scope,
748- finalize,
749- unusable_binding,
750- )
751- . map_err ( |( determinacy, _) | determinacy)
741+ self . resolve_ident_in_module_ext ( module, ident, ns, parent_scope, finalize, ignore_binding)
742+ . map_err ( |( determinacy, _) | determinacy)
752743 }
753744
754745 #[ tracing:: instrument( level = "debug" , skip( self ) ) ]
@@ -759,7 +750,7 @@ impl<'a> Resolver<'a> {
759750 ns : Namespace ,
760751 parent_scope : & ParentScope < ' a > ,
761752 finalize : Option < Finalize > ,
762- unusable_binding : Option < & ' a NameBinding < ' a > > ,
753+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
763754 ) -> Result < & ' a NameBinding < ' a > , ( Determinacy , Weak ) > {
764755 let tmp_parent_scope;
765756 let mut adjusted_parent_scope = parent_scope;
@@ -785,7 +776,7 @@ impl<'a> Resolver<'a> {
785776 adjusted_parent_scope,
786777 false ,
787778 finalize,
788- unusable_binding ,
779+ ignore_binding ,
789780 )
790781 }
791782
@@ -797,7 +788,7 @@ impl<'a> Resolver<'a> {
797788 ns : Namespace ,
798789 parent_scope : & ParentScope < ' a > ,
799790 finalize : Option < Finalize > ,
800- unusable_binding : Option < & ' a NameBinding < ' a > > ,
791+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
801792 ) -> Result < & ' a NameBinding < ' a > , Determinacy > {
802793 self . resolve_ident_in_module_unadjusted_ext (
803794 module,
@@ -806,7 +797,7 @@ impl<'a> Resolver<'a> {
806797 parent_scope,
807798 false ,
808799 finalize,
809- unusable_binding ,
800+ ignore_binding ,
810801 )
811802 . map_err ( |( determinacy, _) | determinacy)
812803 }
@@ -822,7 +813,9 @@ impl<'a> Resolver<'a> {
822813 parent_scope : & ParentScope < ' a > ,
823814 restricted_shadowing : bool ,
824815 finalize : Option < Finalize > ,
825- unusable_binding : Option < & ' a NameBinding < ' a > > ,
816+ // This binding should be ignored during in-module resolution, so that we don't get
817+ // "self-confirming" import resolutions during import validation and checking.
818+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
826819 ) -> Result < & ' a NameBinding < ' a > , ( Determinacy , Weak ) > {
827820 let module = match module {
828821 ModuleOrUniformRoot :: Module ( module) => module,
@@ -834,7 +827,7 @@ impl<'a> Resolver<'a> {
834827 parent_scope,
835828 finalize,
836829 finalize. is_some ( ) ,
837- unusable_binding ,
830+ ignore_binding ,
838831 ) ;
839832 return binding. map_err ( |determinacy| ( determinacy, Weak :: No ) ) ;
840833 }
@@ -874,7 +867,7 @@ impl<'a> Resolver<'a> {
874867 parent_scope,
875868 finalize,
876869 finalize. is_some ( ) ,
877- unusable_binding ,
870+ ignore_binding ,
878871 ) ;
879872 return binding. map_err ( |determinacy| ( determinacy, Weak :: No ) ) ;
880873 }
@@ -891,12 +884,8 @@ impl<'a> Resolver<'a> {
891884 // hack to avoid inconsistent resolution ICEs during import validation.
892885 let binding = [ resolution. binding , resolution. shadowed_glob ]
893886 . into_iter ( )
894- . filter_map ( |binding| match ( binding, unusable_binding) {
895- ( Some ( binding) , Some ( unusable_binding) )
896- if ptr:: eq ( binding, unusable_binding) =>
897- {
898- None
899- }
887+ . filter_map ( |binding| match ( binding, ignore_binding) {
888+ ( Some ( binding) , Some ( ignored) ) if ptr:: eq ( binding, ignored) => None ,
900889 _ => binding,
901890 } )
902891 . next ( ) ;
@@ -943,10 +932,8 @@ impl<'a> Resolver<'a> {
943932 }
944933
945934 let check_usable = |this : & mut Self , binding : & ' a NameBinding < ' a > | {
946- if let Some ( unusable_binding) = unusable_binding {
947- if ptr:: eq ( binding, unusable_binding) {
948- return Err ( ( Determined , Weak :: No ) ) ;
949- }
935+ if let Some ( ignored) = ignore_binding && ptr:: eq ( binding, ignored) {
936+ return Err ( ( Determined , Weak :: No ) ) ;
950937 }
951938 let usable = this. is_accessible_from ( binding. vis , parent_scope. module ) ;
952939 if usable { Ok ( binding) } else { Err ( ( Determined , Weak :: No ) ) }
@@ -979,7 +966,7 @@ impl<'a> Resolver<'a> {
979966 ns,
980967 & single_import. parent_scope ,
981968 None ,
982- unusable_binding ,
969+ ignore_binding ,
983970 ) {
984971 Err ( Determined ) => continue ,
985972 Ok ( binding)
@@ -1055,7 +1042,7 @@ impl<'a> Resolver<'a> {
10551042 ns,
10561043 adjusted_parent_scope,
10571044 None ,
1058- unusable_binding ,
1045+ ignore_binding ,
10591046 ) ;
10601047
10611048 match result {
@@ -1362,9 +1349,9 @@ impl<'a> Resolver<'a> {
13621349 opt_ns : Option < Namespace > , // `None` indicates a module path in import
13631350 parent_scope : & ParentScope < ' a > ,
13641351 finalize : Option < Finalize > ,
1365- unusable_binding : Option < & ' a NameBinding < ' a > > ,
1352+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
13661353 ) -> PathResult < ' a > {
1367- self . resolve_path_with_ribs ( path, opt_ns, parent_scope, finalize, None , unusable_binding )
1354+ self . resolve_path_with_ribs ( path, opt_ns, parent_scope, finalize, None , ignore_binding )
13681355 }
13691356
13701357 crate fn resolve_path_with_ribs (
@@ -1374,7 +1361,7 @@ impl<'a> Resolver<'a> {
13741361 parent_scope : & ParentScope < ' a > ,
13751362 finalize : Option < Finalize > ,
13761363 ribs : Option < & PerNS < Vec < Rib < ' a > > > > ,
1377- unusable_binding : Option < & ' a NameBinding < ' a > > ,
1364+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
13781365 ) -> PathResult < ' a > {
13791366 debug ! ( "resolve_path(path={:?}, opt_ns={:?}, finalize={:?})" , path, opt_ns, finalize) ;
13801367
@@ -1477,7 +1464,7 @@ impl<'a> Resolver<'a> {
14771464 ns,
14781465 parent_scope,
14791466 finalize,
1480- unusable_binding ,
1467+ ignore_binding ,
14811468 )
14821469 } else if let Some ( ribs) = ribs
14831470 && let Some ( TypeNS | ValueNS ) = opt_ns
@@ -1488,7 +1475,7 @@ impl<'a> Resolver<'a> {
14881475 parent_scope,
14891476 finalize,
14901477 & ribs[ ns] ,
1491- unusable_binding ,
1478+ ignore_binding ,
14921479 ) {
14931480 // we found a locally-imported or available item/module
14941481 Some ( LexicalScopeBinding :: Item ( binding) ) => Ok ( binding) ,
@@ -1504,7 +1491,7 @@ impl<'a> Resolver<'a> {
15041491 parent_scope,
15051492 finalize,
15061493 finalize. is_some ( ) ,
1507- unusable_binding ,
1494+ ignore_binding ,
15081495 )
15091496 } ;
15101497 FindBindingResult :: Binding ( binding)
@@ -1577,7 +1564,7 @@ impl<'a> Resolver<'a> {
15771564 opt_ns,
15781565 parent_scope,
15791566 ribs,
1580- unusable_binding ,
1567+ ignore_binding ,
15811568 module,
15821569 i,
15831570 ident,
0 commit comments