@@ -420,17 +420,18 @@ pub trait Visitor<'v>: Sized {
420420 fn visit_lifetime ( & mut self , lifetime : & ' v Lifetime ) {
421421 walk_lifetime ( self , lifetime)
422422 }
423- fn visit_qpath ( & mut self , qpath : & ' v QPath < ' v > , id : HirId , span : Span ) {
424- walk_qpath ( self , qpath, id, span)
423+ // The span is that of the surrounding type/pattern/expr/whatever.
424+ fn visit_qpath ( & mut self , qpath : & ' v QPath < ' v > , id : HirId , _span : Span ) {
425+ walk_qpath ( self , qpath, id)
425426 }
426427 fn visit_path ( & mut self , path : & ' v Path < ' v > , _id : HirId ) {
427428 walk_path ( self , path)
428429 }
429- fn visit_path_segment ( & mut self , path_span : Span , path_segment : & ' v PathSegment < ' v > ) {
430- walk_path_segment ( self , path_span , path_segment)
430+ fn visit_path_segment ( & mut self , path_segment : & ' v PathSegment < ' v > ) {
431+ walk_path_segment ( self , path_segment)
431432 }
432- fn visit_generic_args ( & mut self , path_span : Span , generic_args : & ' v GenericArgs < ' v > ) {
433- walk_generic_args ( self , path_span , generic_args)
433+ fn visit_generic_args ( & mut self , generic_args : & ' v GenericArgs < ' v > ) {
434+ walk_generic_args ( self , generic_args)
434435 }
435436 fn visit_assoc_type_binding ( & mut self , type_binding : & ' v TypeBinding < ' v > ) {
436437 walk_assoc_type_binding ( self , type_binding)
@@ -693,48 +694,35 @@ pub fn walk_inf<'v, V: Visitor<'v>>(visitor: &mut V, inf: &'v InferArg) {
693694 visitor. visit_id ( inf. hir_id ) ;
694695}
695696
696- pub fn walk_qpath < ' v , V : Visitor < ' v > > (
697- visitor : & mut V ,
698- qpath : & ' v QPath < ' v > ,
699- id : HirId ,
700- span : Span ,
701- ) {
697+ pub fn walk_qpath < ' v , V : Visitor < ' v > > ( visitor : & mut V , qpath : & ' v QPath < ' v > , id : HirId ) {
702698 match * qpath {
703699 QPath :: Resolved ( ref maybe_qself, ref path) => {
704700 walk_list ! ( visitor, visit_ty, maybe_qself) ;
705701 visitor. visit_path ( path, id)
706702 }
707703 QPath :: TypeRelative ( ref qself, ref segment) => {
708704 visitor. visit_ty ( qself) ;
709- visitor. visit_path_segment ( span , segment) ;
705+ visitor. visit_path_segment ( segment) ;
710706 }
711707 QPath :: LangItem ( ..) => { }
712708 }
713709}
714710
715711pub fn walk_path < ' v , V : Visitor < ' v > > ( visitor : & mut V , path : & ' v Path < ' v > ) {
716712 for segment in path. segments {
717- visitor. visit_path_segment ( path . span , segment) ;
713+ visitor. visit_path_segment ( segment) ;
718714 }
719715}
720716
721- pub fn walk_path_segment < ' v , V : Visitor < ' v > > (
722- visitor : & mut V ,
723- path_span : Span ,
724- segment : & ' v PathSegment < ' v > ,
725- ) {
717+ pub fn walk_path_segment < ' v , V : Visitor < ' v > > ( visitor : & mut V , segment : & ' v PathSegment < ' v > ) {
726718 visitor. visit_ident ( segment. ident ) ;
727719 visitor. visit_id ( segment. hir_id ) ;
728720 if let Some ( ref args) = segment. args {
729- visitor. visit_generic_args ( path_span , args) ;
721+ visitor. visit_generic_args ( args) ;
730722 }
731723}
732724
733- pub fn walk_generic_args < ' v , V : Visitor < ' v > > (
734- visitor : & mut V ,
735- _path_span : Span ,
736- generic_args : & ' v GenericArgs < ' v > ,
737- ) {
725+ pub fn walk_generic_args < ' v , V : Visitor < ' v > > ( visitor : & mut V , generic_args : & ' v GenericArgs < ' v > ) {
738726 walk_list ! ( visitor, visit_generic_arg, generic_args. args) ;
739727 walk_list ! ( visitor, visit_assoc_type_binding, generic_args. bindings) ;
740728}
@@ -745,7 +733,7 @@ pub fn walk_assoc_type_binding<'v, V: Visitor<'v>>(
745733) {
746734 visitor. visit_id ( type_binding. hir_id ) ;
747735 visitor. visit_ident ( type_binding. ident ) ;
748- visitor. visit_generic_args ( type_binding. span , type_binding . gen_args ) ;
736+ visitor. visit_generic_args ( type_binding. gen_args ) ;
749737 match type_binding. kind {
750738 TypeBindingKind :: Equality { ref term } => match term {
751739 Term :: Ty ( ref ty) => visitor. visit_ty ( ty) ,
@@ -822,9 +810,9 @@ pub fn walk_param_bound<'v, V: Visitor<'v>>(visitor: &mut V, bound: &'v GenericB
822810 GenericBound :: Trait ( ref typ, modifier) => {
823811 visitor. visit_poly_trait_ref ( typ, modifier) ;
824812 }
825- GenericBound :: LangItemTrait ( _, span , hir_id, args) => {
813+ GenericBound :: LangItemTrait ( _, _span , hir_id, args) => {
826814 visitor. visit_id ( hir_id) ;
827- visitor. visit_generic_args ( span , args) ;
815+ visitor. visit_generic_args ( args) ;
828816 }
829817 GenericBound :: Outlives ( ref lifetime) => visitor. visit_lifetime ( lifetime) ,
830818 }
@@ -1095,7 +1083,7 @@ pub fn walk_expr<'v, V: Visitor<'v>>(visitor: &mut V, expression: &'v Expr<'v>)
10951083 walk_list ! ( visitor, visit_expr, arguments) ;
10961084 }
10971085 ExprKind :: MethodCall ( ref segment, receiver, arguments, _) => {
1098- visitor. visit_path_segment ( expression . span , segment) ;
1086+ visitor. visit_path_segment ( segment) ;
10991087 visitor. visit_expr ( receiver) ;
11001088 walk_list ! ( visitor, visit_expr, arguments) ;
11011089 }
0 commit comments