@@ -328,8 +328,7 @@ impl<'tcx> TyCtxt<'tcx> {
328
328
}
329
329
330
330
/// Returns an iterator of the `DefId`s for all body-owners in this
331
- /// crate. If you would prefer to iterate over the bodies
332
- /// themselves, you can do `self.hir_crate(()).body_ids.iter()`.
331
+ /// crate.
333
332
#[ inline]
334
333
pub fn hir_body_owners ( self ) -> impl Iterator < Item = LocalDefId > {
335
334
self . hir_crate_items ( ( ) ) . body_owners . iter ( ) . copied ( )
@@ -396,12 +395,11 @@ impl<'tcx> TyCtxt<'tcx> {
396
395
where
397
396
V : Visitor < ' tcx > ,
398
397
{
399
- let krate = self . hir_crate ( ( ) ) ;
400
- for info in krate. owners . iter ( ) {
401
- if let MaybeOwner :: Owner ( info) = info {
402
- for attrs in info. attrs . map . values ( ) {
403
- walk_list ! ( visitor, visit_attribute, * attrs) ;
404
- }
398
+ let krate = self . hir_crate_items ( ( ) ) ;
399
+ for owner in krate. owners ( ) {
400
+ let attrs = self . hir_attr_map ( owner) ;
401
+ for attrs in attrs. map . values ( ) {
402
+ walk_list ! ( visitor, visit_attribute, * attrs) ;
405
403
}
406
404
}
407
405
V :: Result :: output ( )
@@ -1225,6 +1223,7 @@ pub(super) fn hir_module_items(tcx: TyCtxt<'_>, module_id: LocalModDefId) -> Mod
1225
1223
..
1226
1224
} = collector;
1227
1225
ModuleItems {
1226
+ add_root : false ,
1228
1227
submodules : submodules. into_boxed_slice ( ) ,
1229
1228
free_items : items. into_boxed_slice ( ) ,
1230
1229
trait_items : trait_items. into_boxed_slice ( ) ,
@@ -1258,6 +1257,7 @@ pub(crate) fn hir_crate_items(tcx: TyCtxt<'_>, _: ()) -> ModuleItems {
1258
1257
} = collector;
1259
1258
1260
1259
ModuleItems {
1260
+ add_root : true ,
1261
1261
submodules : submodules. into_boxed_slice ( ) ,
1262
1262
free_items : items. into_boxed_slice ( ) ,
1263
1263
trait_items : trait_items. into_boxed_slice ( ) ,
0 commit comments