@@ -11,7 +11,7 @@ use crate::ast::*;
1111use crate :: ptr:: P ;
1212use crate :: token:: { self , Token } ;
1313use crate :: tokenstream:: * ;
14- use crate :: visit:: { AssocCtxt , BoundKind , FnCtxt } ;
14+ use crate :: visit:: { AssocCtxt , BoundKind } ;
1515
1616use rustc_data_structures:: flat_map_in_place:: FlatMapInPlace ;
1717use rustc_data_structures:: stack:: ensure_sufficient_stack;
@@ -36,14 +36,7 @@ impl<A: Array> ExpectOne<A> for SmallVec<A> {
3636}
3737
3838pub trait WalkItemKind {
39- fn walk (
40- & mut self ,
41- ctxt : Option < AssocCtxt > ,
42- ident : Ident ,
43- span : Span ,
44- id : NodeId ,
45- visitor : & mut impl MutVisitor ,
46- ) ;
39+ fn walk ( & mut self , span : Span , id : NodeId , visitor : & mut impl MutVisitor ) ;
4740}
4841
4942pub trait MutVisitor : Sized {
@@ -102,11 +95,11 @@ pub trait MutVisitor: Sized {
10295 }
10396
10497 fn flat_map_foreign_item ( & mut self , ni : P < ForeignItem > ) -> SmallVec < [ P < ForeignItem > ; 1 ] > {
105- walk_flat_map_item ( self , ni, None )
98+ walk_flat_map_item ( self , ni)
10699 }
107100
108101 fn flat_map_item ( & mut self , i : P < Item > ) -> SmallVec < [ P < Item > ; 1 ] > {
109- walk_flat_map_item ( self , i, None )
102+ walk_flat_map_item ( self , i)
110103 }
111104
112105 fn visit_fn_header ( & mut self , header : & mut FnHeader ) {
@@ -120,9 +113,9 @@ pub trait MutVisitor: Sized {
120113 fn flat_map_assoc_item (
121114 & mut self ,
122115 i : P < AssocItem > ,
123- ctxt : AssocCtxt ,
116+ _ctxt : AssocCtxt ,
124117 ) -> SmallVec < [ P < AssocItem > ; 1 ] > {
125- walk_flat_map_item ( self , i, Some ( ctxt ) )
118+ walk_flat_map_item ( self , i)
126119 }
127120
128121 fn visit_fn_decl ( & mut self , d : & mut P < FnDecl > ) {
@@ -890,7 +883,7 @@ fn walk_coroutine_kind<T: MutVisitor>(vis: &mut T, coroutine_kind: &mut Coroutin
890883
891884fn walk_fn < T : MutVisitor > ( vis : & mut T , kind : FnKind < ' _ > ) {
892885 match kind {
893- FnKind :: Fn ( _ctxt , _ident , FnSig { header, decl, span } , generics, body) => {
886+ FnKind :: Fn ( FnSig { header, decl, span } , generics, body) => {
894887 // Identifier and visibility are visited as a part of the item.
895888 vis. visit_fn_header ( header) ;
896889 vis. visit_generics ( generics) ;
@@ -1091,24 +1084,15 @@ pub fn walk_block<T: MutVisitor>(vis: &mut T, block: &mut P<Block>) {
10911084
10921085pub fn walk_item_kind (
10931086 kind : & mut impl WalkItemKind ,
1094- ident : Ident ,
10951087 span : Span ,
10961088 id : NodeId ,
10971089 vis : & mut impl MutVisitor ,
10981090) {
1099- kind. walk ( None , ident , span, id, vis)
1091+ kind. walk ( span, id, vis)
11001092}
11011093
11021094impl WalkItemKind for ItemKind {
1103- fn walk (
1104- & mut self ,
1105- ctxt : Option < AssocCtxt > ,
1106- ident : Ident ,
1107- span : Span ,
1108- id : NodeId ,
1109- vis : & mut impl MutVisitor ,
1110- ) {
1111- assert_eq ! ( ctxt, None ) ;
1095+ fn walk ( & mut self , span : Span , id : NodeId , vis : & mut impl MutVisitor ) {
11121096 match self {
11131097 ItemKind :: ExternCrate ( _orig_name) => { }
11141098 ItemKind :: Use ( use_tree) => vis. visit_use_tree ( use_tree) ,
@@ -1121,7 +1105,7 @@ impl WalkItemKind for ItemKind {
11211105 }
11221106 ItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
11231107 visit_defaultness ( vis, defaultness) ;
1124- vis. visit_fn ( FnKind :: Fn ( FnCtxt :: Free , ident , sig, generics, body) , span, id) ;
1108+ vis. visit_fn ( FnKind :: Fn ( sig, generics, body) , span, id) ;
11251109 }
11261110 ItemKind :: Mod ( safety, mod_kind) => {
11271111 visit_safety ( vis, safety) ;
@@ -1220,26 +1204,14 @@ impl WalkItemKind for ItemKind {
12201204}
12211205
12221206impl WalkItemKind for AssocItemKind {
1223- fn walk (
1224- & mut self ,
1225- ctxt : Option < AssocCtxt > ,
1226- ident : Ident ,
1227- span : Span ,
1228- id : NodeId ,
1229- visitor : & mut impl MutVisitor ,
1230- ) {
1231- let ctxt = ctxt. unwrap ( ) ;
1207+ fn walk ( & mut self , span : Span , id : NodeId , visitor : & mut impl MutVisitor ) {
12321208 match self {
12331209 AssocItemKind :: Const ( item) => {
12341210 visit_const_item ( item, visitor) ;
12351211 }
12361212 AssocItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
12371213 visit_defaultness ( visitor, defaultness) ;
1238- visitor. visit_fn (
1239- FnKind :: Fn ( FnCtxt :: Assoc ( ctxt) , ident, sig, generics, body) ,
1240- span,
1241- id,
1242- ) ;
1214+ visitor. visit_fn ( FnKind :: Fn ( sig, generics, body) , span, id) ;
12431215 }
12441216 AssocItemKind :: Type ( box TyAlias {
12451217 defaultness,
@@ -1323,37 +1295,28 @@ pub fn walk_crate<T: MutVisitor>(vis: &mut T, krate: &mut Crate) {
13231295pub fn walk_flat_map_item < K : WalkItemKind > (
13241296 visitor : & mut impl MutVisitor ,
13251297 mut item : P < Item < K > > ,
1326- ctxt : Option < AssocCtxt > ,
13271298) -> SmallVec < [ P < Item < K > > ; 1 ] > {
13281299 let Item { ident, attrs, id, kind, vis, span, tokens } = item. deref_mut ( ) ;
13291300 visitor. visit_id ( id) ;
13301301 visit_attrs ( visitor, attrs) ;
13311302 visitor. visit_vis ( vis) ;
13321303 visitor. visit_ident ( ident) ;
1333- kind. walk ( ctxt , * ident , * span, * id, visitor) ;
1304+ kind. walk ( * span, * id, visitor) ;
13341305 visit_lazy_tts ( visitor, tokens) ;
13351306 visitor. visit_span ( span) ;
13361307 smallvec ! [ item]
13371308}
13381309
13391310impl WalkItemKind for ForeignItemKind {
1340- fn walk (
1341- & mut self ,
1342- ctxt : Option < AssocCtxt > ,
1343- ident : Ident ,
1344- span : Span ,
1345- id : NodeId ,
1346- visitor : & mut impl MutVisitor ,
1347- ) {
1348- assert_eq ! ( ctxt, None ) ;
1311+ fn walk ( & mut self , span : Span , id : NodeId , visitor : & mut impl MutVisitor ) {
13491312 match self {
13501313 ForeignItemKind :: Static ( box StaticItem { ty, mutability : _, expr, safety : _ } ) => {
13511314 visitor. visit_ty ( ty) ;
13521315 visit_opt ( expr, |expr| visitor. visit_expr ( expr) ) ;
13531316 }
13541317 ForeignItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
13551318 visit_defaultness ( visitor, defaultness) ;
1356- visitor. visit_fn ( FnKind :: Fn ( FnCtxt :: Foreign , ident , sig, generics, body) , span, id) ;
1319+ visitor. visit_fn ( FnKind :: Fn ( sig, generics, body) , span, id) ;
13571320 }
13581321 ForeignItemKind :: TyAlias ( box TyAlias {
13591322 defaultness,
@@ -1824,7 +1787,7 @@ impl<N: DummyAstNode, T: DummyAstNode> DummyAstNode for crate::ast_traits::AstNo
18241787#[ derive( Debug ) ]
18251788pub enum FnKind < ' a > {
18261789 /// E.g., `fn foo()`, `fn foo(&self)`, or `extern "Abi" fn foo()`.
1827- Fn ( FnCtxt , Ident , & ' a mut FnSig , & ' a mut Generics , & ' a mut Option < P < Block > > ) ,
1790+ Fn ( & ' a mut FnSig , & ' a mut Generics , & ' a mut Option < P < Block > > ) ,
18281791
18291792 /// E.g., `|x, y| body`.
18301793 Closure ( & ' a mut ClosureBinder , & ' a mut P < FnDecl > , & ' a mut P < Expr > ) ,
0 commit comments