@@ -400,7 +400,10 @@ impl<'a, 'ra, 'tcx> visit::Visitor<'a> for DefCollector<'a, 'ra, 'tcx> {
400400
401401 fn visit_pat ( & mut self , pat : & ' a Pat ) {
402402 match pat. kind {
403- PatKind :: MacCall ( ..) => self . visit_macro_invoc ( pat. id ) ,
403+ PatKind :: MacCall ( ..) => {
404+ self . visit_macro_invoc ( pat. id ) ;
405+ self . visit_invoc ( pat. id ) ;
406+ }
404407 _ => visit:: walk_pat ( self , pat) ,
405408 }
406409 }
@@ -434,7 +437,11 @@ impl<'a, 'ra, 'tcx> visit::Visitor<'a> for DefCollector<'a, 'ra, 'tcx> {
434437 debug ! ( ?self . invocation_parent) ;
435438
436439 let parent_def = match & expr. kind {
437- ExprKind :: MacCall ( ..) => return self . visit_macro_invoc ( expr. id ) ,
440+ ExprKind :: MacCall ( ..) => {
441+ self . visit_macro_invoc ( expr. id ) ;
442+ self . visit_invoc ( expr. id ) ;
443+ return ;
444+ }
438445 ExprKind :: Closure ( ..) | ExprKind :: Gen ( ..) => {
439446 self . create_def ( expr. id , None , DefKind :: Closure , expr. span )
440447 }
@@ -486,7 +493,10 @@ impl<'a, 'ra, 'tcx> visit::Visitor<'a> for DefCollector<'a, 'ra, 'tcx> {
486493
487494 fn visit_ty ( & mut self , ty : & ' a Ty ) {
488495 match ty. kind {
489- TyKind :: MacCall ( ..) => self . visit_macro_invoc ( ty. id ) ,
496+ TyKind :: MacCall ( ..) => {
497+ self . visit_macro_invoc ( ty. id ) ;
498+ self . visit_invoc ( ty. id ) ;
499+ }
490500 TyKind :: ImplTrait ( opaque_id, _) => {
491501 let name = * self
492502 . r
0 commit comments