@@ -97,7 +97,7 @@ impl<'a> Resolver<'a> {
9797
9898 crate fn get_module ( & mut self , def_id : DefId ) -> Module < ' a > {
9999 if def_id. krate == LOCAL_CRATE {
100- return self . module_map [ & def_id] ;
100+ return self . module_map [ & def_id. as_local ( ) . unwrap ( ) ] ;
101101 }
102102
103103 if let Some ( & module) = self . extern_module_map . get ( & def_id) {
@@ -675,12 +675,18 @@ impl<'a, 'b> BuildReducedGraphVisitor<'a, 'b> {
675675
676676 ItemKind :: Mod ( ..) => {
677677 let def_id = self . r . definitions . local_def_id ( item. id ) ;
678- let module_kind = ModuleKind :: Def ( DefKind :: Mod , def_id, ident. name ) ;
678+ let module_kind = ModuleKind :: Def ( DefKind :: Mod , def_id. to_def_id ( ) , ident. name ) ;
679679 let module = self . r . arenas . alloc_module ( ModuleData {
680680 no_implicit_prelude : parent. no_implicit_prelude || {
681681 attr:: contains_name ( & item. attrs , sym:: no_implicit_prelude)
682682 } ,
683- ..ModuleData :: new ( Some ( parent) , module_kind, def_id, expansion, item. span )
683+ ..ModuleData :: new (
684+ Some ( parent) ,
685+ module_kind,
686+ def_id. to_def_id ( ) ,
687+ expansion,
688+ item. span ,
689+ )
684690 } ) ;
685691 self . r . define ( parent, ident, TypeNS , ( module, vis, sp, expansion) ) ;
686692 self . r . module_map . insert ( def_id, module) ;
@@ -691,15 +697,18 @@ impl<'a, 'b> BuildReducedGraphVisitor<'a, 'b> {
691697
692698 // These items live in the value namespace.
693699 ItemKind :: Static ( ..) => {
694- let res = Res :: Def ( DefKind :: Static , self . r . definitions . local_def_id ( item. id ) ) ;
700+ let res =
701+ Res :: Def ( DefKind :: Static , self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ) ;
695702 self . r . define ( parent, ident, ValueNS , ( res, vis, sp, expansion) ) ;
696703 }
697704 ItemKind :: Const ( ..) => {
698- let res = Res :: Def ( DefKind :: Const , self . r . definitions . local_def_id ( item. id ) ) ;
705+ let res =
706+ Res :: Def ( DefKind :: Const , self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ) ;
699707 self . r . define ( parent, ident, ValueNS , ( res, vis, sp, expansion) ) ;
700708 }
701709 ItemKind :: Fn ( ..) => {
702- let res = Res :: Def ( DefKind :: Fn , self . r . definitions . local_def_id ( item. id ) ) ;
710+ let res =
711+ Res :: Def ( DefKind :: Fn , self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ) ;
703712 self . r . define ( parent, ident, ValueNS , ( res, vis, sp, expansion) ) ;
704713
705714 // Functions introducing procedural macros reserve a slot
@@ -713,12 +722,12 @@ impl<'a, 'b> BuildReducedGraphVisitor<'a, 'b> {
713722 None => DefKind :: TyAlias ,
714723 Some ( _) => DefKind :: OpaqueTy ,
715724 } ;
716- let res = Res :: Def ( def_kind, self . r . definitions . local_def_id ( item. id ) ) ;
725+ let res = Res :: Def ( def_kind, self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ) ;
717726 self . r . define ( parent, ident, TypeNS , ( res, vis, sp, expansion) ) ;
718727 }
719728
720729 ItemKind :: Enum ( _, _) => {
721- let def_id = self . r . definitions . local_def_id ( item. id ) ;
730+ let def_id = self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ;
722731 self . r . variant_vis . insert ( def_id, vis) ;
723732 let module_kind = ModuleKind :: Def ( DefKind :: Enum , def_id, ident. name ) ;
724733 let module = self . r . new_module (
@@ -733,14 +742,17 @@ impl<'a, 'b> BuildReducedGraphVisitor<'a, 'b> {
733742 }
734743
735744 ItemKind :: TraitAlias ( ..) => {
736- let res = Res :: Def ( DefKind :: TraitAlias , self . r . definitions . local_def_id ( item. id ) ) ;
745+ let res = Res :: Def (
746+ DefKind :: TraitAlias ,
747+ self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ,
748+ ) ;
737749 self . r . define ( parent, ident, TypeNS , ( res, vis, sp, expansion) ) ;
738750 }
739751
740752 // These items live in both the type and value namespaces.
741753 ItemKind :: Struct ( ref vdata, _) => {
742754 // Define a name in the type namespace.
743- let def_id = self . r . definitions . local_def_id ( item. id ) ;
755+ let def_id = self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ;
744756 let res = Res :: Def ( DefKind :: Struct , def_id) ;
745757 self . r . define ( parent, ident, TypeNS , ( res, vis, sp, expansion) ) ;
746758
@@ -773,15 +785,15 @@ impl<'a, 'b> BuildReducedGraphVisitor<'a, 'b> {
773785 }
774786 let ctor_res = Res :: Def (
775787 DefKind :: Ctor ( CtorOf :: Struct , CtorKind :: from_ast ( vdata) ) ,
776- self . r . definitions . local_def_id ( ctor_node_id) ,
788+ self . r . definitions . local_def_id ( ctor_node_id) . to_def_id ( ) ,
777789 ) ;
778790 self . r . define ( parent, ident, ValueNS , ( ctor_res, ctor_vis, sp, expansion) ) ;
779791 self . r . struct_constructors . insert ( def_id, ( ctor_res, ctor_vis) ) ;
780792 }
781793 }
782794
783795 ItemKind :: Union ( ref vdata, _) => {
784- let def_id = self . r . definitions . local_def_id ( item. id ) ;
796+ let def_id = self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ;
785797 let res = Res :: Def ( DefKind :: Union , def_id) ;
786798 self . r . define ( parent, ident, TypeNS , ( res, vis, sp, expansion) ) ;
787799
@@ -790,7 +802,7 @@ impl<'a, 'b> BuildReducedGraphVisitor<'a, 'b> {
790802 }
791803
792804 ItemKind :: Trait ( ..) => {
793- let def_id = self . r . definitions . local_def_id ( item. id ) ;
805+ let def_id = self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ;
794806
795807 // Add all the items within to a new module.
796808 let module_kind = ModuleKind :: Def ( DefKind :: Trait , def_id, ident. name ) ;
@@ -815,15 +827,18 @@ impl<'a, 'b> BuildReducedGraphVisitor<'a, 'b> {
815827 /// Constructs the reduced graph for one foreign item.
816828 fn build_reduced_graph_for_foreign_item ( & mut self , item : & ForeignItem ) {
817829 let ( res, ns) = match item. kind {
818- ForeignItemKind :: Fn ( ..) => {
819- ( Res :: Def ( DefKind :: Fn , self . r . definitions . local_def_id ( item. id ) ) , ValueNS )
820- }
821- ForeignItemKind :: Static ( ..) => {
822- ( Res :: Def ( DefKind :: Static , self . r . definitions . local_def_id ( item. id ) ) , ValueNS )
823- }
824- ForeignItemKind :: TyAlias ( ..) => {
825- ( Res :: Def ( DefKind :: ForeignTy , self . r . definitions . local_def_id ( item. id ) ) , TypeNS )
826- }
830+ ForeignItemKind :: Fn ( ..) => (
831+ Res :: Def ( DefKind :: Fn , self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ) ,
832+ ValueNS ,
833+ ) ,
834+ ForeignItemKind :: Static ( ..) => (
835+ Res :: Def ( DefKind :: Static , self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ) ,
836+ ValueNS ,
837+ ) ,
838+ ForeignItemKind :: TyAlias ( ..) => (
839+ Res :: Def ( DefKind :: ForeignTy , self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ) ,
840+ TypeNS ,
841+ ) ,
827842 ForeignItemKind :: MacCall ( _) => unreachable ! ( ) ,
828843 } ;
829844 let parent = self . parent_scope . module ;
@@ -1121,7 +1136,7 @@ impl<'a, 'b> BuildReducedGraphVisitor<'a, 'b> {
11211136 _ => unreachable ! ( ) ,
11221137 } ;
11231138
1124- let def_id = self . r . definitions . local_def_id ( item. id ) ;
1139+ let def_id = self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ;
11251140 let res = Res :: Def ( DefKind :: Macro ( ext. macro_kind ( ) ) , def_id) ;
11261141 self . r . macro_map . insert ( def_id, ext) ;
11271142 self . r . local_macro_def_scopes . insert ( item. id , parent_scope. module ) ;
@@ -1251,7 +1266,7 @@ impl<'a, 'b> Visitor<'b> for BuildReducedGraphVisitor<'a, 'b> {
12511266 }
12521267
12531268 // Add the item to the trait info.
1254- let item_def_id = self . r . definitions . local_def_id ( item. id ) ;
1269+ let item_def_id = self . r . definitions . local_def_id ( item. id ) . to_def_id ( ) ;
12551270 let ( res, ns) = match item. kind {
12561271 AssocItemKind :: Const ( ..) => ( Res :: Def ( DefKind :: AssocConst , item_def_id) , ValueNS ) ,
12571272 AssocItemKind :: Fn ( _, ref sig, _, _) => {
@@ -1353,7 +1368,7 @@ impl<'a, 'b> Visitor<'b> for BuildReducedGraphVisitor<'a, 'b> {
13531368 let ident = variant. ident ;
13541369
13551370 // Define a name in the type namespace.
1356- let def_id = self . r . definitions . local_def_id ( variant. id ) ;
1371+ let def_id = self . r . definitions . local_def_id ( variant. id ) . to_def_id ( ) ;
13571372 let res = Res :: Def ( DefKind :: Variant , def_id) ;
13581373 self . r . define ( parent, ident, TypeNS , ( res, vis, variant. span , expn_id) ) ;
13591374
@@ -1371,7 +1386,7 @@ impl<'a, 'b> Visitor<'b> for BuildReducedGraphVisitor<'a, 'b> {
13711386 // It's ok to use the variant's id as a ctor id since an
13721387 // error will be reported on any use of such resolution anyway.
13731388 let ctor_node_id = variant. data . ctor_id ( ) . unwrap_or ( variant. id ) ;
1374- let ctor_def_id = self . r . definitions . local_def_id ( ctor_node_id) ;
1389+ let ctor_def_id = self . r . definitions . local_def_id ( ctor_node_id) . to_def_id ( ) ;
13751390 let ctor_kind = CtorKind :: from_ast ( & variant. data ) ;
13761391 let ctor_res = Res :: Def ( DefKind :: Ctor ( CtorOf :: Variant , ctor_kind) , ctor_def_id) ;
13771392 self . r . define ( parent, ident, ValueNS , ( ctor_res, ctor_vis, variant. span , expn_id) ) ;
0 commit comments