@@ -1274,42 +1274,24 @@ impl InvocationCollectorNode for P<ast::Item> {
1274
1274
res
1275
1275
}
1276
1276
fn declared_names ( & self ) -> Vec < Ident > {
1277
- struct ItemNameVisitor ( Vec < Ident > , u8 ) ;
1278
- impl Visitor < ' _ > for ItemNameVisitor {
1279
- fn visit_item ( & mut self , i : & ast:: Item ) {
1280
- self . 1 += 1 ;
1281
- if let ItemKind :: Use ( ut) = & i. kind {
1282
- fn collect_use_tree_leaves ( ut : & ast:: UseTree , idents : & mut Vec < Ident > ) {
1283
- match & ut. kind {
1284
- ast:: UseTreeKind :: Glob => { }
1285
- ast:: UseTreeKind :: Simple ( _) => idents. push ( ut. ident ( ) ) ,
1286
- ast:: UseTreeKind :: Nested { items, .. } => {
1287
- for ( ut, _) in items {
1288
- collect_use_tree_leaves ( ut, idents) ;
1289
- }
1290
- }
1277
+ if let ItemKind :: Use ( ut) = & self . kind {
1278
+ fn collect_use_tree_leaves ( ut : & ast:: UseTree , idents : & mut Vec < Ident > ) {
1279
+ match & ut. kind {
1280
+ ast:: UseTreeKind :: Glob => { }
1281
+ ast:: UseTreeKind :: Simple ( _) => idents. push ( ut. ident ( ) ) ,
1282
+ ast:: UseTreeKind :: Nested { items, .. } => {
1283
+ for ( ut, _) in items {
1284
+ collect_use_tree_leaves ( ut, idents) ;
1291
1285
}
1292
1286
}
1293
-
1294
- collect_use_tree_leaves ( ut, & mut self . 0 ) ;
1295
- } else {
1296
- self . 0 . push ( i. ident ) ;
1297
1287
}
1298
- if self . 1 < 4 {
1299
- // We only visit up to 3 levels of nesting from this item, like if we were
1300
- // looking at `mod a`, we'd find item `a::b::c`. We have this limit to guard
1301
- // against deeply nested modules behind `cfg` flags, where we could spend
1302
- // significant time collecting this information purely for a potential
1303
- // diagnostic improvement.
1304
- visit:: walk_item ( self , i) ;
1305
- }
1306
- self . 1 -= 1 ;
1307
1288
}
1289
+ let mut idents = vec ! [ ] ;
1290
+ collect_use_tree_leaves ( & ut, & mut idents) ;
1291
+ idents
1292
+ } else {
1293
+ vec ! [ self . ident]
1308
1294
}
1309
-
1310
- let mut v = ItemNameVisitor ( vec ! [ ] , 0 ) ;
1311
- v. visit_item ( self ) ;
1312
- v. 0
1313
1295
}
1314
1296
}
1315
1297
0 commit comments