@@ -420,17 +420,18 @@ pub trait Visitor<'v>: Sized {
420
420
fn visit_lifetime ( & mut self , lifetime : & ' v Lifetime ) {
421
421
walk_lifetime ( self , lifetime)
422
422
}
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)
425
426
}
426
427
fn visit_path ( & mut self , path : & ' v Path < ' v > , _id : HirId ) {
427
428
walk_path ( self , path)
428
429
}
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)
431
432
}
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)
434
435
}
435
436
fn visit_assoc_type_binding ( & mut self , type_binding : & ' v TypeBinding < ' v > ) {
436
437
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) {
693
694
visitor. visit_id ( inf. hir_id ) ;
694
695
}
695
696
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 ) {
702
698
match * qpath {
703
699
QPath :: Resolved ( ref maybe_qself, ref path) => {
704
700
walk_list ! ( visitor, visit_ty, maybe_qself) ;
705
701
visitor. visit_path ( path, id)
706
702
}
707
703
QPath :: TypeRelative ( ref qself, ref segment) => {
708
704
visitor. visit_ty ( qself) ;
709
- visitor. visit_path_segment ( span , segment) ;
705
+ visitor. visit_path_segment ( segment) ;
710
706
}
711
707
QPath :: LangItem ( ..) => { }
712
708
}
713
709
}
714
710
715
711
pub fn walk_path < ' v , V : Visitor < ' v > > ( visitor : & mut V , path : & ' v Path < ' v > ) {
716
712
for segment in path. segments {
717
- visitor. visit_path_segment ( path . span , segment) ;
713
+ visitor. visit_path_segment ( segment) ;
718
714
}
719
715
}
720
716
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 > ) {
726
718
visitor. visit_ident ( segment. ident ) ;
727
719
visitor. visit_id ( segment. hir_id ) ;
728
720
if let Some ( ref args) = segment. args {
729
- visitor. visit_generic_args ( path_span , args) ;
721
+ visitor. visit_generic_args ( args) ;
730
722
}
731
723
}
732
724
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 > ) {
738
726
walk_list ! ( visitor, visit_generic_arg, generic_args. args) ;
739
727
walk_list ! ( visitor, visit_assoc_type_binding, generic_args. bindings) ;
740
728
}
@@ -745,7 +733,7 @@ pub fn walk_assoc_type_binding<'v, V: Visitor<'v>>(
745
733
) {
746
734
visitor. visit_id ( type_binding. hir_id ) ;
747
735
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 ) ;
749
737
match type_binding. kind {
750
738
TypeBindingKind :: Equality { ref term } => match term {
751
739
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
822
810
GenericBound :: Trait ( ref typ, modifier) => {
823
811
visitor. visit_poly_trait_ref ( typ, modifier) ;
824
812
}
825
- GenericBound :: LangItemTrait ( _, span , hir_id, args) => {
813
+ GenericBound :: LangItemTrait ( _, _span , hir_id, args) => {
826
814
visitor. visit_id ( hir_id) ;
827
- visitor. visit_generic_args ( span , args) ;
815
+ visitor. visit_generic_args ( args) ;
828
816
}
829
817
GenericBound :: Outlives ( ref lifetime) => visitor. visit_lifetime ( lifetime) ,
830
818
}
@@ -1095,7 +1083,7 @@ pub fn walk_expr<'v, V: Visitor<'v>>(visitor: &mut V, expression: &'v Expr<'v>)
1095
1083
walk_list ! ( visitor, visit_expr, arguments) ;
1096
1084
}
1097
1085
ExprKind :: MethodCall ( ref segment, receiver, arguments, _) => {
1098
- visitor. visit_path_segment ( expression . span , segment) ;
1086
+ visitor. visit_path_segment ( segment) ;
1099
1087
visitor. visit_expr ( receiver) ;
1100
1088
walk_list ! ( visitor, visit_expr, arguments) ;
1101
1089
}
0 commit comments