@@ -193,7 +193,6 @@ macro_rules! make_ast_visitor {
193193 make_visit!{ CoroutineKind ; visit_coroutine_kind, walk_coroutine_kind}
194194 make_visit!{ FnHeader ; visit_fn_header, walk_fn_header}
195195 make_visit!{ ForeignMod ; visit_foreign_mod, walk_foreign_mod}
196- make_visit!{ Ident ; visit_ident, walk_ident}
197196 make_visit!{ Lifetime ; visit_lifetime, walk_lifetime}
198197 make_visit!{ MacroDef ; visit_macro_def, walk_macro_def}
199198 make_visit!{ MetaItem ; visit_meta_item, walk_meta_item}
@@ -298,9 +297,6 @@ macro_rules! make_ast_visitor {
298297 make_visit!{ Variant ; visit_variant, walk_variant}
299298 make_visit!{ VariantData ; visit_variant_data, walk_struct_def}
300299
301- fn visit_ident( & mut self , _ident: & ' ast Ident ) -> Self :: Result {
302- Self :: Result :: output( )
303- }
304300 /// This method is a hack to workaround unstable of `stmt_expr_attributes`.
305301 /// It can be removed once that feature is stabilized.
306302 fn visit_method_receiver_expr( & mut self , ex: & ' ast Expr ) -> Self :: Result {
@@ -340,6 +336,7 @@ macro_rules! make_ast_visitor {
340336 make_visit!{ GenericArgs ; visit_generic_args, walk_generic_args}
341337 make_visit!{ GenericBound , _ ctxt: BoundKind ; visit_param_bound, walk_param_bound}
342338 make_visit!{ Generics ; visit_generics, walk_generics}
339+ make_visit!{ Ident ; visit_ident, walk_ident}
343340 make_visit!{ InlineAsm ; visit_inline_asm, walk_inline_asm}
344341 make_visit!{ InlineAsmSym ; visit_inline_asm_sym, walk_inline_asm_sym}
345342 make_visit!{ Label ; visit_label, walk_label}
@@ -358,6 +355,15 @@ macro_rules! make_ast_visitor {
358355 make_visit!{ P !( Pat ) ; visit_pat, walk_pat}
359356 make_visit!{ P !( Ty ) ; visit_ty, walk_ty}
360357 }
358+
359+ pub fn walk_ident<$( $lt, ) ? V : $trait$( <$lt>) ?>(
360+ vis: & mut V ,
361+ ident: ref_t!( Ident )
362+ ) -> result!( V ) {
363+ let Ident { name: _, span } = ident;
364+ try_v!( visit_span!( vis, span) ) ;
365+ return_result!( V )
366+ }
361367 }
362368}
363369
@@ -1709,10 +1715,6 @@ pub mod mut_visit {
17091715 smallvec ! [ variant]
17101716 }
17111717
1712- fn walk_ident < T : MutVisitor > ( vis : & mut T , Ident { name : _, span } : & mut Ident ) {
1713- vis. visit_span ( span) ;
1714- }
1715-
17161718 fn walk_path_segment < T : MutVisitor > ( vis : & mut T , segment : & mut PathSegment ) {
17171719 let PathSegment { ident, id, args } = segment;
17181720 vis. visit_id ( id) ;
0 commit comments