@@ -123,7 +123,7 @@ impl<'hir> Iterator for ParentOwnerIterator<'hir> {
123
123
fn next ( & mut self ) -> Option < Self :: Item > {
124
124
if self . current_id . local_id . index ( ) != 0 {
125
125
self . current_id . local_id = ItemLocalId :: new ( 0 ) ;
126
- if let MaybeOwner :: Owner ( node) = self . map . tcx . hir_owner ( self . current_id . owner ) {
126
+ if let Some ( node) = self . map . tcx . hir_owner ( self . current_id . owner ) {
127
127
return Some ( ( self . current_id . owner , node. node ) ) ;
128
128
}
129
129
}
@@ -141,7 +141,7 @@ impl<'hir> Iterator for ParentOwnerIterator<'hir> {
141
141
self . current_id = HirId :: make_owner ( parent_id) ;
142
142
143
143
// If this `HirId` doesn't have an entry, skip it and look for its `parent_id`.
144
- if let MaybeOwner :: Owner ( node) = self . map . tcx . hir_owner ( self . current_id . owner ) {
144
+ if let Some ( node) = self . map . tcx . hir_owner ( self . current_id . owner ) {
145
145
return Some ( ( self . current_id . owner , node. node ) ) ;
146
146
}
147
147
}
@@ -155,7 +155,7 @@ impl<'hir> Map<'hir> {
155
155
156
156
pub fn root_module ( & self ) -> & ' hir Mod < ' hir > {
157
157
match self . tcx . hir_owner ( CRATE_DEF_ID ) . map ( |o| o. node ) {
158
- MaybeOwner :: Owner ( OwnerNode :: Crate ( item) ) => item,
158
+ Some ( OwnerNode :: Crate ( item) ) => item,
159
159
_ => bug ! ( ) ,
160
160
}
161
161
}
@@ -215,7 +215,7 @@ impl<'hir> Map<'hir> {
215
215
216
216
#[ inline]
217
217
pub fn local_def_id_to_hir_id ( & self , def_id : LocalDefId ) -> HirId {
218
- let owner = self . tcx . hir_owner ( def_id) ;
218
+ let owner = self . tcx . local_def_id_to_hir_id ( def_id) ;
219
219
match owner {
220
220
MaybeOwner :: Owner ( _) => HirId :: make_owner ( def_id) ,
221
221
MaybeOwner :: Phantom => bug ! ( "No HirId for {:?}" , def_id) ,
@@ -340,7 +340,7 @@ impl<'hir> Map<'hir> {
340
340
/// Retrieves the `Node` corresponding to `id`, returning `None` if cannot be found.
341
341
pub fn find ( & self , id : HirId ) -> Option < Node < ' hir > > {
342
342
if id. local_id == ItemLocalId :: from_u32 ( 0 ) {
343
- let owner = self . tcx . hir_owner ( id. owner ) . as_owner ( ) ?;
343
+ let owner = self . tcx . hir_owner ( id. owner ) ?;
344
344
Some ( owner. node . into ( ) )
345
345
} else {
346
346
let owner = self . tcx . hir_owner_nodes ( id. owner ) . as_owner ( ) ?;
@@ -371,7 +371,7 @@ impl<'hir> Map<'hir> {
371
371
}
372
372
373
373
pub fn get_generics ( & self , id : LocalDefId ) -> Option < & ' hir Generics < ' hir > > {
374
- let node = self . tcx . hir_owner ( id) . as_owner ( ) ?;
374
+ let node = self . tcx . hir_owner ( id) ?;
375
375
match node. node {
376
376
OwnerNode :: ImplItem ( impl_item) => Some ( & impl_item. generics ) ,
377
377
OwnerNode :: TraitItem ( trait_item) => Some ( & trait_item. generics ) ,
@@ -588,10 +588,10 @@ impl<'hir> Map<'hir> {
588
588
pub fn get_module ( & self , module : LocalDefId ) -> ( & ' hir Mod < ' hir > , Span , HirId ) {
589
589
let hir_id = HirId :: make_owner ( module) ;
590
590
match self . tcx . hir_owner ( module) . map ( |o| o. node ) {
591
- MaybeOwner :: Owner ( OwnerNode :: Item ( & Item {
592
- span , kind : ItemKind :: Mod ( ref m ) , ..
593
- } ) ) => ( m , span , hir_id ) ,
594
- MaybeOwner :: Owner ( OwnerNode :: Crate ( item) ) => ( item, item. inner , hir_id) ,
591
+ Some ( OwnerNode :: Item ( & Item { span , kind : ItemKind :: Mod ( ref m ) , .. } ) ) => {
592
+ ( m , span , hir_id )
593
+ }
594
+ Some ( OwnerNode :: Crate ( item) ) => ( item, item. inner , hir_id) ,
595
595
node => panic ! ( "not a module: {:?}" , node) ,
596
596
}
597
597
}
@@ -885,7 +885,7 @@ impl<'hir> Map<'hir> {
885
885
886
886
pub fn get_foreign_abi ( & self , hir_id : HirId ) -> Abi {
887
887
let parent = self . get_parent_item ( hir_id) ;
888
- if let MaybeOwner :: Owner ( node) = self . tcx . hir_owner ( parent) {
888
+ if let Some ( node) = self . tcx . hir_owner ( parent) {
889
889
if let OwnerNode :: Item ( Item { kind : ItemKind :: ForeignMod { abi, .. } , .. } ) = node. node
890
890
{
891
891
return * abi;
@@ -899,21 +899,21 @@ impl<'hir> Map<'hir> {
899
899
900
900
pub fn expect_item ( & self , id : LocalDefId ) -> & ' hir Item < ' hir > {
901
901
match self . tcx . hir_owner ( id) {
902
- MaybeOwner :: Owner ( Owner { node : OwnerNode :: Item ( item) , .. } ) => item,
902
+ Some ( Owner { node : OwnerNode :: Item ( item) , .. } ) => item,
903
903
_ => bug ! ( "expected item, found {}" , self . node_to_string( HirId :: make_owner( id) ) ) ,
904
904
}
905
905
}
906
906
907
907
pub fn expect_impl_item ( & self , id : LocalDefId ) -> & ' hir ImplItem < ' hir > {
908
908
match self . tcx . hir_owner ( id) {
909
- MaybeOwner :: Owner ( Owner { node : OwnerNode :: ImplItem ( item) , .. } ) => item,
909
+ Some ( Owner { node : OwnerNode :: ImplItem ( item) , .. } ) => item,
910
910
_ => bug ! ( "expected impl item, found {}" , self . node_to_string( HirId :: make_owner( id) ) ) ,
911
911
}
912
912
}
913
913
914
914
pub fn expect_trait_item ( & self , id : LocalDefId ) -> & ' hir TraitItem < ' hir > {
915
915
match self . tcx . hir_owner ( id) {
916
- MaybeOwner :: Owner ( Owner { node : OwnerNode :: TraitItem ( item) , .. } ) => item,
916
+ Some ( Owner { node : OwnerNode :: TraitItem ( item) , .. } ) => item,
917
917
_ => bug ! ( "expected trait item, found {}" , self . node_to_string( HirId :: make_owner( id) ) ) ,
918
918
}
919
919
}
@@ -927,7 +927,7 @@ impl<'hir> Map<'hir> {
927
927
928
928
pub fn expect_foreign_item ( & self , id : LocalDefId ) -> & ' hir ForeignItem < ' hir > {
929
929
match self . tcx . hir_owner ( id) {
930
- MaybeOwner :: Owner ( Owner { node : OwnerNode :: ForeignItem ( item) , .. } ) => item,
930
+ Some ( Owner { node : OwnerNode :: ForeignItem ( item) , .. } ) => item,
931
931
_ => {
932
932
bug ! ( "expected foreign item, found {}" , self . node_to_string( HirId :: make_owner( id) ) )
933
933
}
0 commit comments