Expand Type::Macro and Pat::Macro into real variants
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index 25c337b..1ce2f31 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -274,6 +274,8 @@
 # [ cfg ( feature = "full" ) ]
 fn fold_pat_lit(&mut self, i: PatLit) -> PatLit { fold_pat_lit(self, i) }
 # [ cfg ( feature = "full" ) ]
+fn fold_pat_macro(&mut self, i: PatMacro) -> PatMacro { fold_pat_macro(self, i) }
+# [ cfg ( feature = "full" ) ]
 fn fold_pat_path(&mut self, i: PatPath) -> PatPath { fold_pat_path(self, i) }
 # [ cfg ( feature = "full" ) ]
 fn fold_pat_range(&mut self, i: PatRange) -> PatRange { fold_pat_range(self, i) }
@@ -338,6 +340,8 @@
 
 fn fold_type_infer(&mut self, i: TypeInfer) -> TypeInfer { fold_type_infer(self, i) }
 
+fn fold_type_macro(&mut self, i: TypeMacro) -> TypeMacro { fold_type_macro(self, i) }
+
 fn fold_type_never(&mut self, i: TypeNever) -> TypeNever { fold_type_never(self, i) }
 
 fn fold_type_param(&mut self, i: TypeParam) -> TypeParam { fold_type_param(self, i) }
@@ -2102,7 +2106,7 @@
         }
         Macro(_binding_0, ) => {
             Macro (
-                _visitor.fold_macro(_binding_0),
+                _visitor.fold_pat_macro(_binding_0),
             )
         }
         Verbatim(_binding_0, ) => {
@@ -2136,6 +2140,12 @@
     }
 }
 # [ cfg ( feature = "full" ) ]
+pub fn fold_pat_macro<V: Folder + ?Sized>(_visitor: &mut V, _i: PatMacro) -> PatMacro {
+    PatMacro {
+        mac: _visitor.fold_macro(_i . mac),
+    }
+}
+# [ cfg ( feature = "full" ) ]
 pub fn fold_pat_path<V: Folder + ?Sized>(_visitor: &mut V, _i: PatPath) -> PatPath {
     PatPath {
         qself: (_i . qself).map(|it| { _visitor.fold_qself(it) }),
@@ -2483,7 +2493,7 @@
         }
         Macro(_binding_0, ) => {
             Macro (
-                _visitor.fold_macro(_binding_0),
+                _visitor.fold_type_macro(_binding_0),
             )
         }
         Verbatim(_binding_0, ) => {
@@ -2544,6 +2554,12 @@
     }
 }
 
+pub fn fold_type_macro<V: Folder + ?Sized>(_visitor: &mut V, _i: TypeMacro) -> TypeMacro {
+    TypeMacro {
+        mac: _visitor.fold_macro(_i . mac),
+    }
+}
+
 pub fn fold_type_never<V: Folder + ?Sized>(_visitor: &mut V, _i: TypeNever) -> TypeNever {
     TypeNever {
         bang_token: Token ! [ ! ](tokens_helper(_visitor, &(_i . bang_token).0)),