Update to the next version of proc-macro2

Depends on dtolnay/quote#73
Depends on alexcrichton/proc-macro2#90
Depends on a new nightly
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index 6a38d1d..3a8c28d 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -189,8 +189,6 @@
 fn visit_generic_param(&mut self, i: &'ast GenericParam) { visit_generic_param(self, i) }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 fn visit_generics(&mut self, i: &'ast Generics) { visit_generics(self, i) }
-
-fn visit_ident(&mut self, i: &'ast Ident) { visit_ident(self, i) }
 # [ cfg ( feature = "full" ) ]
 fn visit_impl_item(&mut self, i: &'ast ImplItem) { visit_impl_item(self, i) }
 # [ cfg ( feature = "full" ) ]
@@ -491,7 +489,7 @@
 pub fn visit_bare_fn_arg_name<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BareFnArgName) {
     match *_i {
         BareFnArgName::Named(ref _binding_0, ) => {
-            _visitor.visit_ident(_binding_0);
+            // Skipped field _binding_0;
         }
         BareFnArgName::Wild(ref _binding_0, ) => {
             tokens_helper(_visitor, &(_binding_0).0);
@@ -589,7 +587,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_binding<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Binding) {
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . eq_token).0);
     _visitor.visit_type(& _i . ty);
 }
@@ -609,7 +607,7 @@
 pub fn visit_const_param<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ConstParam) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     tokens_helper(_visitor, &(& _i . const_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . colon_token).0);
     _visitor.visit_type(& _i . ty);
     if let Some(ref it) = _i . eq_token { tokens_helper(_visitor, &(it).0) };
@@ -650,7 +648,7 @@
 pub fn visit_derive_input<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast DeriveInput) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_generics(& _i . generics);
     _visitor.visit_data(& _i . data);
 }
@@ -954,7 +952,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . receiver);
     tokens_helper(_visitor, &(& _i . dot_token).0);
-    _visitor.visit_ident(& _i . method);
+    // Skipped field _i . method;
     if let Some(ref it) = _i . turbofish { _visitor.visit_method_turbofish(it) };
     tokens_helper(_visitor, &(& _i . paren_token).0);
     for el in Punctuated::pairs(& _i . args) { let it = el.value(); _visitor.visit_expr(it) };
@@ -1072,7 +1070,7 @@
 pub fn visit_field<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Field) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    if let Some(ref it) = _i . ident { _visitor.visit_ident(it) };
+    // Skipped field _i . ident;
     if let Some(ref it) = _i . colon_token { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_type(& _i . ty);
 }
@@ -1168,7 +1166,7 @@
 pub fn visit_foreign_item_fn<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ForeignItemFn) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_fn_decl(& * _i . decl);
     tokens_helper(_visitor, &(& _i . semi_token).0);
 }
@@ -1178,7 +1176,7 @@
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . static_token).0);
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . colon_token).0);
     _visitor.visit_type(& * _i . ty);
     tokens_helper(_visitor, &(& _i . semi_token).0);
@@ -1188,7 +1186,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . type_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
@@ -1244,10 +1242,6 @@
     if let Some(ref it) = _i . gt_token { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . where_clause { _visitor.visit_where_clause(it) };
 }
-
-pub fn visit_ident<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Ident) {
-    // Skipped field _i . term;
-}
 # [ cfg ( feature = "full" ) ]
 pub fn visit_impl_item<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplItem) {
     match *_i {
@@ -1274,7 +1268,7 @@
     _visitor.visit_visibility(& _i . vis);
     if let Some(ref it) = _i . defaultness { tokens_helper(_visitor, &(it).0) };
     tokens_helper(_visitor, &(& _i . const_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . colon_token).0);
     _visitor.visit_type(& _i . ty);
     tokens_helper(_visitor, &(& _i . eq_token).0);
@@ -1301,7 +1295,7 @@
     _visitor.visit_visibility(& _i . vis);
     if let Some(ref it) = _i . defaultness { tokens_helper(_visitor, &(it).0) };
     tokens_helper(_visitor, &(& _i . type_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_generics(& _i . generics);
     tokens_helper(_visitor, &(& _i . eq_token).0);
     _visitor.visit_type(& _i . ty);
@@ -1374,7 +1368,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . const_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . colon_token).0);
     _visitor.visit_type(& * _i . ty);
     tokens_helper(_visitor, &(& _i . eq_token).0);
@@ -1386,7 +1380,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . enum_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_generics(& _i . generics);
     tokens_helper(_visitor, &(& _i . brace_token).0);
     for el in Punctuated::pairs(& _i . variants) { let it = el.value(); _visitor.visit_variant(it) };
@@ -1397,10 +1391,10 @@
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . extern_token).0);
     tokens_helper(_visitor, &(& _i . crate_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     if let Some(ref it) = _i . rename { 
             tokens_helper(_visitor, &(& ( it ) . 0).0);
-            _visitor.visit_ident(& ( it ) . 1);
+            // Skipped field ( it ) . 1;
          };
     tokens_helper(_visitor, &(& _i . semi_token).0);
 }
@@ -1411,7 +1405,7 @@
     if let Some(ref it) = _i . constness { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . unsafety { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . abi { _visitor.visit_abi(it) };
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_fn_decl(& * _i . decl);
     _visitor.visit_block(& * _i . block);
 }
@@ -1441,7 +1435,7 @@
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_macro<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemMacro) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    if let Some(ref it) = _i . ident { _visitor.visit_ident(it) };
+    // Skipped field _i . ident;
     _visitor.visit_macro(& _i . mac);
     if let Some(ref it) = _i . semi_token { tokens_helper(_visitor, &(it).0) };
 }
@@ -1450,7 +1444,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . macro_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . paren_token).0);
     // Skipped field _i . args;
     tokens_helper(_visitor, &(& _i . brace_token).0);
@@ -1461,7 +1455,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . mod_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     if let Some(ref it) = _i . content { 
             tokens_helper(_visitor, &(& ( it ) . 0).0);
             for it in & ( it ) . 1 { _visitor.visit_item(it) };
@@ -1474,7 +1468,7 @@
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . static_token).0);
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . colon_token).0);
     _visitor.visit_type(& * _i . ty);
     tokens_helper(_visitor, &(& _i . eq_token).0);
@@ -1486,7 +1480,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . struct_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_generics(& _i . generics);
     _visitor.visit_fields(& _i . fields);
     if let Some(ref it) = _i . semi_token { tokens_helper(_visitor, &(it).0) };
@@ -1498,7 +1492,7 @@
     if let Some(ref it) = _i . unsafety { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . auto_token { tokens_helper(_visitor, &(it).0) };
     tokens_helper(_visitor, &(& _i . trait_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_generics(& _i . generics);
     if let Some(ref it) = _i . colon_token { tokens_helper(_visitor, &(it).0) };
     for el in Punctuated::pairs(& _i . supertraits) { let it = el.value(); _visitor.visit_type_param_bound(it) };
@@ -1510,7 +1504,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . type_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_generics(& _i . generics);
     tokens_helper(_visitor, &(& _i . eq_token).0);
     _visitor.visit_type(& * _i . ty);
@@ -1521,7 +1515,7 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     tokens_helper(_visitor, &(& _i . union_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_generics(& _i . generics);
     _visitor.visit_fields_named(& _i . fields);
 }
@@ -1545,7 +1539,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_lifetime<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Lifetime) {
-    // Skipped field _i . term;
+    // Skipped field _i . ident;
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_lifetime_def<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast LifetimeDef) {
@@ -1656,7 +1650,7 @@
 pub fn visit_member<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Member) {
     match *_i {
         Member::Named(ref _binding_0, ) => {
-            _visitor.visit_ident(_binding_0);
+            // Skipped field _binding_0;
         }
         Member::Unnamed(ref _binding_0, ) => {
             _visitor.visit_index(_binding_0);
@@ -1667,7 +1661,7 @@
 pub fn visit_meta<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Meta) {
     match *_i {
         Meta::Word(ref _binding_0, ) => {
-            _visitor.visit_ident(_binding_0);
+            // Skipped field _binding_0;
         }
         Meta::List(ref _binding_0, ) => {
             _visitor.visit_meta_list(_binding_0);
@@ -1679,13 +1673,13 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_meta_list<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MetaList) {
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . paren_token).0);
     for el in Punctuated::pairs(& _i . nested) { let it = el.value(); _visitor.visit_nested_meta(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_meta_name_value<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MetaNameValue) {
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . eq_token).0);
     _visitor.visit_lit(& _i . lit);
 }
@@ -1694,7 +1688,7 @@
     if let Some(ref it) = _i . constness { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . unsafety { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . abi { _visitor.visit_abi(it) };
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_fn_decl(& _i . decl);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
@@ -1774,7 +1768,7 @@
 pub fn visit_pat_ident<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatIdent) {
     if let Some(ref it) = _i . by_ref { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     if let Some(ref it) = _i . subpat { 
             tokens_helper(_visitor, &(& ( it ) . 0).0);
             _visitor.visit_pat(& * ( it ) . 1);
@@ -1861,7 +1855,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_path_segment<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PathSegment) {
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_path_arguments(& _i . arguments);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1973,7 +1967,7 @@
 pub fn visit_trait_item_const<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemConst) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     tokens_helper(_visitor, &(& _i . const_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . colon_token).0);
     _visitor.visit_type(& _i . ty);
     if let Some(ref it) = _i . default { 
@@ -1999,7 +1993,7 @@
 pub fn visit_trait_item_type<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemType) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     tokens_helper(_visitor, &(& _i . type_token).0);
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_generics(& _i . generics);
     if let Some(ref it) = _i . colon_token { tokens_helper(_visitor, &(it).0) };
     for el in Punctuated::pairs(& _i . bounds) { let it = el.value(); _visitor.visit_type_param_bound(it) };
@@ -2106,7 +2100,7 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_param<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeParam) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     if let Some(ref it) = _i . colon_token { tokens_helper(_visitor, &(it).0) };
     for el in Punctuated::pairs(& _i . bounds) { let it = el.value(); _visitor.visit_type_param_bound(it) };
     if let Some(ref it) = _i . eq_token { tokens_helper(_visitor, &(it).0) };
@@ -2191,19 +2185,19 @@
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_name<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseName) {
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_path<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UsePath) {
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . colon2_token).0);
     _visitor.visit_use_tree(& * _i . tree);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_rename<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseRename) {
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     tokens_helper(_visitor, &(& _i . as_token).0);
-    _visitor.visit_ident(& _i . rename);
+    // Skipped field _i . rename;
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_tree<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseTree) {
@@ -2228,7 +2222,7 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_variant<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Variant) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    _visitor.visit_ident(& _i . ident);
+    // Skipped field _i . ident;
     _visitor.visit_fields(& _i . fields);
     if let Some(ref it) = _i . discriminant { 
             tokens_helper(_visitor, &(& ( it ) . 0).0);