1 // This file is @generated by syn-internal-codegen.
2 // It is not intended for manual editing.
3 
4 #![allow(unused_variables)]
5 #[cfg(any(feature = "full", feature = "derive"))]
6 use crate::gen::helper::visit_mut::*;
7 #[cfg(any(feature = "full", feature = "derive"))]
8 use crate::punctuated::Punctuated;
9 use crate::*;
10 use proc_macro2::Span;
11 #[cfg(feature = "full")]
12 macro_rules! full {
13     ($e:expr) => {
14         $e
15     };
16 }
17 #[cfg(all(feature = "derive", not(feature = "full")))]
18 macro_rules! full {
19     ($e:expr) => {
20         unreachable ! ()
21     };
22 }
23 macro_rules! skip {
24     ($($tt:tt)*) => {};
25 }
26 /// Syntax tree traversal to mutate an exclusive borrow of a syntax tree in
27 /// place.
28 ///
29 /// See the [module documentation] for details.
30 ///
31 /// [module documentation]: self
32 ///
33 /// *This trait is available only if Syn is built with the `"visit-mut"` feature.*
34 pub trait VisitMut {
35     #[cfg(any(feature = "derive", feature = "full"))]
visit_abi_mut(&mut self, i: &mut Abi)36     fn visit_abi_mut(&mut self, i: &mut Abi) {
37         visit_abi_mut(self, i);
38     }
39     #[cfg(any(feature = "derive", feature = "full"))]
visit_angle_bracketed_generic_arguments_mut( &mut self, i: &mut AngleBracketedGenericArguments, )40     fn visit_angle_bracketed_generic_arguments_mut(
41         &mut self,
42         i: &mut AngleBracketedGenericArguments,
43     ) {
44         visit_angle_bracketed_generic_arguments_mut(self, i);
45     }
46     #[cfg(feature = "full")]
visit_arm_mut(&mut self, i: &mut Arm)47     fn visit_arm_mut(&mut self, i: &mut Arm) {
48         visit_arm_mut(self, i);
49     }
50     #[cfg(any(feature = "derive", feature = "full"))]
visit_attr_style_mut(&mut self, i: &mut AttrStyle)51     fn visit_attr_style_mut(&mut self, i: &mut AttrStyle) {
52         visit_attr_style_mut(self, i);
53     }
54     #[cfg(any(feature = "derive", feature = "full"))]
visit_attribute_mut(&mut self, i: &mut Attribute)55     fn visit_attribute_mut(&mut self, i: &mut Attribute) {
56         visit_attribute_mut(self, i);
57     }
58     #[cfg(any(feature = "derive", feature = "full"))]
visit_bare_fn_arg_mut(&mut self, i: &mut BareFnArg)59     fn visit_bare_fn_arg_mut(&mut self, i: &mut BareFnArg) {
60         visit_bare_fn_arg_mut(self, i);
61     }
62     #[cfg(any(feature = "derive", feature = "full"))]
visit_bin_op_mut(&mut self, i: &mut BinOp)63     fn visit_bin_op_mut(&mut self, i: &mut BinOp) {
64         visit_bin_op_mut(self, i);
65     }
66     #[cfg(any(feature = "derive", feature = "full"))]
visit_binding_mut(&mut self, i: &mut Binding)67     fn visit_binding_mut(&mut self, i: &mut Binding) {
68         visit_binding_mut(self, i);
69     }
70     #[cfg(feature = "full")]
visit_block_mut(&mut self, i: &mut Block)71     fn visit_block_mut(&mut self, i: &mut Block) {
72         visit_block_mut(self, i);
73     }
74     #[cfg(any(feature = "derive", feature = "full"))]
visit_bound_lifetimes_mut(&mut self, i: &mut BoundLifetimes)75     fn visit_bound_lifetimes_mut(&mut self, i: &mut BoundLifetimes) {
76         visit_bound_lifetimes_mut(self, i);
77     }
78     #[cfg(any(feature = "derive", feature = "full"))]
visit_const_param_mut(&mut self, i: &mut ConstParam)79     fn visit_const_param_mut(&mut self, i: &mut ConstParam) {
80         visit_const_param_mut(self, i);
81     }
82     #[cfg(any(feature = "derive", feature = "full"))]
visit_constraint_mut(&mut self, i: &mut Constraint)83     fn visit_constraint_mut(&mut self, i: &mut Constraint) {
84         visit_constraint_mut(self, i);
85     }
86     #[cfg(feature = "derive")]
visit_data_mut(&mut self, i: &mut Data)87     fn visit_data_mut(&mut self, i: &mut Data) {
88         visit_data_mut(self, i);
89     }
90     #[cfg(feature = "derive")]
visit_data_enum_mut(&mut self, i: &mut DataEnum)91     fn visit_data_enum_mut(&mut self, i: &mut DataEnum) {
92         visit_data_enum_mut(self, i);
93     }
94     #[cfg(feature = "derive")]
visit_data_struct_mut(&mut self, i: &mut DataStruct)95     fn visit_data_struct_mut(&mut self, i: &mut DataStruct) {
96         visit_data_struct_mut(self, i);
97     }
98     #[cfg(feature = "derive")]
visit_data_union_mut(&mut self, i: &mut DataUnion)99     fn visit_data_union_mut(&mut self, i: &mut DataUnion) {
100         visit_data_union_mut(self, i);
101     }
102     #[cfg(feature = "derive")]
visit_derive_input_mut(&mut self, i: &mut DeriveInput)103     fn visit_derive_input_mut(&mut self, i: &mut DeriveInput) {
104         visit_derive_input_mut(self, i);
105     }
106     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_mut(&mut self, i: &mut Expr)107     fn visit_expr_mut(&mut self, i: &mut Expr) {
108         visit_expr_mut(self, i);
109     }
110     #[cfg(feature = "full")]
visit_expr_array_mut(&mut self, i: &mut ExprArray)111     fn visit_expr_array_mut(&mut self, i: &mut ExprArray) {
112         visit_expr_array_mut(self, i);
113     }
114     #[cfg(feature = "full")]
visit_expr_assign_mut(&mut self, i: &mut ExprAssign)115     fn visit_expr_assign_mut(&mut self, i: &mut ExprAssign) {
116         visit_expr_assign_mut(self, i);
117     }
118     #[cfg(feature = "full")]
visit_expr_assign_op_mut(&mut self, i: &mut ExprAssignOp)119     fn visit_expr_assign_op_mut(&mut self, i: &mut ExprAssignOp) {
120         visit_expr_assign_op_mut(self, i);
121     }
122     #[cfg(feature = "full")]
visit_expr_async_mut(&mut self, i: &mut ExprAsync)123     fn visit_expr_async_mut(&mut self, i: &mut ExprAsync) {
124         visit_expr_async_mut(self, i);
125     }
126     #[cfg(feature = "full")]
visit_expr_await_mut(&mut self, i: &mut ExprAwait)127     fn visit_expr_await_mut(&mut self, i: &mut ExprAwait) {
128         visit_expr_await_mut(self, i);
129     }
130     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_binary_mut(&mut self, i: &mut ExprBinary)131     fn visit_expr_binary_mut(&mut self, i: &mut ExprBinary) {
132         visit_expr_binary_mut(self, i);
133     }
134     #[cfg(feature = "full")]
visit_expr_block_mut(&mut self, i: &mut ExprBlock)135     fn visit_expr_block_mut(&mut self, i: &mut ExprBlock) {
136         visit_expr_block_mut(self, i);
137     }
138     #[cfg(feature = "full")]
visit_expr_box_mut(&mut self, i: &mut ExprBox)139     fn visit_expr_box_mut(&mut self, i: &mut ExprBox) {
140         visit_expr_box_mut(self, i);
141     }
142     #[cfg(feature = "full")]
visit_expr_break_mut(&mut self, i: &mut ExprBreak)143     fn visit_expr_break_mut(&mut self, i: &mut ExprBreak) {
144         visit_expr_break_mut(self, i);
145     }
146     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_call_mut(&mut self, i: &mut ExprCall)147     fn visit_expr_call_mut(&mut self, i: &mut ExprCall) {
148         visit_expr_call_mut(self, i);
149     }
150     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_cast_mut(&mut self, i: &mut ExprCast)151     fn visit_expr_cast_mut(&mut self, i: &mut ExprCast) {
152         visit_expr_cast_mut(self, i);
153     }
154     #[cfg(feature = "full")]
visit_expr_closure_mut(&mut self, i: &mut ExprClosure)155     fn visit_expr_closure_mut(&mut self, i: &mut ExprClosure) {
156         visit_expr_closure_mut(self, i);
157     }
158     #[cfg(feature = "full")]
visit_expr_continue_mut(&mut self, i: &mut ExprContinue)159     fn visit_expr_continue_mut(&mut self, i: &mut ExprContinue) {
160         visit_expr_continue_mut(self, i);
161     }
162     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_field_mut(&mut self, i: &mut ExprField)163     fn visit_expr_field_mut(&mut self, i: &mut ExprField) {
164         visit_expr_field_mut(self, i);
165     }
166     #[cfg(feature = "full")]
visit_expr_for_loop_mut(&mut self, i: &mut ExprForLoop)167     fn visit_expr_for_loop_mut(&mut self, i: &mut ExprForLoop) {
168         visit_expr_for_loop_mut(self, i);
169     }
170     #[cfg(feature = "full")]
visit_expr_group_mut(&mut self, i: &mut ExprGroup)171     fn visit_expr_group_mut(&mut self, i: &mut ExprGroup) {
172         visit_expr_group_mut(self, i);
173     }
174     #[cfg(feature = "full")]
visit_expr_if_mut(&mut self, i: &mut ExprIf)175     fn visit_expr_if_mut(&mut self, i: &mut ExprIf) {
176         visit_expr_if_mut(self, i);
177     }
178     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_index_mut(&mut self, i: &mut ExprIndex)179     fn visit_expr_index_mut(&mut self, i: &mut ExprIndex) {
180         visit_expr_index_mut(self, i);
181     }
182     #[cfg(feature = "full")]
visit_expr_let_mut(&mut self, i: &mut ExprLet)183     fn visit_expr_let_mut(&mut self, i: &mut ExprLet) {
184         visit_expr_let_mut(self, i);
185     }
186     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_lit_mut(&mut self, i: &mut ExprLit)187     fn visit_expr_lit_mut(&mut self, i: &mut ExprLit) {
188         visit_expr_lit_mut(self, i);
189     }
190     #[cfg(feature = "full")]
visit_expr_loop_mut(&mut self, i: &mut ExprLoop)191     fn visit_expr_loop_mut(&mut self, i: &mut ExprLoop) {
192         visit_expr_loop_mut(self, i);
193     }
194     #[cfg(feature = "full")]
visit_expr_macro_mut(&mut self, i: &mut ExprMacro)195     fn visit_expr_macro_mut(&mut self, i: &mut ExprMacro) {
196         visit_expr_macro_mut(self, i);
197     }
198     #[cfg(feature = "full")]
visit_expr_match_mut(&mut self, i: &mut ExprMatch)199     fn visit_expr_match_mut(&mut self, i: &mut ExprMatch) {
200         visit_expr_match_mut(self, i);
201     }
202     #[cfg(feature = "full")]
visit_expr_method_call_mut(&mut self, i: &mut ExprMethodCall)203     fn visit_expr_method_call_mut(&mut self, i: &mut ExprMethodCall) {
204         visit_expr_method_call_mut(self, i);
205     }
206     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_paren_mut(&mut self, i: &mut ExprParen)207     fn visit_expr_paren_mut(&mut self, i: &mut ExprParen) {
208         visit_expr_paren_mut(self, i);
209     }
210     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_path_mut(&mut self, i: &mut ExprPath)211     fn visit_expr_path_mut(&mut self, i: &mut ExprPath) {
212         visit_expr_path_mut(self, i);
213     }
214     #[cfg(feature = "full")]
visit_expr_range_mut(&mut self, i: &mut ExprRange)215     fn visit_expr_range_mut(&mut self, i: &mut ExprRange) {
216         visit_expr_range_mut(self, i);
217     }
218     #[cfg(feature = "full")]
visit_expr_reference_mut(&mut self, i: &mut ExprReference)219     fn visit_expr_reference_mut(&mut self, i: &mut ExprReference) {
220         visit_expr_reference_mut(self, i);
221     }
222     #[cfg(feature = "full")]
visit_expr_repeat_mut(&mut self, i: &mut ExprRepeat)223     fn visit_expr_repeat_mut(&mut self, i: &mut ExprRepeat) {
224         visit_expr_repeat_mut(self, i);
225     }
226     #[cfg(feature = "full")]
visit_expr_return_mut(&mut self, i: &mut ExprReturn)227     fn visit_expr_return_mut(&mut self, i: &mut ExprReturn) {
228         visit_expr_return_mut(self, i);
229     }
230     #[cfg(feature = "full")]
visit_expr_struct_mut(&mut self, i: &mut ExprStruct)231     fn visit_expr_struct_mut(&mut self, i: &mut ExprStruct) {
232         visit_expr_struct_mut(self, i);
233     }
234     #[cfg(feature = "full")]
visit_expr_try_mut(&mut self, i: &mut ExprTry)235     fn visit_expr_try_mut(&mut self, i: &mut ExprTry) {
236         visit_expr_try_mut(self, i);
237     }
238     #[cfg(feature = "full")]
visit_expr_try_block_mut(&mut self, i: &mut ExprTryBlock)239     fn visit_expr_try_block_mut(&mut self, i: &mut ExprTryBlock) {
240         visit_expr_try_block_mut(self, i);
241     }
242     #[cfg(feature = "full")]
visit_expr_tuple_mut(&mut self, i: &mut ExprTuple)243     fn visit_expr_tuple_mut(&mut self, i: &mut ExprTuple) {
244         visit_expr_tuple_mut(self, i);
245     }
246     #[cfg(feature = "full")]
visit_expr_type_mut(&mut self, i: &mut ExprType)247     fn visit_expr_type_mut(&mut self, i: &mut ExprType) {
248         visit_expr_type_mut(self, i);
249     }
250     #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_unary_mut(&mut self, i: &mut ExprUnary)251     fn visit_expr_unary_mut(&mut self, i: &mut ExprUnary) {
252         visit_expr_unary_mut(self, i);
253     }
254     #[cfg(feature = "full")]
visit_expr_unsafe_mut(&mut self, i: &mut ExprUnsafe)255     fn visit_expr_unsafe_mut(&mut self, i: &mut ExprUnsafe) {
256         visit_expr_unsafe_mut(self, i);
257     }
258     #[cfg(feature = "full")]
visit_expr_while_mut(&mut self, i: &mut ExprWhile)259     fn visit_expr_while_mut(&mut self, i: &mut ExprWhile) {
260         visit_expr_while_mut(self, i);
261     }
262     #[cfg(feature = "full")]
visit_expr_yield_mut(&mut self, i: &mut ExprYield)263     fn visit_expr_yield_mut(&mut self, i: &mut ExprYield) {
264         visit_expr_yield_mut(self, i);
265     }
266     #[cfg(any(feature = "derive", feature = "full"))]
visit_field_mut(&mut self, i: &mut Field)267     fn visit_field_mut(&mut self, i: &mut Field) {
268         visit_field_mut(self, i);
269     }
270     #[cfg(feature = "full")]
visit_field_pat_mut(&mut self, i: &mut FieldPat)271     fn visit_field_pat_mut(&mut self, i: &mut FieldPat) {
272         visit_field_pat_mut(self, i);
273     }
274     #[cfg(feature = "full")]
visit_field_value_mut(&mut self, i: &mut FieldValue)275     fn visit_field_value_mut(&mut self, i: &mut FieldValue) {
276         visit_field_value_mut(self, i);
277     }
278     #[cfg(any(feature = "derive", feature = "full"))]
visit_fields_mut(&mut self, i: &mut Fields)279     fn visit_fields_mut(&mut self, i: &mut Fields) {
280         visit_fields_mut(self, i);
281     }
282     #[cfg(any(feature = "derive", feature = "full"))]
visit_fields_named_mut(&mut self, i: &mut FieldsNamed)283     fn visit_fields_named_mut(&mut self, i: &mut FieldsNamed) {
284         visit_fields_named_mut(self, i);
285     }
286     #[cfg(any(feature = "derive", feature = "full"))]
visit_fields_unnamed_mut(&mut self, i: &mut FieldsUnnamed)287     fn visit_fields_unnamed_mut(&mut self, i: &mut FieldsUnnamed) {
288         visit_fields_unnamed_mut(self, i);
289     }
290     #[cfg(feature = "full")]
visit_file_mut(&mut self, i: &mut File)291     fn visit_file_mut(&mut self, i: &mut File) {
292         visit_file_mut(self, i);
293     }
294     #[cfg(feature = "full")]
visit_fn_arg_mut(&mut self, i: &mut FnArg)295     fn visit_fn_arg_mut(&mut self, i: &mut FnArg) {
296         visit_fn_arg_mut(self, i);
297     }
298     #[cfg(feature = "full")]
visit_foreign_item_mut(&mut self, i: &mut ForeignItem)299     fn visit_foreign_item_mut(&mut self, i: &mut ForeignItem) {
300         visit_foreign_item_mut(self, i);
301     }
302     #[cfg(feature = "full")]
visit_foreign_item_fn_mut(&mut self, i: &mut ForeignItemFn)303     fn visit_foreign_item_fn_mut(&mut self, i: &mut ForeignItemFn) {
304         visit_foreign_item_fn_mut(self, i);
305     }
306     #[cfg(feature = "full")]
visit_foreign_item_macro_mut(&mut self, i: &mut ForeignItemMacro)307     fn visit_foreign_item_macro_mut(&mut self, i: &mut ForeignItemMacro) {
308         visit_foreign_item_macro_mut(self, i);
309     }
310     #[cfg(feature = "full")]
visit_foreign_item_static_mut(&mut self, i: &mut ForeignItemStatic)311     fn visit_foreign_item_static_mut(&mut self, i: &mut ForeignItemStatic) {
312         visit_foreign_item_static_mut(self, i);
313     }
314     #[cfg(feature = "full")]
visit_foreign_item_type_mut(&mut self, i: &mut ForeignItemType)315     fn visit_foreign_item_type_mut(&mut self, i: &mut ForeignItemType) {
316         visit_foreign_item_type_mut(self, i);
317     }
318     #[cfg(any(feature = "derive", feature = "full"))]
visit_generic_argument_mut(&mut self, i: &mut GenericArgument)319     fn visit_generic_argument_mut(&mut self, i: &mut GenericArgument) {
320         visit_generic_argument_mut(self, i);
321     }
322     #[cfg(feature = "full")]
visit_generic_method_argument_mut(&mut self, i: &mut GenericMethodArgument)323     fn visit_generic_method_argument_mut(&mut self, i: &mut GenericMethodArgument) {
324         visit_generic_method_argument_mut(self, i);
325     }
326     #[cfg(any(feature = "derive", feature = "full"))]
visit_generic_param_mut(&mut self, i: &mut GenericParam)327     fn visit_generic_param_mut(&mut self, i: &mut GenericParam) {
328         visit_generic_param_mut(self, i);
329     }
330     #[cfg(any(feature = "derive", feature = "full"))]
visit_generics_mut(&mut self, i: &mut Generics)331     fn visit_generics_mut(&mut self, i: &mut Generics) {
332         visit_generics_mut(self, i);
333     }
visit_ident_mut(&mut self, i: &mut Ident)334     fn visit_ident_mut(&mut self, i: &mut Ident) {
335         visit_ident_mut(self, i);
336     }
337     #[cfg(feature = "full")]
visit_impl_item_mut(&mut self, i: &mut ImplItem)338     fn visit_impl_item_mut(&mut self, i: &mut ImplItem) {
339         visit_impl_item_mut(self, i);
340     }
341     #[cfg(feature = "full")]
visit_impl_item_const_mut(&mut self, i: &mut ImplItemConst)342     fn visit_impl_item_const_mut(&mut self, i: &mut ImplItemConst) {
343         visit_impl_item_const_mut(self, i);
344     }
345     #[cfg(feature = "full")]
visit_impl_item_macro_mut(&mut self, i: &mut ImplItemMacro)346     fn visit_impl_item_macro_mut(&mut self, i: &mut ImplItemMacro) {
347         visit_impl_item_macro_mut(self, i);
348     }
349     #[cfg(feature = "full")]
visit_impl_item_method_mut(&mut self, i: &mut ImplItemMethod)350     fn visit_impl_item_method_mut(&mut self, i: &mut ImplItemMethod) {
351         visit_impl_item_method_mut(self, i);
352     }
353     #[cfg(feature = "full")]
visit_impl_item_type_mut(&mut self, i: &mut ImplItemType)354     fn visit_impl_item_type_mut(&mut self, i: &mut ImplItemType) {
355         visit_impl_item_type_mut(self, i);
356     }
357     #[cfg(any(feature = "derive", feature = "full"))]
visit_index_mut(&mut self, i: &mut Index)358     fn visit_index_mut(&mut self, i: &mut Index) {
359         visit_index_mut(self, i);
360     }
361     #[cfg(feature = "full")]
visit_item_mut(&mut self, i: &mut Item)362     fn visit_item_mut(&mut self, i: &mut Item) {
363         visit_item_mut(self, i);
364     }
365     #[cfg(feature = "full")]
visit_item_const_mut(&mut self, i: &mut ItemConst)366     fn visit_item_const_mut(&mut self, i: &mut ItemConst) {
367         visit_item_const_mut(self, i);
368     }
369     #[cfg(feature = "full")]
visit_item_enum_mut(&mut self, i: &mut ItemEnum)370     fn visit_item_enum_mut(&mut self, i: &mut ItemEnum) {
371         visit_item_enum_mut(self, i);
372     }
373     #[cfg(feature = "full")]
visit_item_extern_crate_mut(&mut self, i: &mut ItemExternCrate)374     fn visit_item_extern_crate_mut(&mut self, i: &mut ItemExternCrate) {
375         visit_item_extern_crate_mut(self, i);
376     }
377     #[cfg(feature = "full")]
visit_item_fn_mut(&mut self, i: &mut ItemFn)378     fn visit_item_fn_mut(&mut self, i: &mut ItemFn) {
379         visit_item_fn_mut(self, i);
380     }
381     #[cfg(feature = "full")]
visit_item_foreign_mod_mut(&mut self, i: &mut ItemForeignMod)382     fn visit_item_foreign_mod_mut(&mut self, i: &mut ItemForeignMod) {
383         visit_item_foreign_mod_mut(self, i);
384     }
385     #[cfg(feature = "full")]
visit_item_impl_mut(&mut self, i: &mut ItemImpl)386     fn visit_item_impl_mut(&mut self, i: &mut ItemImpl) {
387         visit_item_impl_mut(self, i);
388     }
389     #[cfg(feature = "full")]
visit_item_macro_mut(&mut self, i: &mut ItemMacro)390     fn visit_item_macro_mut(&mut self, i: &mut ItemMacro) {
391         visit_item_macro_mut(self, i);
392     }
393     #[cfg(feature = "full")]
visit_item_macro2_mut(&mut self, i: &mut ItemMacro2)394     fn visit_item_macro2_mut(&mut self, i: &mut ItemMacro2) {
395         visit_item_macro2_mut(self, i);
396     }
397     #[cfg(feature = "full")]
visit_item_mod_mut(&mut self, i: &mut ItemMod)398     fn visit_item_mod_mut(&mut self, i: &mut ItemMod) {
399         visit_item_mod_mut(self, i);
400     }
401     #[cfg(feature = "full")]
visit_item_static_mut(&mut self, i: &mut ItemStatic)402     fn visit_item_static_mut(&mut self, i: &mut ItemStatic) {
403         visit_item_static_mut(self, i);
404     }
405     #[cfg(feature = "full")]
visit_item_struct_mut(&mut self, i: &mut ItemStruct)406     fn visit_item_struct_mut(&mut self, i: &mut ItemStruct) {
407         visit_item_struct_mut(self, i);
408     }
409     #[cfg(feature = "full")]
visit_item_trait_mut(&mut self, i: &mut ItemTrait)410     fn visit_item_trait_mut(&mut self, i: &mut ItemTrait) {
411         visit_item_trait_mut(self, i);
412     }
413     #[cfg(feature = "full")]
visit_item_trait_alias_mut(&mut self, i: &mut ItemTraitAlias)414     fn visit_item_trait_alias_mut(&mut self, i: &mut ItemTraitAlias) {
415         visit_item_trait_alias_mut(self, i);
416     }
417     #[cfg(feature = "full")]
visit_item_type_mut(&mut self, i: &mut ItemType)418     fn visit_item_type_mut(&mut self, i: &mut ItemType) {
419         visit_item_type_mut(self, i);
420     }
421     #[cfg(feature = "full")]
visit_item_union_mut(&mut self, i: &mut ItemUnion)422     fn visit_item_union_mut(&mut self, i: &mut ItemUnion) {
423         visit_item_union_mut(self, i);
424     }
425     #[cfg(feature = "full")]
visit_item_use_mut(&mut self, i: &mut ItemUse)426     fn visit_item_use_mut(&mut self, i: &mut ItemUse) {
427         visit_item_use_mut(self, i);
428     }
429     #[cfg(feature = "full")]
visit_label_mut(&mut self, i: &mut Label)430     fn visit_label_mut(&mut self, i: &mut Label) {
431         visit_label_mut(self, i);
432     }
visit_lifetime_mut(&mut self, i: &mut Lifetime)433     fn visit_lifetime_mut(&mut self, i: &mut Lifetime) {
434         visit_lifetime_mut(self, i);
435     }
436     #[cfg(any(feature = "derive", feature = "full"))]
visit_lifetime_def_mut(&mut self, i: &mut LifetimeDef)437     fn visit_lifetime_def_mut(&mut self, i: &mut LifetimeDef) {
438         visit_lifetime_def_mut(self, i);
439     }
visit_lit_mut(&mut self, i: &mut Lit)440     fn visit_lit_mut(&mut self, i: &mut Lit) {
441         visit_lit_mut(self, i);
442     }
visit_lit_bool_mut(&mut self, i: &mut LitBool)443     fn visit_lit_bool_mut(&mut self, i: &mut LitBool) {
444         visit_lit_bool_mut(self, i);
445     }
visit_lit_byte_mut(&mut self, i: &mut LitByte)446     fn visit_lit_byte_mut(&mut self, i: &mut LitByte) {
447         visit_lit_byte_mut(self, i);
448     }
visit_lit_byte_str_mut(&mut self, i: &mut LitByteStr)449     fn visit_lit_byte_str_mut(&mut self, i: &mut LitByteStr) {
450         visit_lit_byte_str_mut(self, i);
451     }
visit_lit_char_mut(&mut self, i: &mut LitChar)452     fn visit_lit_char_mut(&mut self, i: &mut LitChar) {
453         visit_lit_char_mut(self, i);
454     }
visit_lit_float_mut(&mut self, i: &mut LitFloat)455     fn visit_lit_float_mut(&mut self, i: &mut LitFloat) {
456         visit_lit_float_mut(self, i);
457     }
visit_lit_int_mut(&mut self, i: &mut LitInt)458     fn visit_lit_int_mut(&mut self, i: &mut LitInt) {
459         visit_lit_int_mut(self, i);
460     }
visit_lit_str_mut(&mut self, i: &mut LitStr)461     fn visit_lit_str_mut(&mut self, i: &mut LitStr) {
462         visit_lit_str_mut(self, i);
463     }
464     #[cfg(feature = "full")]
visit_local_mut(&mut self, i: &mut Local)465     fn visit_local_mut(&mut self, i: &mut Local) {
466         visit_local_mut(self, i);
467     }
468     #[cfg(any(feature = "derive", feature = "full"))]
visit_macro_mut(&mut self, i: &mut Macro)469     fn visit_macro_mut(&mut self, i: &mut Macro) {
470         visit_macro_mut(self, i);
471     }
472     #[cfg(any(feature = "derive", feature = "full"))]
visit_macro_delimiter_mut(&mut self, i: &mut MacroDelimiter)473     fn visit_macro_delimiter_mut(&mut self, i: &mut MacroDelimiter) {
474         visit_macro_delimiter_mut(self, i);
475     }
476     #[cfg(any(feature = "derive", feature = "full"))]
visit_member_mut(&mut self, i: &mut Member)477     fn visit_member_mut(&mut self, i: &mut Member) {
478         visit_member_mut(self, i);
479     }
480     #[cfg(any(feature = "derive", feature = "full"))]
visit_meta_mut(&mut self, i: &mut Meta)481     fn visit_meta_mut(&mut self, i: &mut Meta) {
482         visit_meta_mut(self, i);
483     }
484     #[cfg(any(feature = "derive", feature = "full"))]
visit_meta_list_mut(&mut self, i: &mut MetaList)485     fn visit_meta_list_mut(&mut self, i: &mut MetaList) {
486         visit_meta_list_mut(self, i);
487     }
488     #[cfg(any(feature = "derive", feature = "full"))]
visit_meta_name_value_mut(&mut self, i: &mut MetaNameValue)489     fn visit_meta_name_value_mut(&mut self, i: &mut MetaNameValue) {
490         visit_meta_name_value_mut(self, i);
491     }
492     #[cfg(feature = "full")]
visit_method_turbofish_mut(&mut self, i: &mut MethodTurbofish)493     fn visit_method_turbofish_mut(&mut self, i: &mut MethodTurbofish) {
494         visit_method_turbofish_mut(self, i);
495     }
496     #[cfg(any(feature = "derive", feature = "full"))]
visit_nested_meta_mut(&mut self, i: &mut NestedMeta)497     fn visit_nested_meta_mut(&mut self, i: &mut NestedMeta) {
498         visit_nested_meta_mut(self, i);
499     }
500     #[cfg(any(feature = "derive", feature = "full"))]
visit_parenthesized_generic_arguments_mut( &mut self, i: &mut ParenthesizedGenericArguments, )501     fn visit_parenthesized_generic_arguments_mut(
502         &mut self,
503         i: &mut ParenthesizedGenericArguments,
504     ) {
505         visit_parenthesized_generic_arguments_mut(self, i);
506     }
507     #[cfg(feature = "full")]
visit_pat_mut(&mut self, i: &mut Pat)508     fn visit_pat_mut(&mut self, i: &mut Pat) {
509         visit_pat_mut(self, i);
510     }
511     #[cfg(feature = "full")]
visit_pat_box_mut(&mut self, i: &mut PatBox)512     fn visit_pat_box_mut(&mut self, i: &mut PatBox) {
513         visit_pat_box_mut(self, i);
514     }
515     #[cfg(feature = "full")]
visit_pat_ident_mut(&mut self, i: &mut PatIdent)516     fn visit_pat_ident_mut(&mut self, i: &mut PatIdent) {
517         visit_pat_ident_mut(self, i);
518     }
519     #[cfg(feature = "full")]
visit_pat_lit_mut(&mut self, i: &mut PatLit)520     fn visit_pat_lit_mut(&mut self, i: &mut PatLit) {
521         visit_pat_lit_mut(self, i);
522     }
523     #[cfg(feature = "full")]
visit_pat_macro_mut(&mut self, i: &mut PatMacro)524     fn visit_pat_macro_mut(&mut self, i: &mut PatMacro) {
525         visit_pat_macro_mut(self, i);
526     }
527     #[cfg(feature = "full")]
visit_pat_or_mut(&mut self, i: &mut PatOr)528     fn visit_pat_or_mut(&mut self, i: &mut PatOr) {
529         visit_pat_or_mut(self, i);
530     }
531     #[cfg(feature = "full")]
visit_pat_path_mut(&mut self, i: &mut PatPath)532     fn visit_pat_path_mut(&mut self, i: &mut PatPath) {
533         visit_pat_path_mut(self, i);
534     }
535     #[cfg(feature = "full")]
visit_pat_range_mut(&mut self, i: &mut PatRange)536     fn visit_pat_range_mut(&mut self, i: &mut PatRange) {
537         visit_pat_range_mut(self, i);
538     }
539     #[cfg(feature = "full")]
visit_pat_reference_mut(&mut self, i: &mut PatReference)540     fn visit_pat_reference_mut(&mut self, i: &mut PatReference) {
541         visit_pat_reference_mut(self, i);
542     }
543     #[cfg(feature = "full")]
visit_pat_rest_mut(&mut self, i: &mut PatRest)544     fn visit_pat_rest_mut(&mut self, i: &mut PatRest) {
545         visit_pat_rest_mut(self, i);
546     }
547     #[cfg(feature = "full")]
visit_pat_slice_mut(&mut self, i: &mut PatSlice)548     fn visit_pat_slice_mut(&mut self, i: &mut PatSlice) {
549         visit_pat_slice_mut(self, i);
550     }
551     #[cfg(feature = "full")]
visit_pat_struct_mut(&mut self, i: &mut PatStruct)552     fn visit_pat_struct_mut(&mut self, i: &mut PatStruct) {
553         visit_pat_struct_mut(self, i);
554     }
555     #[cfg(feature = "full")]
visit_pat_tuple_mut(&mut self, i: &mut PatTuple)556     fn visit_pat_tuple_mut(&mut self, i: &mut PatTuple) {
557         visit_pat_tuple_mut(self, i);
558     }
559     #[cfg(feature = "full")]
visit_pat_tuple_struct_mut(&mut self, i: &mut PatTupleStruct)560     fn visit_pat_tuple_struct_mut(&mut self, i: &mut PatTupleStruct) {
561         visit_pat_tuple_struct_mut(self, i);
562     }
563     #[cfg(feature = "full")]
visit_pat_type_mut(&mut self, i: &mut PatType)564     fn visit_pat_type_mut(&mut self, i: &mut PatType) {
565         visit_pat_type_mut(self, i);
566     }
567     #[cfg(feature = "full")]
visit_pat_wild_mut(&mut self, i: &mut PatWild)568     fn visit_pat_wild_mut(&mut self, i: &mut PatWild) {
569         visit_pat_wild_mut(self, i);
570     }
571     #[cfg(any(feature = "derive", feature = "full"))]
visit_path_mut(&mut self, i: &mut Path)572     fn visit_path_mut(&mut self, i: &mut Path) {
573         visit_path_mut(self, i);
574     }
575     #[cfg(any(feature = "derive", feature = "full"))]
visit_path_arguments_mut(&mut self, i: &mut PathArguments)576     fn visit_path_arguments_mut(&mut self, i: &mut PathArguments) {
577         visit_path_arguments_mut(self, i);
578     }
579     #[cfg(any(feature = "derive", feature = "full"))]
visit_path_segment_mut(&mut self, i: &mut PathSegment)580     fn visit_path_segment_mut(&mut self, i: &mut PathSegment) {
581         visit_path_segment_mut(self, i);
582     }
583     #[cfg(any(feature = "derive", feature = "full"))]
visit_predicate_eq_mut(&mut self, i: &mut PredicateEq)584     fn visit_predicate_eq_mut(&mut self, i: &mut PredicateEq) {
585         visit_predicate_eq_mut(self, i);
586     }
587     #[cfg(any(feature = "derive", feature = "full"))]
visit_predicate_lifetime_mut(&mut self, i: &mut PredicateLifetime)588     fn visit_predicate_lifetime_mut(&mut self, i: &mut PredicateLifetime) {
589         visit_predicate_lifetime_mut(self, i);
590     }
591     #[cfg(any(feature = "derive", feature = "full"))]
visit_predicate_type_mut(&mut self, i: &mut PredicateType)592     fn visit_predicate_type_mut(&mut self, i: &mut PredicateType) {
593         visit_predicate_type_mut(self, i);
594     }
595     #[cfg(any(feature = "derive", feature = "full"))]
visit_qself_mut(&mut self, i: &mut QSelf)596     fn visit_qself_mut(&mut self, i: &mut QSelf) {
597         visit_qself_mut(self, i);
598     }
599     #[cfg(feature = "full")]
visit_range_limits_mut(&mut self, i: &mut RangeLimits)600     fn visit_range_limits_mut(&mut self, i: &mut RangeLimits) {
601         visit_range_limits_mut(self, i);
602     }
603     #[cfg(feature = "full")]
visit_receiver_mut(&mut self, i: &mut Receiver)604     fn visit_receiver_mut(&mut self, i: &mut Receiver) {
605         visit_receiver_mut(self, i);
606     }
607     #[cfg(any(feature = "derive", feature = "full"))]
visit_return_type_mut(&mut self, i: &mut ReturnType)608     fn visit_return_type_mut(&mut self, i: &mut ReturnType) {
609         visit_return_type_mut(self, i);
610     }
611     #[cfg(feature = "full")]
visit_signature_mut(&mut self, i: &mut Signature)612     fn visit_signature_mut(&mut self, i: &mut Signature) {
613         visit_signature_mut(self, i);
614     }
visit_span_mut(&mut self, i: &mut Span)615     fn visit_span_mut(&mut self, i: &mut Span) {
616         visit_span_mut(self, i);
617     }
618     #[cfg(feature = "full")]
visit_stmt_mut(&mut self, i: &mut Stmt)619     fn visit_stmt_mut(&mut self, i: &mut Stmt) {
620         visit_stmt_mut(self, i);
621     }
622     #[cfg(any(feature = "derive", feature = "full"))]
visit_trait_bound_mut(&mut self, i: &mut TraitBound)623     fn visit_trait_bound_mut(&mut self, i: &mut TraitBound) {
624         visit_trait_bound_mut(self, i);
625     }
626     #[cfg(any(feature = "derive", feature = "full"))]
visit_trait_bound_modifier_mut(&mut self, i: &mut TraitBoundModifier)627     fn visit_trait_bound_modifier_mut(&mut self, i: &mut TraitBoundModifier) {
628         visit_trait_bound_modifier_mut(self, i);
629     }
630     #[cfg(feature = "full")]
visit_trait_item_mut(&mut self, i: &mut TraitItem)631     fn visit_trait_item_mut(&mut self, i: &mut TraitItem) {
632         visit_trait_item_mut(self, i);
633     }
634     #[cfg(feature = "full")]
visit_trait_item_const_mut(&mut self, i: &mut TraitItemConst)635     fn visit_trait_item_const_mut(&mut self, i: &mut TraitItemConst) {
636         visit_trait_item_const_mut(self, i);
637     }
638     #[cfg(feature = "full")]
visit_trait_item_macro_mut(&mut self, i: &mut TraitItemMacro)639     fn visit_trait_item_macro_mut(&mut self, i: &mut TraitItemMacro) {
640         visit_trait_item_macro_mut(self, i);
641     }
642     #[cfg(feature = "full")]
visit_trait_item_method_mut(&mut self, i: &mut TraitItemMethod)643     fn visit_trait_item_method_mut(&mut self, i: &mut TraitItemMethod) {
644         visit_trait_item_method_mut(self, i);
645     }
646     #[cfg(feature = "full")]
visit_trait_item_type_mut(&mut self, i: &mut TraitItemType)647     fn visit_trait_item_type_mut(&mut self, i: &mut TraitItemType) {
648         visit_trait_item_type_mut(self, i);
649     }
650     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_mut(&mut self, i: &mut Type)651     fn visit_type_mut(&mut self, i: &mut Type) {
652         visit_type_mut(self, i);
653     }
654     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_array_mut(&mut self, i: &mut TypeArray)655     fn visit_type_array_mut(&mut self, i: &mut TypeArray) {
656         visit_type_array_mut(self, i);
657     }
658     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_bare_fn_mut(&mut self, i: &mut TypeBareFn)659     fn visit_type_bare_fn_mut(&mut self, i: &mut TypeBareFn) {
660         visit_type_bare_fn_mut(self, i);
661     }
662     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_group_mut(&mut self, i: &mut TypeGroup)663     fn visit_type_group_mut(&mut self, i: &mut TypeGroup) {
664         visit_type_group_mut(self, i);
665     }
666     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_impl_trait_mut(&mut self, i: &mut TypeImplTrait)667     fn visit_type_impl_trait_mut(&mut self, i: &mut TypeImplTrait) {
668         visit_type_impl_trait_mut(self, i);
669     }
670     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_infer_mut(&mut self, i: &mut TypeInfer)671     fn visit_type_infer_mut(&mut self, i: &mut TypeInfer) {
672         visit_type_infer_mut(self, i);
673     }
674     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_macro_mut(&mut self, i: &mut TypeMacro)675     fn visit_type_macro_mut(&mut self, i: &mut TypeMacro) {
676         visit_type_macro_mut(self, i);
677     }
678     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_never_mut(&mut self, i: &mut TypeNever)679     fn visit_type_never_mut(&mut self, i: &mut TypeNever) {
680         visit_type_never_mut(self, i);
681     }
682     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_param_mut(&mut self, i: &mut TypeParam)683     fn visit_type_param_mut(&mut self, i: &mut TypeParam) {
684         visit_type_param_mut(self, i);
685     }
686     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_param_bound_mut(&mut self, i: &mut TypeParamBound)687     fn visit_type_param_bound_mut(&mut self, i: &mut TypeParamBound) {
688         visit_type_param_bound_mut(self, i);
689     }
690     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_paren_mut(&mut self, i: &mut TypeParen)691     fn visit_type_paren_mut(&mut self, i: &mut TypeParen) {
692         visit_type_paren_mut(self, i);
693     }
694     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_path_mut(&mut self, i: &mut TypePath)695     fn visit_type_path_mut(&mut self, i: &mut TypePath) {
696         visit_type_path_mut(self, i);
697     }
698     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_ptr_mut(&mut self, i: &mut TypePtr)699     fn visit_type_ptr_mut(&mut self, i: &mut TypePtr) {
700         visit_type_ptr_mut(self, i);
701     }
702     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_reference_mut(&mut self, i: &mut TypeReference)703     fn visit_type_reference_mut(&mut self, i: &mut TypeReference) {
704         visit_type_reference_mut(self, i);
705     }
706     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_slice_mut(&mut self, i: &mut TypeSlice)707     fn visit_type_slice_mut(&mut self, i: &mut TypeSlice) {
708         visit_type_slice_mut(self, i);
709     }
710     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_trait_object_mut(&mut self, i: &mut TypeTraitObject)711     fn visit_type_trait_object_mut(&mut self, i: &mut TypeTraitObject) {
712         visit_type_trait_object_mut(self, i);
713     }
714     #[cfg(any(feature = "derive", feature = "full"))]
visit_type_tuple_mut(&mut self, i: &mut TypeTuple)715     fn visit_type_tuple_mut(&mut self, i: &mut TypeTuple) {
716         visit_type_tuple_mut(self, i);
717     }
718     #[cfg(any(feature = "derive", feature = "full"))]
visit_un_op_mut(&mut self, i: &mut UnOp)719     fn visit_un_op_mut(&mut self, i: &mut UnOp) {
720         visit_un_op_mut(self, i);
721     }
722     #[cfg(feature = "full")]
visit_use_glob_mut(&mut self, i: &mut UseGlob)723     fn visit_use_glob_mut(&mut self, i: &mut UseGlob) {
724         visit_use_glob_mut(self, i);
725     }
726     #[cfg(feature = "full")]
visit_use_group_mut(&mut self, i: &mut UseGroup)727     fn visit_use_group_mut(&mut self, i: &mut UseGroup) {
728         visit_use_group_mut(self, i);
729     }
730     #[cfg(feature = "full")]
visit_use_name_mut(&mut self, i: &mut UseName)731     fn visit_use_name_mut(&mut self, i: &mut UseName) {
732         visit_use_name_mut(self, i);
733     }
734     #[cfg(feature = "full")]
visit_use_path_mut(&mut self, i: &mut UsePath)735     fn visit_use_path_mut(&mut self, i: &mut UsePath) {
736         visit_use_path_mut(self, i);
737     }
738     #[cfg(feature = "full")]
visit_use_rename_mut(&mut self, i: &mut UseRename)739     fn visit_use_rename_mut(&mut self, i: &mut UseRename) {
740         visit_use_rename_mut(self, i);
741     }
742     #[cfg(feature = "full")]
visit_use_tree_mut(&mut self, i: &mut UseTree)743     fn visit_use_tree_mut(&mut self, i: &mut UseTree) {
744         visit_use_tree_mut(self, i);
745     }
746     #[cfg(any(feature = "derive", feature = "full"))]
visit_variadic_mut(&mut self, i: &mut Variadic)747     fn visit_variadic_mut(&mut self, i: &mut Variadic) {
748         visit_variadic_mut(self, i);
749     }
750     #[cfg(any(feature = "derive", feature = "full"))]
visit_variant_mut(&mut self, i: &mut Variant)751     fn visit_variant_mut(&mut self, i: &mut Variant) {
752         visit_variant_mut(self, i);
753     }
754     #[cfg(any(feature = "derive", feature = "full"))]
visit_vis_crate_mut(&mut self, i: &mut VisCrate)755     fn visit_vis_crate_mut(&mut self, i: &mut VisCrate) {
756         visit_vis_crate_mut(self, i);
757     }
758     #[cfg(any(feature = "derive", feature = "full"))]
visit_vis_public_mut(&mut self, i: &mut VisPublic)759     fn visit_vis_public_mut(&mut self, i: &mut VisPublic) {
760         visit_vis_public_mut(self, i);
761     }
762     #[cfg(any(feature = "derive", feature = "full"))]
visit_vis_restricted_mut(&mut self, i: &mut VisRestricted)763     fn visit_vis_restricted_mut(&mut self, i: &mut VisRestricted) {
764         visit_vis_restricted_mut(self, i);
765     }
766     #[cfg(any(feature = "derive", feature = "full"))]
visit_visibility_mut(&mut self, i: &mut Visibility)767     fn visit_visibility_mut(&mut self, i: &mut Visibility) {
768         visit_visibility_mut(self, i);
769     }
770     #[cfg(any(feature = "derive", feature = "full"))]
visit_where_clause_mut(&mut self, i: &mut WhereClause)771     fn visit_where_clause_mut(&mut self, i: &mut WhereClause) {
772         visit_where_clause_mut(self, i);
773     }
774     #[cfg(any(feature = "derive", feature = "full"))]
visit_where_predicate_mut(&mut self, i: &mut WherePredicate)775     fn visit_where_predicate_mut(&mut self, i: &mut WherePredicate) {
776         visit_where_predicate_mut(self, i);
777     }
778 }
779 #[cfg(any(feature = "derive", feature = "full"))]
visit_abi_mut<V>(v: &mut V, node: &mut Abi) where V: VisitMut + ?Sized,780 pub fn visit_abi_mut<V>(v: &mut V, node: &mut Abi)
781 where
782     V: VisitMut + ?Sized,
783 {
784     tokens_helper(v, &mut node.extern_token.span);
785     if let Some(it) = &mut node.name {
786         v.visit_lit_str_mut(it);
787     }
788 }
789 #[cfg(any(feature = "derive", feature = "full"))]
visit_angle_bracketed_generic_arguments_mut<V>( v: &mut V, node: &mut AngleBracketedGenericArguments, ) where V: VisitMut + ?Sized,790 pub fn visit_angle_bracketed_generic_arguments_mut<V>(
791     v: &mut V,
792     node: &mut AngleBracketedGenericArguments,
793 )
794 where
795     V: VisitMut + ?Sized,
796 {
797     if let Some(it) = &mut node.colon2_token {
798         tokens_helper(v, &mut it.spans);
799     }
800     tokens_helper(v, &mut node.lt_token.spans);
801     for el in Punctuated::pairs_mut(&mut node.args) {
802         let (it, p) = el.into_tuple();
803         v.visit_generic_argument_mut(it);
804         if let Some(p) = p {
805             tokens_helper(v, &mut p.spans);
806         }
807     }
808     tokens_helper(v, &mut node.gt_token.spans);
809 }
810 #[cfg(feature = "full")]
visit_arm_mut<V>(v: &mut V, node: &mut Arm) where V: VisitMut + ?Sized,811 pub fn visit_arm_mut<V>(v: &mut V, node: &mut Arm)
812 where
813     V: VisitMut + ?Sized,
814 {
815     for it in &mut node.attrs {
816         v.visit_attribute_mut(it);
817     }
818     v.visit_pat_mut(&mut node.pat);
819     if let Some(it) = &mut node.guard {
820         tokens_helper(v, &mut (it).0.span);
821         v.visit_expr_mut(&mut *(it).1);
822     }
823     tokens_helper(v, &mut node.fat_arrow_token.spans);
824     v.visit_expr_mut(&mut *node.body);
825     if let Some(it) = &mut node.comma {
826         tokens_helper(v, &mut it.spans);
827     }
828 }
829 #[cfg(any(feature = "derive", feature = "full"))]
visit_attr_style_mut<V>(v: &mut V, node: &mut AttrStyle) where V: VisitMut + ?Sized,830 pub fn visit_attr_style_mut<V>(v: &mut V, node: &mut AttrStyle)
831 where
832     V: VisitMut + ?Sized,
833 {
834     match node {
835         AttrStyle::Outer => {}
836         AttrStyle::Inner(_binding_0) => {
837             tokens_helper(v, &mut _binding_0.spans);
838         }
839     }
840 }
841 #[cfg(any(feature = "derive", feature = "full"))]
visit_attribute_mut<V>(v: &mut V, node: &mut Attribute) where V: VisitMut + ?Sized,842 pub fn visit_attribute_mut<V>(v: &mut V, node: &mut Attribute)
843 where
844     V: VisitMut + ?Sized,
845 {
846     tokens_helper(v, &mut node.pound_token.spans);
847     v.visit_attr_style_mut(&mut node.style);
848     tokens_helper(v, &mut node.bracket_token.span);
849     v.visit_path_mut(&mut node.path);
850     skip!(node.tokens);
851 }
852 #[cfg(any(feature = "derive", feature = "full"))]
visit_bare_fn_arg_mut<V>(v: &mut V, node: &mut BareFnArg) where V: VisitMut + ?Sized,853 pub fn visit_bare_fn_arg_mut<V>(v: &mut V, node: &mut BareFnArg)
854 where
855     V: VisitMut + ?Sized,
856 {
857     for it in &mut node.attrs {
858         v.visit_attribute_mut(it);
859     }
860     if let Some(it) = &mut node.name {
861         v.visit_ident_mut(&mut (it).0);
862         tokens_helper(v, &mut (it).1.spans);
863     }
864     v.visit_type_mut(&mut node.ty);
865 }
866 #[cfg(any(feature = "derive", feature = "full"))]
visit_bin_op_mut<V>(v: &mut V, node: &mut BinOp) where V: VisitMut + ?Sized,867 pub fn visit_bin_op_mut<V>(v: &mut V, node: &mut BinOp)
868 where
869     V: VisitMut + ?Sized,
870 {
871     match node {
872         BinOp::Add(_binding_0) => {
873             tokens_helper(v, &mut _binding_0.spans);
874         }
875         BinOp::Sub(_binding_0) => {
876             tokens_helper(v, &mut _binding_0.spans);
877         }
878         BinOp::Mul(_binding_0) => {
879             tokens_helper(v, &mut _binding_0.spans);
880         }
881         BinOp::Div(_binding_0) => {
882             tokens_helper(v, &mut _binding_0.spans);
883         }
884         BinOp::Rem(_binding_0) => {
885             tokens_helper(v, &mut _binding_0.spans);
886         }
887         BinOp::And(_binding_0) => {
888             tokens_helper(v, &mut _binding_0.spans);
889         }
890         BinOp::Or(_binding_0) => {
891             tokens_helper(v, &mut _binding_0.spans);
892         }
893         BinOp::BitXor(_binding_0) => {
894             tokens_helper(v, &mut _binding_0.spans);
895         }
896         BinOp::BitAnd(_binding_0) => {
897             tokens_helper(v, &mut _binding_0.spans);
898         }
899         BinOp::BitOr(_binding_0) => {
900             tokens_helper(v, &mut _binding_0.spans);
901         }
902         BinOp::Shl(_binding_0) => {
903             tokens_helper(v, &mut _binding_0.spans);
904         }
905         BinOp::Shr(_binding_0) => {
906             tokens_helper(v, &mut _binding_0.spans);
907         }
908         BinOp::Eq(_binding_0) => {
909             tokens_helper(v, &mut _binding_0.spans);
910         }
911         BinOp::Lt(_binding_0) => {
912             tokens_helper(v, &mut _binding_0.spans);
913         }
914         BinOp::Le(_binding_0) => {
915             tokens_helper(v, &mut _binding_0.spans);
916         }
917         BinOp::Ne(_binding_0) => {
918             tokens_helper(v, &mut _binding_0.spans);
919         }
920         BinOp::Ge(_binding_0) => {
921             tokens_helper(v, &mut _binding_0.spans);
922         }
923         BinOp::Gt(_binding_0) => {
924             tokens_helper(v, &mut _binding_0.spans);
925         }
926         BinOp::AddEq(_binding_0) => {
927             tokens_helper(v, &mut _binding_0.spans);
928         }
929         BinOp::SubEq(_binding_0) => {
930             tokens_helper(v, &mut _binding_0.spans);
931         }
932         BinOp::MulEq(_binding_0) => {
933             tokens_helper(v, &mut _binding_0.spans);
934         }
935         BinOp::DivEq(_binding_0) => {
936             tokens_helper(v, &mut _binding_0.spans);
937         }
938         BinOp::RemEq(_binding_0) => {
939             tokens_helper(v, &mut _binding_0.spans);
940         }
941         BinOp::BitXorEq(_binding_0) => {
942             tokens_helper(v, &mut _binding_0.spans);
943         }
944         BinOp::BitAndEq(_binding_0) => {
945             tokens_helper(v, &mut _binding_0.spans);
946         }
947         BinOp::BitOrEq(_binding_0) => {
948             tokens_helper(v, &mut _binding_0.spans);
949         }
950         BinOp::ShlEq(_binding_0) => {
951             tokens_helper(v, &mut _binding_0.spans);
952         }
953         BinOp::ShrEq(_binding_0) => {
954             tokens_helper(v, &mut _binding_0.spans);
955         }
956     }
957 }
958 #[cfg(any(feature = "derive", feature = "full"))]
visit_binding_mut<V>(v: &mut V, node: &mut Binding) where V: VisitMut + ?Sized,959 pub fn visit_binding_mut<V>(v: &mut V, node: &mut Binding)
960 where
961     V: VisitMut + ?Sized,
962 {
963     v.visit_ident_mut(&mut node.ident);
964     tokens_helper(v, &mut node.eq_token.spans);
965     v.visit_type_mut(&mut node.ty);
966 }
967 #[cfg(feature = "full")]
visit_block_mut<V>(v: &mut V, node: &mut Block) where V: VisitMut + ?Sized,968 pub fn visit_block_mut<V>(v: &mut V, node: &mut Block)
969 where
970     V: VisitMut + ?Sized,
971 {
972     tokens_helper(v, &mut node.brace_token.span);
973     for it in &mut node.stmts {
974         v.visit_stmt_mut(it);
975     }
976 }
977 #[cfg(any(feature = "derive", feature = "full"))]
visit_bound_lifetimes_mut<V>(v: &mut V, node: &mut BoundLifetimes) where V: VisitMut + ?Sized,978 pub fn visit_bound_lifetimes_mut<V>(v: &mut V, node: &mut BoundLifetimes)
979 where
980     V: VisitMut + ?Sized,
981 {
982     tokens_helper(v, &mut node.for_token.span);
983     tokens_helper(v, &mut node.lt_token.spans);
984     for el in Punctuated::pairs_mut(&mut node.lifetimes) {
985         let (it, p) = el.into_tuple();
986         v.visit_lifetime_def_mut(it);
987         if let Some(p) = p {
988             tokens_helper(v, &mut p.spans);
989         }
990     }
991     tokens_helper(v, &mut node.gt_token.spans);
992 }
993 #[cfg(any(feature = "derive", feature = "full"))]
visit_const_param_mut<V>(v: &mut V, node: &mut ConstParam) where V: VisitMut + ?Sized,994 pub fn visit_const_param_mut<V>(v: &mut V, node: &mut ConstParam)
995 where
996     V: VisitMut + ?Sized,
997 {
998     for it in &mut node.attrs {
999         v.visit_attribute_mut(it);
1000     }
1001     tokens_helper(v, &mut node.const_token.span);
1002     v.visit_ident_mut(&mut node.ident);
1003     tokens_helper(v, &mut node.colon_token.spans);
1004     v.visit_type_mut(&mut node.ty);
1005     if let Some(it) = &mut node.eq_token {
1006         tokens_helper(v, &mut it.spans);
1007     }
1008     if let Some(it) = &mut node.default {
1009         v.visit_expr_mut(it);
1010     }
1011 }
1012 #[cfg(any(feature = "derive", feature = "full"))]
visit_constraint_mut<V>(v: &mut V, node: &mut Constraint) where V: VisitMut + ?Sized,1013 pub fn visit_constraint_mut<V>(v: &mut V, node: &mut Constraint)
1014 where
1015     V: VisitMut + ?Sized,
1016 {
1017     v.visit_ident_mut(&mut node.ident);
1018     tokens_helper(v, &mut node.colon_token.spans);
1019     for el in Punctuated::pairs_mut(&mut node.bounds) {
1020         let (it, p) = el.into_tuple();
1021         v.visit_type_param_bound_mut(it);
1022         if let Some(p) = p {
1023             tokens_helper(v, &mut p.spans);
1024         }
1025     }
1026 }
1027 #[cfg(feature = "derive")]
visit_data_mut<V>(v: &mut V, node: &mut Data) where V: VisitMut + ?Sized,1028 pub fn visit_data_mut<V>(v: &mut V, node: &mut Data)
1029 where
1030     V: VisitMut + ?Sized,
1031 {
1032     match node {
1033         Data::Struct(_binding_0) => {
1034             v.visit_data_struct_mut(_binding_0);
1035         }
1036         Data::Enum(_binding_0) => {
1037             v.visit_data_enum_mut(_binding_0);
1038         }
1039         Data::Union(_binding_0) => {
1040             v.visit_data_union_mut(_binding_0);
1041         }
1042     }
1043 }
1044 #[cfg(feature = "derive")]
visit_data_enum_mut<V>(v: &mut V, node: &mut DataEnum) where V: VisitMut + ?Sized,1045 pub fn visit_data_enum_mut<V>(v: &mut V, node: &mut DataEnum)
1046 where
1047     V: VisitMut + ?Sized,
1048 {
1049     tokens_helper(v, &mut node.enum_token.span);
1050     tokens_helper(v, &mut node.brace_token.span);
1051     for el in Punctuated::pairs_mut(&mut node.variants) {
1052         let (it, p) = el.into_tuple();
1053         v.visit_variant_mut(it);
1054         if let Some(p) = p {
1055             tokens_helper(v, &mut p.spans);
1056         }
1057     }
1058 }
1059 #[cfg(feature = "derive")]
visit_data_struct_mut<V>(v: &mut V, node: &mut DataStruct) where V: VisitMut + ?Sized,1060 pub fn visit_data_struct_mut<V>(v: &mut V, node: &mut DataStruct)
1061 where
1062     V: VisitMut + ?Sized,
1063 {
1064     tokens_helper(v, &mut node.struct_token.span);
1065     v.visit_fields_mut(&mut node.fields);
1066     if let Some(it) = &mut node.semi_token {
1067         tokens_helper(v, &mut it.spans);
1068     }
1069 }
1070 #[cfg(feature = "derive")]
visit_data_union_mut<V>(v: &mut V, node: &mut DataUnion) where V: VisitMut + ?Sized,1071 pub fn visit_data_union_mut<V>(v: &mut V, node: &mut DataUnion)
1072 where
1073     V: VisitMut + ?Sized,
1074 {
1075     tokens_helper(v, &mut node.union_token.span);
1076     v.visit_fields_named_mut(&mut node.fields);
1077 }
1078 #[cfg(feature = "derive")]
visit_derive_input_mut<V>(v: &mut V, node: &mut DeriveInput) where V: VisitMut + ?Sized,1079 pub fn visit_derive_input_mut<V>(v: &mut V, node: &mut DeriveInput)
1080 where
1081     V: VisitMut + ?Sized,
1082 {
1083     for it in &mut node.attrs {
1084         v.visit_attribute_mut(it);
1085     }
1086     v.visit_visibility_mut(&mut node.vis);
1087     v.visit_ident_mut(&mut node.ident);
1088     v.visit_generics_mut(&mut node.generics);
1089     v.visit_data_mut(&mut node.data);
1090 }
1091 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_mut<V>(v: &mut V, node: &mut Expr) where V: VisitMut + ?Sized,1092 pub fn visit_expr_mut<V>(v: &mut V, node: &mut Expr)
1093 where
1094     V: VisitMut + ?Sized,
1095 {
1096     match node {
1097         Expr::Array(_binding_0) => {
1098             full!(v.visit_expr_array_mut(_binding_0));
1099         }
1100         Expr::Assign(_binding_0) => {
1101             full!(v.visit_expr_assign_mut(_binding_0));
1102         }
1103         Expr::AssignOp(_binding_0) => {
1104             full!(v.visit_expr_assign_op_mut(_binding_0));
1105         }
1106         Expr::Async(_binding_0) => {
1107             full!(v.visit_expr_async_mut(_binding_0));
1108         }
1109         Expr::Await(_binding_0) => {
1110             full!(v.visit_expr_await_mut(_binding_0));
1111         }
1112         Expr::Binary(_binding_0) => {
1113             v.visit_expr_binary_mut(_binding_0);
1114         }
1115         Expr::Block(_binding_0) => {
1116             full!(v.visit_expr_block_mut(_binding_0));
1117         }
1118         Expr::Box(_binding_0) => {
1119             full!(v.visit_expr_box_mut(_binding_0));
1120         }
1121         Expr::Break(_binding_0) => {
1122             full!(v.visit_expr_break_mut(_binding_0));
1123         }
1124         Expr::Call(_binding_0) => {
1125             v.visit_expr_call_mut(_binding_0);
1126         }
1127         Expr::Cast(_binding_0) => {
1128             v.visit_expr_cast_mut(_binding_0);
1129         }
1130         Expr::Closure(_binding_0) => {
1131             full!(v.visit_expr_closure_mut(_binding_0));
1132         }
1133         Expr::Continue(_binding_0) => {
1134             full!(v.visit_expr_continue_mut(_binding_0));
1135         }
1136         Expr::Field(_binding_0) => {
1137             v.visit_expr_field_mut(_binding_0);
1138         }
1139         Expr::ForLoop(_binding_0) => {
1140             full!(v.visit_expr_for_loop_mut(_binding_0));
1141         }
1142         Expr::Group(_binding_0) => {
1143             full!(v.visit_expr_group_mut(_binding_0));
1144         }
1145         Expr::If(_binding_0) => {
1146             full!(v.visit_expr_if_mut(_binding_0));
1147         }
1148         Expr::Index(_binding_0) => {
1149             v.visit_expr_index_mut(_binding_0);
1150         }
1151         Expr::Let(_binding_0) => {
1152             full!(v.visit_expr_let_mut(_binding_0));
1153         }
1154         Expr::Lit(_binding_0) => {
1155             v.visit_expr_lit_mut(_binding_0);
1156         }
1157         Expr::Loop(_binding_0) => {
1158             full!(v.visit_expr_loop_mut(_binding_0));
1159         }
1160         Expr::Macro(_binding_0) => {
1161             full!(v.visit_expr_macro_mut(_binding_0));
1162         }
1163         Expr::Match(_binding_0) => {
1164             full!(v.visit_expr_match_mut(_binding_0));
1165         }
1166         Expr::MethodCall(_binding_0) => {
1167             full!(v.visit_expr_method_call_mut(_binding_0));
1168         }
1169         Expr::Paren(_binding_0) => {
1170             v.visit_expr_paren_mut(_binding_0);
1171         }
1172         Expr::Path(_binding_0) => {
1173             v.visit_expr_path_mut(_binding_0);
1174         }
1175         Expr::Range(_binding_0) => {
1176             full!(v.visit_expr_range_mut(_binding_0));
1177         }
1178         Expr::Reference(_binding_0) => {
1179             full!(v.visit_expr_reference_mut(_binding_0));
1180         }
1181         Expr::Repeat(_binding_0) => {
1182             full!(v.visit_expr_repeat_mut(_binding_0));
1183         }
1184         Expr::Return(_binding_0) => {
1185             full!(v.visit_expr_return_mut(_binding_0));
1186         }
1187         Expr::Struct(_binding_0) => {
1188             full!(v.visit_expr_struct_mut(_binding_0));
1189         }
1190         Expr::Try(_binding_0) => {
1191             full!(v.visit_expr_try_mut(_binding_0));
1192         }
1193         Expr::TryBlock(_binding_0) => {
1194             full!(v.visit_expr_try_block_mut(_binding_0));
1195         }
1196         Expr::Tuple(_binding_0) => {
1197             full!(v.visit_expr_tuple_mut(_binding_0));
1198         }
1199         Expr::Type(_binding_0) => {
1200             full!(v.visit_expr_type_mut(_binding_0));
1201         }
1202         Expr::Unary(_binding_0) => {
1203             v.visit_expr_unary_mut(_binding_0);
1204         }
1205         Expr::Unsafe(_binding_0) => {
1206             full!(v.visit_expr_unsafe_mut(_binding_0));
1207         }
1208         Expr::Verbatim(_binding_0) => {
1209             skip!(_binding_0);
1210         }
1211         Expr::While(_binding_0) => {
1212             full!(v.visit_expr_while_mut(_binding_0));
1213         }
1214         Expr::Yield(_binding_0) => {
1215             full!(v.visit_expr_yield_mut(_binding_0));
1216         }
1217         _ => unreachable!(),
1218     }
1219 }
1220 #[cfg(feature = "full")]
visit_expr_array_mut<V>(v: &mut V, node: &mut ExprArray) where V: VisitMut + ?Sized,1221 pub fn visit_expr_array_mut<V>(v: &mut V, node: &mut ExprArray)
1222 where
1223     V: VisitMut + ?Sized,
1224 {
1225     for it in &mut node.attrs {
1226         v.visit_attribute_mut(it);
1227     }
1228     tokens_helper(v, &mut node.bracket_token.span);
1229     for el in Punctuated::pairs_mut(&mut node.elems) {
1230         let (it, p) = el.into_tuple();
1231         v.visit_expr_mut(it);
1232         if let Some(p) = p {
1233             tokens_helper(v, &mut p.spans);
1234         }
1235     }
1236 }
1237 #[cfg(feature = "full")]
visit_expr_assign_mut<V>(v: &mut V, node: &mut ExprAssign) where V: VisitMut + ?Sized,1238 pub fn visit_expr_assign_mut<V>(v: &mut V, node: &mut ExprAssign)
1239 where
1240     V: VisitMut + ?Sized,
1241 {
1242     for it in &mut node.attrs {
1243         v.visit_attribute_mut(it);
1244     }
1245     v.visit_expr_mut(&mut *node.left);
1246     tokens_helper(v, &mut node.eq_token.spans);
1247     v.visit_expr_mut(&mut *node.right);
1248 }
1249 #[cfg(feature = "full")]
visit_expr_assign_op_mut<V>(v: &mut V, node: &mut ExprAssignOp) where V: VisitMut + ?Sized,1250 pub fn visit_expr_assign_op_mut<V>(v: &mut V, node: &mut ExprAssignOp)
1251 where
1252     V: VisitMut + ?Sized,
1253 {
1254     for it in &mut node.attrs {
1255         v.visit_attribute_mut(it);
1256     }
1257     v.visit_expr_mut(&mut *node.left);
1258     v.visit_bin_op_mut(&mut node.op);
1259     v.visit_expr_mut(&mut *node.right);
1260 }
1261 #[cfg(feature = "full")]
visit_expr_async_mut<V>(v: &mut V, node: &mut ExprAsync) where V: VisitMut + ?Sized,1262 pub fn visit_expr_async_mut<V>(v: &mut V, node: &mut ExprAsync)
1263 where
1264     V: VisitMut + ?Sized,
1265 {
1266     for it in &mut node.attrs {
1267         v.visit_attribute_mut(it);
1268     }
1269     tokens_helper(v, &mut node.async_token.span);
1270     if let Some(it) = &mut node.capture {
1271         tokens_helper(v, &mut it.span);
1272     }
1273     v.visit_block_mut(&mut node.block);
1274 }
1275 #[cfg(feature = "full")]
visit_expr_await_mut<V>(v: &mut V, node: &mut ExprAwait) where V: VisitMut + ?Sized,1276 pub fn visit_expr_await_mut<V>(v: &mut V, node: &mut ExprAwait)
1277 where
1278     V: VisitMut + ?Sized,
1279 {
1280     for it in &mut node.attrs {
1281         v.visit_attribute_mut(it);
1282     }
1283     v.visit_expr_mut(&mut *node.base);
1284     tokens_helper(v, &mut node.dot_token.spans);
1285     tokens_helper(v, &mut node.await_token.span);
1286 }
1287 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_binary_mut<V>(v: &mut V, node: &mut ExprBinary) where V: VisitMut + ?Sized,1288 pub fn visit_expr_binary_mut<V>(v: &mut V, node: &mut ExprBinary)
1289 where
1290     V: VisitMut + ?Sized,
1291 {
1292     for it in &mut node.attrs {
1293         v.visit_attribute_mut(it);
1294     }
1295     v.visit_expr_mut(&mut *node.left);
1296     v.visit_bin_op_mut(&mut node.op);
1297     v.visit_expr_mut(&mut *node.right);
1298 }
1299 #[cfg(feature = "full")]
visit_expr_block_mut<V>(v: &mut V, node: &mut ExprBlock) where V: VisitMut + ?Sized,1300 pub fn visit_expr_block_mut<V>(v: &mut V, node: &mut ExprBlock)
1301 where
1302     V: VisitMut + ?Sized,
1303 {
1304     for it in &mut node.attrs {
1305         v.visit_attribute_mut(it);
1306     }
1307     if let Some(it) = &mut node.label {
1308         v.visit_label_mut(it);
1309     }
1310     v.visit_block_mut(&mut node.block);
1311 }
1312 #[cfg(feature = "full")]
visit_expr_box_mut<V>(v: &mut V, node: &mut ExprBox) where V: VisitMut + ?Sized,1313 pub fn visit_expr_box_mut<V>(v: &mut V, node: &mut ExprBox)
1314 where
1315     V: VisitMut + ?Sized,
1316 {
1317     for it in &mut node.attrs {
1318         v.visit_attribute_mut(it);
1319     }
1320     tokens_helper(v, &mut node.box_token.span);
1321     v.visit_expr_mut(&mut *node.expr);
1322 }
1323 #[cfg(feature = "full")]
visit_expr_break_mut<V>(v: &mut V, node: &mut ExprBreak) where V: VisitMut + ?Sized,1324 pub fn visit_expr_break_mut<V>(v: &mut V, node: &mut ExprBreak)
1325 where
1326     V: VisitMut + ?Sized,
1327 {
1328     for it in &mut node.attrs {
1329         v.visit_attribute_mut(it);
1330     }
1331     tokens_helper(v, &mut node.break_token.span);
1332     if let Some(it) = &mut node.label {
1333         v.visit_lifetime_mut(it);
1334     }
1335     if let Some(it) = &mut node.expr {
1336         v.visit_expr_mut(&mut **it);
1337     }
1338 }
1339 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_call_mut<V>(v: &mut V, node: &mut ExprCall) where V: VisitMut + ?Sized,1340 pub fn visit_expr_call_mut<V>(v: &mut V, node: &mut ExprCall)
1341 where
1342     V: VisitMut + ?Sized,
1343 {
1344     for it in &mut node.attrs {
1345         v.visit_attribute_mut(it);
1346     }
1347     v.visit_expr_mut(&mut *node.func);
1348     tokens_helper(v, &mut node.paren_token.span);
1349     for el in Punctuated::pairs_mut(&mut node.args) {
1350         let (it, p) = el.into_tuple();
1351         v.visit_expr_mut(it);
1352         if let Some(p) = p {
1353             tokens_helper(v, &mut p.spans);
1354         }
1355     }
1356 }
1357 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_cast_mut<V>(v: &mut V, node: &mut ExprCast) where V: VisitMut + ?Sized,1358 pub fn visit_expr_cast_mut<V>(v: &mut V, node: &mut ExprCast)
1359 where
1360     V: VisitMut + ?Sized,
1361 {
1362     for it in &mut node.attrs {
1363         v.visit_attribute_mut(it);
1364     }
1365     v.visit_expr_mut(&mut *node.expr);
1366     tokens_helper(v, &mut node.as_token.span);
1367     v.visit_type_mut(&mut *node.ty);
1368 }
1369 #[cfg(feature = "full")]
visit_expr_closure_mut<V>(v: &mut V, node: &mut ExprClosure) where V: VisitMut + ?Sized,1370 pub fn visit_expr_closure_mut<V>(v: &mut V, node: &mut ExprClosure)
1371 where
1372     V: VisitMut + ?Sized,
1373 {
1374     for it in &mut node.attrs {
1375         v.visit_attribute_mut(it);
1376     }
1377     if let Some(it) = &mut node.movability {
1378         tokens_helper(v, &mut it.span);
1379     }
1380     if let Some(it) = &mut node.asyncness {
1381         tokens_helper(v, &mut it.span);
1382     }
1383     if let Some(it) = &mut node.capture {
1384         tokens_helper(v, &mut it.span);
1385     }
1386     tokens_helper(v, &mut node.or1_token.spans);
1387     for el in Punctuated::pairs_mut(&mut node.inputs) {
1388         let (it, p) = el.into_tuple();
1389         v.visit_pat_mut(it);
1390         if let Some(p) = p {
1391             tokens_helper(v, &mut p.spans);
1392         }
1393     }
1394     tokens_helper(v, &mut node.or2_token.spans);
1395     v.visit_return_type_mut(&mut node.output);
1396     v.visit_expr_mut(&mut *node.body);
1397 }
1398 #[cfg(feature = "full")]
visit_expr_continue_mut<V>(v: &mut V, node: &mut ExprContinue) where V: VisitMut + ?Sized,1399 pub fn visit_expr_continue_mut<V>(v: &mut V, node: &mut ExprContinue)
1400 where
1401     V: VisitMut + ?Sized,
1402 {
1403     for it in &mut node.attrs {
1404         v.visit_attribute_mut(it);
1405     }
1406     tokens_helper(v, &mut node.continue_token.span);
1407     if let Some(it) = &mut node.label {
1408         v.visit_lifetime_mut(it);
1409     }
1410 }
1411 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_field_mut<V>(v: &mut V, node: &mut ExprField) where V: VisitMut + ?Sized,1412 pub fn visit_expr_field_mut<V>(v: &mut V, node: &mut ExprField)
1413 where
1414     V: VisitMut + ?Sized,
1415 {
1416     for it in &mut node.attrs {
1417         v.visit_attribute_mut(it);
1418     }
1419     v.visit_expr_mut(&mut *node.base);
1420     tokens_helper(v, &mut node.dot_token.spans);
1421     v.visit_member_mut(&mut node.member);
1422 }
1423 #[cfg(feature = "full")]
visit_expr_for_loop_mut<V>(v: &mut V, node: &mut ExprForLoop) where V: VisitMut + ?Sized,1424 pub fn visit_expr_for_loop_mut<V>(v: &mut V, node: &mut ExprForLoop)
1425 where
1426     V: VisitMut + ?Sized,
1427 {
1428     for it in &mut node.attrs {
1429         v.visit_attribute_mut(it);
1430     }
1431     if let Some(it) = &mut node.label {
1432         v.visit_label_mut(it);
1433     }
1434     tokens_helper(v, &mut node.for_token.span);
1435     v.visit_pat_mut(&mut node.pat);
1436     tokens_helper(v, &mut node.in_token.span);
1437     v.visit_expr_mut(&mut *node.expr);
1438     v.visit_block_mut(&mut node.body);
1439 }
1440 #[cfg(feature = "full")]
visit_expr_group_mut<V>(v: &mut V, node: &mut ExprGroup) where V: VisitMut + ?Sized,1441 pub fn visit_expr_group_mut<V>(v: &mut V, node: &mut ExprGroup)
1442 where
1443     V: VisitMut + ?Sized,
1444 {
1445     for it in &mut node.attrs {
1446         v.visit_attribute_mut(it);
1447     }
1448     tokens_helper(v, &mut node.group_token.span);
1449     v.visit_expr_mut(&mut *node.expr);
1450 }
1451 #[cfg(feature = "full")]
visit_expr_if_mut<V>(v: &mut V, node: &mut ExprIf) where V: VisitMut + ?Sized,1452 pub fn visit_expr_if_mut<V>(v: &mut V, node: &mut ExprIf)
1453 where
1454     V: VisitMut + ?Sized,
1455 {
1456     for it in &mut node.attrs {
1457         v.visit_attribute_mut(it);
1458     }
1459     tokens_helper(v, &mut node.if_token.span);
1460     v.visit_expr_mut(&mut *node.cond);
1461     v.visit_block_mut(&mut node.then_branch);
1462     if let Some(it) = &mut node.else_branch {
1463         tokens_helper(v, &mut (it).0.span);
1464         v.visit_expr_mut(&mut *(it).1);
1465     }
1466 }
1467 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_index_mut<V>(v: &mut V, node: &mut ExprIndex) where V: VisitMut + ?Sized,1468 pub fn visit_expr_index_mut<V>(v: &mut V, node: &mut ExprIndex)
1469 where
1470     V: VisitMut + ?Sized,
1471 {
1472     for it in &mut node.attrs {
1473         v.visit_attribute_mut(it);
1474     }
1475     v.visit_expr_mut(&mut *node.expr);
1476     tokens_helper(v, &mut node.bracket_token.span);
1477     v.visit_expr_mut(&mut *node.index);
1478 }
1479 #[cfg(feature = "full")]
visit_expr_let_mut<V>(v: &mut V, node: &mut ExprLet) where V: VisitMut + ?Sized,1480 pub fn visit_expr_let_mut<V>(v: &mut V, node: &mut ExprLet)
1481 where
1482     V: VisitMut + ?Sized,
1483 {
1484     for it in &mut node.attrs {
1485         v.visit_attribute_mut(it);
1486     }
1487     tokens_helper(v, &mut node.let_token.span);
1488     v.visit_pat_mut(&mut node.pat);
1489     tokens_helper(v, &mut node.eq_token.spans);
1490     v.visit_expr_mut(&mut *node.expr);
1491 }
1492 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_lit_mut<V>(v: &mut V, node: &mut ExprLit) where V: VisitMut + ?Sized,1493 pub fn visit_expr_lit_mut<V>(v: &mut V, node: &mut ExprLit)
1494 where
1495     V: VisitMut + ?Sized,
1496 {
1497     for it in &mut node.attrs {
1498         v.visit_attribute_mut(it);
1499     }
1500     v.visit_lit_mut(&mut node.lit);
1501 }
1502 #[cfg(feature = "full")]
visit_expr_loop_mut<V>(v: &mut V, node: &mut ExprLoop) where V: VisitMut + ?Sized,1503 pub fn visit_expr_loop_mut<V>(v: &mut V, node: &mut ExprLoop)
1504 where
1505     V: VisitMut + ?Sized,
1506 {
1507     for it in &mut node.attrs {
1508         v.visit_attribute_mut(it);
1509     }
1510     if let Some(it) = &mut node.label {
1511         v.visit_label_mut(it);
1512     }
1513     tokens_helper(v, &mut node.loop_token.span);
1514     v.visit_block_mut(&mut node.body);
1515 }
1516 #[cfg(feature = "full")]
visit_expr_macro_mut<V>(v: &mut V, node: &mut ExprMacro) where V: VisitMut + ?Sized,1517 pub fn visit_expr_macro_mut<V>(v: &mut V, node: &mut ExprMacro)
1518 where
1519     V: VisitMut + ?Sized,
1520 {
1521     for it in &mut node.attrs {
1522         v.visit_attribute_mut(it);
1523     }
1524     v.visit_macro_mut(&mut node.mac);
1525 }
1526 #[cfg(feature = "full")]
visit_expr_match_mut<V>(v: &mut V, node: &mut ExprMatch) where V: VisitMut + ?Sized,1527 pub fn visit_expr_match_mut<V>(v: &mut V, node: &mut ExprMatch)
1528 where
1529     V: VisitMut + ?Sized,
1530 {
1531     for it in &mut node.attrs {
1532         v.visit_attribute_mut(it);
1533     }
1534     tokens_helper(v, &mut node.match_token.span);
1535     v.visit_expr_mut(&mut *node.expr);
1536     tokens_helper(v, &mut node.brace_token.span);
1537     for it in &mut node.arms {
1538         v.visit_arm_mut(it);
1539     }
1540 }
1541 #[cfg(feature = "full")]
visit_expr_method_call_mut<V>(v: &mut V, node: &mut ExprMethodCall) where V: VisitMut + ?Sized,1542 pub fn visit_expr_method_call_mut<V>(v: &mut V, node: &mut ExprMethodCall)
1543 where
1544     V: VisitMut + ?Sized,
1545 {
1546     for it in &mut node.attrs {
1547         v.visit_attribute_mut(it);
1548     }
1549     v.visit_expr_mut(&mut *node.receiver);
1550     tokens_helper(v, &mut node.dot_token.spans);
1551     v.visit_ident_mut(&mut node.method);
1552     if let Some(it) = &mut node.turbofish {
1553         v.visit_method_turbofish_mut(it);
1554     }
1555     tokens_helper(v, &mut node.paren_token.span);
1556     for el in Punctuated::pairs_mut(&mut node.args) {
1557         let (it, p) = el.into_tuple();
1558         v.visit_expr_mut(it);
1559         if let Some(p) = p {
1560             tokens_helper(v, &mut p.spans);
1561         }
1562     }
1563 }
1564 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_paren_mut<V>(v: &mut V, node: &mut ExprParen) where V: VisitMut + ?Sized,1565 pub fn visit_expr_paren_mut<V>(v: &mut V, node: &mut ExprParen)
1566 where
1567     V: VisitMut + ?Sized,
1568 {
1569     for it in &mut node.attrs {
1570         v.visit_attribute_mut(it);
1571     }
1572     tokens_helper(v, &mut node.paren_token.span);
1573     v.visit_expr_mut(&mut *node.expr);
1574 }
1575 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_path_mut<V>(v: &mut V, node: &mut ExprPath) where V: VisitMut + ?Sized,1576 pub fn visit_expr_path_mut<V>(v: &mut V, node: &mut ExprPath)
1577 where
1578     V: VisitMut + ?Sized,
1579 {
1580     for it in &mut node.attrs {
1581         v.visit_attribute_mut(it);
1582     }
1583     if let Some(it) = &mut node.qself {
1584         v.visit_qself_mut(it);
1585     }
1586     v.visit_path_mut(&mut node.path);
1587 }
1588 #[cfg(feature = "full")]
visit_expr_range_mut<V>(v: &mut V, node: &mut ExprRange) where V: VisitMut + ?Sized,1589 pub fn visit_expr_range_mut<V>(v: &mut V, node: &mut ExprRange)
1590 where
1591     V: VisitMut + ?Sized,
1592 {
1593     for it in &mut node.attrs {
1594         v.visit_attribute_mut(it);
1595     }
1596     if let Some(it) = &mut node.from {
1597         v.visit_expr_mut(&mut **it);
1598     }
1599     v.visit_range_limits_mut(&mut node.limits);
1600     if let Some(it) = &mut node.to {
1601         v.visit_expr_mut(&mut **it);
1602     }
1603 }
1604 #[cfg(feature = "full")]
visit_expr_reference_mut<V>(v: &mut V, node: &mut ExprReference) where V: VisitMut + ?Sized,1605 pub fn visit_expr_reference_mut<V>(v: &mut V, node: &mut ExprReference)
1606 where
1607     V: VisitMut + ?Sized,
1608 {
1609     for it in &mut node.attrs {
1610         v.visit_attribute_mut(it);
1611     }
1612     tokens_helper(v, &mut node.and_token.spans);
1613     if let Some(it) = &mut node.mutability {
1614         tokens_helper(v, &mut it.span);
1615     }
1616     v.visit_expr_mut(&mut *node.expr);
1617 }
1618 #[cfg(feature = "full")]
visit_expr_repeat_mut<V>(v: &mut V, node: &mut ExprRepeat) where V: VisitMut + ?Sized,1619 pub fn visit_expr_repeat_mut<V>(v: &mut V, node: &mut ExprRepeat)
1620 where
1621     V: VisitMut + ?Sized,
1622 {
1623     for it in &mut node.attrs {
1624         v.visit_attribute_mut(it);
1625     }
1626     tokens_helper(v, &mut node.bracket_token.span);
1627     v.visit_expr_mut(&mut *node.expr);
1628     tokens_helper(v, &mut node.semi_token.spans);
1629     v.visit_expr_mut(&mut *node.len);
1630 }
1631 #[cfg(feature = "full")]
visit_expr_return_mut<V>(v: &mut V, node: &mut ExprReturn) where V: VisitMut + ?Sized,1632 pub fn visit_expr_return_mut<V>(v: &mut V, node: &mut ExprReturn)
1633 where
1634     V: VisitMut + ?Sized,
1635 {
1636     for it in &mut node.attrs {
1637         v.visit_attribute_mut(it);
1638     }
1639     tokens_helper(v, &mut node.return_token.span);
1640     if let Some(it) = &mut node.expr {
1641         v.visit_expr_mut(&mut **it);
1642     }
1643 }
1644 #[cfg(feature = "full")]
visit_expr_struct_mut<V>(v: &mut V, node: &mut ExprStruct) where V: VisitMut + ?Sized,1645 pub fn visit_expr_struct_mut<V>(v: &mut V, node: &mut ExprStruct)
1646 where
1647     V: VisitMut + ?Sized,
1648 {
1649     for it in &mut node.attrs {
1650         v.visit_attribute_mut(it);
1651     }
1652     v.visit_path_mut(&mut node.path);
1653     tokens_helper(v, &mut node.brace_token.span);
1654     for el in Punctuated::pairs_mut(&mut node.fields) {
1655         let (it, p) = el.into_tuple();
1656         v.visit_field_value_mut(it);
1657         if let Some(p) = p {
1658             tokens_helper(v, &mut p.spans);
1659         }
1660     }
1661     if let Some(it) = &mut node.dot2_token {
1662         tokens_helper(v, &mut it.spans);
1663     }
1664     if let Some(it) = &mut node.rest {
1665         v.visit_expr_mut(&mut **it);
1666     }
1667 }
1668 #[cfg(feature = "full")]
visit_expr_try_mut<V>(v: &mut V, node: &mut ExprTry) where V: VisitMut + ?Sized,1669 pub fn visit_expr_try_mut<V>(v: &mut V, node: &mut ExprTry)
1670 where
1671     V: VisitMut + ?Sized,
1672 {
1673     for it in &mut node.attrs {
1674         v.visit_attribute_mut(it);
1675     }
1676     v.visit_expr_mut(&mut *node.expr);
1677     tokens_helper(v, &mut node.question_token.spans);
1678 }
1679 #[cfg(feature = "full")]
visit_expr_try_block_mut<V>(v: &mut V, node: &mut ExprTryBlock) where V: VisitMut + ?Sized,1680 pub fn visit_expr_try_block_mut<V>(v: &mut V, node: &mut ExprTryBlock)
1681 where
1682     V: VisitMut + ?Sized,
1683 {
1684     for it in &mut node.attrs {
1685         v.visit_attribute_mut(it);
1686     }
1687     tokens_helper(v, &mut node.try_token.span);
1688     v.visit_block_mut(&mut node.block);
1689 }
1690 #[cfg(feature = "full")]
visit_expr_tuple_mut<V>(v: &mut V, node: &mut ExprTuple) where V: VisitMut + ?Sized,1691 pub fn visit_expr_tuple_mut<V>(v: &mut V, node: &mut ExprTuple)
1692 where
1693     V: VisitMut + ?Sized,
1694 {
1695     for it in &mut node.attrs {
1696         v.visit_attribute_mut(it);
1697     }
1698     tokens_helper(v, &mut node.paren_token.span);
1699     for el in Punctuated::pairs_mut(&mut node.elems) {
1700         let (it, p) = el.into_tuple();
1701         v.visit_expr_mut(it);
1702         if let Some(p) = p {
1703             tokens_helper(v, &mut p.spans);
1704         }
1705     }
1706 }
1707 #[cfg(feature = "full")]
visit_expr_type_mut<V>(v: &mut V, node: &mut ExprType) where V: VisitMut + ?Sized,1708 pub fn visit_expr_type_mut<V>(v: &mut V, node: &mut ExprType)
1709 where
1710     V: VisitMut + ?Sized,
1711 {
1712     for it in &mut node.attrs {
1713         v.visit_attribute_mut(it);
1714     }
1715     v.visit_expr_mut(&mut *node.expr);
1716     tokens_helper(v, &mut node.colon_token.spans);
1717     v.visit_type_mut(&mut *node.ty);
1718 }
1719 #[cfg(any(feature = "derive", feature = "full"))]
visit_expr_unary_mut<V>(v: &mut V, node: &mut ExprUnary) where V: VisitMut + ?Sized,1720 pub fn visit_expr_unary_mut<V>(v: &mut V, node: &mut ExprUnary)
1721 where
1722     V: VisitMut + ?Sized,
1723 {
1724     for it in &mut node.attrs {
1725         v.visit_attribute_mut(it);
1726     }
1727     v.visit_un_op_mut(&mut node.op);
1728     v.visit_expr_mut(&mut *node.expr);
1729 }
1730 #[cfg(feature = "full")]
visit_expr_unsafe_mut<V>(v: &mut V, node: &mut ExprUnsafe) where V: VisitMut + ?Sized,1731 pub fn visit_expr_unsafe_mut<V>(v: &mut V, node: &mut ExprUnsafe)
1732 where
1733     V: VisitMut + ?Sized,
1734 {
1735     for it in &mut node.attrs {
1736         v.visit_attribute_mut(it);
1737     }
1738     tokens_helper(v, &mut node.unsafe_token.span);
1739     v.visit_block_mut(&mut node.block);
1740 }
1741 #[cfg(feature = "full")]
visit_expr_while_mut<V>(v: &mut V, node: &mut ExprWhile) where V: VisitMut + ?Sized,1742 pub fn visit_expr_while_mut<V>(v: &mut V, node: &mut ExprWhile)
1743 where
1744     V: VisitMut + ?Sized,
1745 {
1746     for it in &mut node.attrs {
1747         v.visit_attribute_mut(it);
1748     }
1749     if let Some(it) = &mut node.label {
1750         v.visit_label_mut(it);
1751     }
1752     tokens_helper(v, &mut node.while_token.span);
1753     v.visit_expr_mut(&mut *node.cond);
1754     v.visit_block_mut(&mut node.body);
1755 }
1756 #[cfg(feature = "full")]
visit_expr_yield_mut<V>(v: &mut V, node: &mut ExprYield) where V: VisitMut + ?Sized,1757 pub fn visit_expr_yield_mut<V>(v: &mut V, node: &mut ExprYield)
1758 where
1759     V: VisitMut + ?Sized,
1760 {
1761     for it in &mut node.attrs {
1762         v.visit_attribute_mut(it);
1763     }
1764     tokens_helper(v, &mut node.yield_token.span);
1765     if let Some(it) = &mut node.expr {
1766         v.visit_expr_mut(&mut **it);
1767     }
1768 }
1769 #[cfg(any(feature = "derive", feature = "full"))]
visit_field_mut<V>(v: &mut V, node: &mut Field) where V: VisitMut + ?Sized,1770 pub fn visit_field_mut<V>(v: &mut V, node: &mut Field)
1771 where
1772     V: VisitMut + ?Sized,
1773 {
1774     for it in &mut node.attrs {
1775         v.visit_attribute_mut(it);
1776     }
1777     v.visit_visibility_mut(&mut node.vis);
1778     if let Some(it) = &mut node.ident {
1779         v.visit_ident_mut(it);
1780     }
1781     if let Some(it) = &mut node.colon_token {
1782         tokens_helper(v, &mut it.spans);
1783     }
1784     v.visit_type_mut(&mut node.ty);
1785 }
1786 #[cfg(feature = "full")]
visit_field_pat_mut<V>(v: &mut V, node: &mut FieldPat) where V: VisitMut + ?Sized,1787 pub fn visit_field_pat_mut<V>(v: &mut V, node: &mut FieldPat)
1788 where
1789     V: VisitMut + ?Sized,
1790 {
1791     for it in &mut node.attrs {
1792         v.visit_attribute_mut(it);
1793     }
1794     v.visit_member_mut(&mut node.member);
1795     if let Some(it) = &mut node.colon_token {
1796         tokens_helper(v, &mut it.spans);
1797     }
1798     v.visit_pat_mut(&mut *node.pat);
1799 }
1800 #[cfg(feature = "full")]
visit_field_value_mut<V>(v: &mut V, node: &mut FieldValue) where V: VisitMut + ?Sized,1801 pub fn visit_field_value_mut<V>(v: &mut V, node: &mut FieldValue)
1802 where
1803     V: VisitMut + ?Sized,
1804 {
1805     for it in &mut node.attrs {
1806         v.visit_attribute_mut(it);
1807     }
1808     v.visit_member_mut(&mut node.member);
1809     if let Some(it) = &mut node.colon_token {
1810         tokens_helper(v, &mut it.spans);
1811     }
1812     v.visit_expr_mut(&mut node.expr);
1813 }
1814 #[cfg(any(feature = "derive", feature = "full"))]
visit_fields_mut<V>(v: &mut V, node: &mut Fields) where V: VisitMut + ?Sized,1815 pub fn visit_fields_mut<V>(v: &mut V, node: &mut Fields)
1816 where
1817     V: VisitMut + ?Sized,
1818 {
1819     match node {
1820         Fields::Named(_binding_0) => {
1821             v.visit_fields_named_mut(_binding_0);
1822         }
1823         Fields::Unnamed(_binding_0) => {
1824             v.visit_fields_unnamed_mut(_binding_0);
1825         }
1826         Fields::Unit => {}
1827     }
1828 }
1829 #[cfg(any(feature = "derive", feature = "full"))]
visit_fields_named_mut<V>(v: &mut V, node: &mut FieldsNamed) where V: VisitMut + ?Sized,1830 pub fn visit_fields_named_mut<V>(v: &mut V, node: &mut FieldsNamed)
1831 where
1832     V: VisitMut + ?Sized,
1833 {
1834     tokens_helper(v, &mut node.brace_token.span);
1835     for el in Punctuated::pairs_mut(&mut node.named) {
1836         let (it, p) = el.into_tuple();
1837         v.visit_field_mut(it);
1838         if let Some(p) = p {
1839             tokens_helper(v, &mut p.spans);
1840         }
1841     }
1842 }
1843 #[cfg(any(feature = "derive", feature = "full"))]
visit_fields_unnamed_mut<V>(v: &mut V, node: &mut FieldsUnnamed) where V: VisitMut + ?Sized,1844 pub fn visit_fields_unnamed_mut<V>(v: &mut V, node: &mut FieldsUnnamed)
1845 where
1846     V: VisitMut + ?Sized,
1847 {
1848     tokens_helper(v, &mut node.paren_token.span);
1849     for el in Punctuated::pairs_mut(&mut node.unnamed) {
1850         let (it, p) = el.into_tuple();
1851         v.visit_field_mut(it);
1852         if let Some(p) = p {
1853             tokens_helper(v, &mut p.spans);
1854         }
1855     }
1856 }
1857 #[cfg(feature = "full")]
visit_file_mut<V>(v: &mut V, node: &mut File) where V: VisitMut + ?Sized,1858 pub fn visit_file_mut<V>(v: &mut V, node: &mut File)
1859 where
1860     V: VisitMut + ?Sized,
1861 {
1862     skip!(node.shebang);
1863     for it in &mut node.attrs {
1864         v.visit_attribute_mut(it);
1865     }
1866     for it in &mut node.items {
1867         v.visit_item_mut(it);
1868     }
1869 }
1870 #[cfg(feature = "full")]
visit_fn_arg_mut<V>(v: &mut V, node: &mut FnArg) where V: VisitMut + ?Sized,1871 pub fn visit_fn_arg_mut<V>(v: &mut V, node: &mut FnArg)
1872 where
1873     V: VisitMut + ?Sized,
1874 {
1875     match node {
1876         FnArg::Receiver(_binding_0) => {
1877             v.visit_receiver_mut(_binding_0);
1878         }
1879         FnArg::Typed(_binding_0) => {
1880             v.visit_pat_type_mut(_binding_0);
1881         }
1882     }
1883 }
1884 #[cfg(feature = "full")]
visit_foreign_item_mut<V>(v: &mut V, node: &mut ForeignItem) where V: VisitMut + ?Sized,1885 pub fn visit_foreign_item_mut<V>(v: &mut V, node: &mut ForeignItem)
1886 where
1887     V: VisitMut + ?Sized,
1888 {
1889     match node {
1890         ForeignItem::Fn(_binding_0) => {
1891             v.visit_foreign_item_fn_mut(_binding_0);
1892         }
1893         ForeignItem::Static(_binding_0) => {
1894             v.visit_foreign_item_static_mut(_binding_0);
1895         }
1896         ForeignItem::Type(_binding_0) => {
1897             v.visit_foreign_item_type_mut(_binding_0);
1898         }
1899         ForeignItem::Macro(_binding_0) => {
1900             v.visit_foreign_item_macro_mut(_binding_0);
1901         }
1902         ForeignItem::Verbatim(_binding_0) => {
1903             skip!(_binding_0);
1904         }
1905         _ => unreachable!(),
1906     }
1907 }
1908 #[cfg(feature = "full")]
visit_foreign_item_fn_mut<V>(v: &mut V, node: &mut ForeignItemFn) where V: VisitMut + ?Sized,1909 pub fn visit_foreign_item_fn_mut<V>(v: &mut V, node: &mut ForeignItemFn)
1910 where
1911     V: VisitMut + ?Sized,
1912 {
1913     for it in &mut node.attrs {
1914         v.visit_attribute_mut(it);
1915     }
1916     v.visit_visibility_mut(&mut node.vis);
1917     v.visit_signature_mut(&mut node.sig);
1918     tokens_helper(v, &mut node.semi_token.spans);
1919 }
1920 #[cfg(feature = "full")]
visit_foreign_item_macro_mut<V>(v: &mut V, node: &mut ForeignItemMacro) where V: VisitMut + ?Sized,1921 pub fn visit_foreign_item_macro_mut<V>(v: &mut V, node: &mut ForeignItemMacro)
1922 where
1923     V: VisitMut + ?Sized,
1924 {
1925     for it in &mut node.attrs {
1926         v.visit_attribute_mut(it);
1927     }
1928     v.visit_macro_mut(&mut node.mac);
1929     if let Some(it) = &mut node.semi_token {
1930         tokens_helper(v, &mut it.spans);
1931     }
1932 }
1933 #[cfg(feature = "full")]
visit_foreign_item_static_mut<V>(v: &mut V, node: &mut ForeignItemStatic) where V: VisitMut + ?Sized,1934 pub fn visit_foreign_item_static_mut<V>(v: &mut V, node: &mut ForeignItemStatic)
1935 where
1936     V: VisitMut + ?Sized,
1937 {
1938     for it in &mut node.attrs {
1939         v.visit_attribute_mut(it);
1940     }
1941     v.visit_visibility_mut(&mut node.vis);
1942     tokens_helper(v, &mut node.static_token.span);
1943     if let Some(it) = &mut node.mutability {
1944         tokens_helper(v, &mut it.span);
1945     }
1946     v.visit_ident_mut(&mut node.ident);
1947     tokens_helper(v, &mut node.colon_token.spans);
1948     v.visit_type_mut(&mut *node.ty);
1949     tokens_helper(v, &mut node.semi_token.spans);
1950 }
1951 #[cfg(feature = "full")]
visit_foreign_item_type_mut<V>(v: &mut V, node: &mut ForeignItemType) where V: VisitMut + ?Sized,1952 pub fn visit_foreign_item_type_mut<V>(v: &mut V, node: &mut ForeignItemType)
1953 where
1954     V: VisitMut + ?Sized,
1955 {
1956     for it in &mut node.attrs {
1957         v.visit_attribute_mut(it);
1958     }
1959     v.visit_visibility_mut(&mut node.vis);
1960     tokens_helper(v, &mut node.type_token.span);
1961     v.visit_ident_mut(&mut node.ident);
1962     tokens_helper(v, &mut node.semi_token.spans);
1963 }
1964 #[cfg(any(feature = "derive", feature = "full"))]
visit_generic_argument_mut<V>(v: &mut V, node: &mut GenericArgument) where V: VisitMut + ?Sized,1965 pub fn visit_generic_argument_mut<V>(v: &mut V, node: &mut GenericArgument)
1966 where
1967     V: VisitMut + ?Sized,
1968 {
1969     match node {
1970         GenericArgument::Lifetime(_binding_0) => {
1971             v.visit_lifetime_mut(_binding_0);
1972         }
1973         GenericArgument::Type(_binding_0) => {
1974             v.visit_type_mut(_binding_0);
1975         }
1976         GenericArgument::Binding(_binding_0) => {
1977             v.visit_binding_mut(_binding_0);
1978         }
1979         GenericArgument::Constraint(_binding_0) => {
1980             v.visit_constraint_mut(_binding_0);
1981         }
1982         GenericArgument::Const(_binding_0) => {
1983             v.visit_expr_mut(_binding_0);
1984         }
1985     }
1986 }
1987 #[cfg(feature = "full")]
visit_generic_method_argument_mut<V>(v: &mut V, node: &mut GenericMethodArgument) where V: VisitMut + ?Sized,1988 pub fn visit_generic_method_argument_mut<V>(v: &mut V, node: &mut GenericMethodArgument)
1989 where
1990     V: VisitMut + ?Sized,
1991 {
1992     match node {
1993         GenericMethodArgument::Type(_binding_0) => {
1994             v.visit_type_mut(_binding_0);
1995         }
1996         GenericMethodArgument::Const(_binding_0) => {
1997             v.visit_expr_mut(_binding_0);
1998         }
1999     }
2000 }
2001 #[cfg(any(feature = "derive", feature = "full"))]
visit_generic_param_mut<V>(v: &mut V, node: &mut GenericParam) where V: VisitMut + ?Sized,2002 pub fn visit_generic_param_mut<V>(v: &mut V, node: &mut GenericParam)
2003 where
2004     V: VisitMut + ?Sized,
2005 {
2006     match node {
2007         GenericParam::Type(_binding_0) => {
2008             v.visit_type_param_mut(_binding_0);
2009         }
2010         GenericParam::Lifetime(_binding_0) => {
2011             v.visit_lifetime_def_mut(_binding_0);
2012         }
2013         GenericParam::Const(_binding_0) => {
2014             v.visit_const_param_mut(_binding_0);
2015         }
2016     }
2017 }
2018 #[cfg(any(feature = "derive", feature = "full"))]
visit_generics_mut<V>(v: &mut V, node: &mut Generics) where V: VisitMut + ?Sized,2019 pub fn visit_generics_mut<V>(v: &mut V, node: &mut Generics)
2020 where
2021     V: VisitMut + ?Sized,
2022 {
2023     if let Some(it) = &mut node.lt_token {
2024         tokens_helper(v, &mut it.spans);
2025     }
2026     for el in Punctuated::pairs_mut(&mut node.params) {
2027         let (it, p) = el.into_tuple();
2028         v.visit_generic_param_mut(it);
2029         if let Some(p) = p {
2030             tokens_helper(v, &mut p.spans);
2031         }
2032     }
2033     if let Some(it) = &mut node.gt_token {
2034         tokens_helper(v, &mut it.spans);
2035     }
2036     if let Some(it) = &mut node.where_clause {
2037         v.visit_where_clause_mut(it);
2038     }
2039 }
visit_ident_mut<V>(v: &mut V, node: &mut Ident) where V: VisitMut + ?Sized,2040 pub fn visit_ident_mut<V>(v: &mut V, node: &mut Ident)
2041 where
2042     V: VisitMut + ?Sized,
2043 {
2044     let mut span = node.span();
2045     v.visit_span_mut(&mut span);
2046     node.set_span(span);
2047 }
2048 #[cfg(feature = "full")]
visit_impl_item_mut<V>(v: &mut V, node: &mut ImplItem) where V: VisitMut + ?Sized,2049 pub fn visit_impl_item_mut<V>(v: &mut V, node: &mut ImplItem)
2050 where
2051     V: VisitMut + ?Sized,
2052 {
2053     match node {
2054         ImplItem::Const(_binding_0) => {
2055             v.visit_impl_item_const_mut(_binding_0);
2056         }
2057         ImplItem::Method(_binding_0) => {
2058             v.visit_impl_item_method_mut(_binding_0);
2059         }
2060         ImplItem::Type(_binding_0) => {
2061             v.visit_impl_item_type_mut(_binding_0);
2062         }
2063         ImplItem::Macro(_binding_0) => {
2064             v.visit_impl_item_macro_mut(_binding_0);
2065         }
2066         ImplItem::Verbatim(_binding_0) => {
2067             skip!(_binding_0);
2068         }
2069         _ => unreachable!(),
2070     }
2071 }
2072 #[cfg(feature = "full")]
visit_impl_item_const_mut<V>(v: &mut V, node: &mut ImplItemConst) where V: VisitMut + ?Sized,2073 pub fn visit_impl_item_const_mut<V>(v: &mut V, node: &mut ImplItemConst)
2074 where
2075     V: VisitMut + ?Sized,
2076 {
2077     for it in &mut node.attrs {
2078         v.visit_attribute_mut(it);
2079     }
2080     v.visit_visibility_mut(&mut node.vis);
2081     if let Some(it) = &mut node.defaultness {
2082         tokens_helper(v, &mut it.span);
2083     }
2084     tokens_helper(v, &mut node.const_token.span);
2085     v.visit_ident_mut(&mut node.ident);
2086     tokens_helper(v, &mut node.colon_token.spans);
2087     v.visit_type_mut(&mut node.ty);
2088     tokens_helper(v, &mut node.eq_token.spans);
2089     v.visit_expr_mut(&mut node.expr);
2090     tokens_helper(v, &mut node.semi_token.spans);
2091 }
2092 #[cfg(feature = "full")]
visit_impl_item_macro_mut<V>(v: &mut V, node: &mut ImplItemMacro) where V: VisitMut + ?Sized,2093 pub fn visit_impl_item_macro_mut<V>(v: &mut V, node: &mut ImplItemMacro)
2094 where
2095     V: VisitMut + ?Sized,
2096 {
2097     for it in &mut node.attrs {
2098         v.visit_attribute_mut(it);
2099     }
2100     v.visit_macro_mut(&mut node.mac);
2101     if let Some(it) = &mut node.semi_token {
2102         tokens_helper(v, &mut it.spans);
2103     }
2104 }
2105 #[cfg(feature = "full")]
visit_impl_item_method_mut<V>(v: &mut V, node: &mut ImplItemMethod) where V: VisitMut + ?Sized,2106 pub fn visit_impl_item_method_mut<V>(v: &mut V, node: &mut ImplItemMethod)
2107 where
2108     V: VisitMut + ?Sized,
2109 {
2110     for it in &mut node.attrs {
2111         v.visit_attribute_mut(it);
2112     }
2113     v.visit_visibility_mut(&mut node.vis);
2114     if let Some(it) = &mut node.defaultness {
2115         tokens_helper(v, &mut it.span);
2116     }
2117     v.visit_signature_mut(&mut node.sig);
2118     v.visit_block_mut(&mut node.block);
2119 }
2120 #[cfg(feature = "full")]
visit_impl_item_type_mut<V>(v: &mut V, node: &mut ImplItemType) where V: VisitMut + ?Sized,2121 pub fn visit_impl_item_type_mut<V>(v: &mut V, node: &mut ImplItemType)
2122 where
2123     V: VisitMut + ?Sized,
2124 {
2125     for it in &mut node.attrs {
2126         v.visit_attribute_mut(it);
2127     }
2128     v.visit_visibility_mut(&mut node.vis);
2129     if let Some(it) = &mut node.defaultness {
2130         tokens_helper(v, &mut it.span);
2131     }
2132     tokens_helper(v, &mut node.type_token.span);
2133     v.visit_ident_mut(&mut node.ident);
2134     v.visit_generics_mut(&mut node.generics);
2135     tokens_helper(v, &mut node.eq_token.spans);
2136     v.visit_type_mut(&mut node.ty);
2137     tokens_helper(v, &mut node.semi_token.spans);
2138 }
2139 #[cfg(any(feature = "derive", feature = "full"))]
visit_index_mut<V>(v: &mut V, node: &mut Index) where V: VisitMut + ?Sized,2140 pub fn visit_index_mut<V>(v: &mut V, node: &mut Index)
2141 where
2142     V: VisitMut + ?Sized,
2143 {
2144     skip!(node.index);
2145     v.visit_span_mut(&mut node.span);
2146 }
2147 #[cfg(feature = "full")]
visit_item_mut<V>(v: &mut V, node: &mut Item) where V: VisitMut + ?Sized,2148 pub fn visit_item_mut<V>(v: &mut V, node: &mut Item)
2149 where
2150     V: VisitMut + ?Sized,
2151 {
2152     match node {
2153         Item::Const(_binding_0) => {
2154             v.visit_item_const_mut(_binding_0);
2155         }
2156         Item::Enum(_binding_0) => {
2157             v.visit_item_enum_mut(_binding_0);
2158         }
2159         Item::ExternCrate(_binding_0) => {
2160             v.visit_item_extern_crate_mut(_binding_0);
2161         }
2162         Item::Fn(_binding_0) => {
2163             v.visit_item_fn_mut(_binding_0);
2164         }
2165         Item::ForeignMod(_binding_0) => {
2166             v.visit_item_foreign_mod_mut(_binding_0);
2167         }
2168         Item::Impl(_binding_0) => {
2169             v.visit_item_impl_mut(_binding_0);
2170         }
2171         Item::Macro(_binding_0) => {
2172             v.visit_item_macro_mut(_binding_0);
2173         }
2174         Item::Macro2(_binding_0) => {
2175             v.visit_item_macro2_mut(_binding_0);
2176         }
2177         Item::Mod(_binding_0) => {
2178             v.visit_item_mod_mut(_binding_0);
2179         }
2180         Item::Static(_binding_0) => {
2181             v.visit_item_static_mut(_binding_0);
2182         }
2183         Item::Struct(_binding_0) => {
2184             v.visit_item_struct_mut(_binding_0);
2185         }
2186         Item::Trait(_binding_0) => {
2187             v.visit_item_trait_mut(_binding_0);
2188         }
2189         Item::TraitAlias(_binding_0) => {
2190             v.visit_item_trait_alias_mut(_binding_0);
2191         }
2192         Item::Type(_binding_0) => {
2193             v.visit_item_type_mut(_binding_0);
2194         }
2195         Item::Union(_binding_0) => {
2196             v.visit_item_union_mut(_binding_0);
2197         }
2198         Item::Use(_binding_0) => {
2199             v.visit_item_use_mut(_binding_0);
2200         }
2201         Item::Verbatim(_binding_0) => {
2202             skip!(_binding_0);
2203         }
2204         _ => unreachable!(),
2205     }
2206 }
2207 #[cfg(feature = "full")]
visit_item_const_mut<V>(v: &mut V, node: &mut ItemConst) where V: VisitMut + ?Sized,2208 pub fn visit_item_const_mut<V>(v: &mut V, node: &mut ItemConst)
2209 where
2210     V: VisitMut + ?Sized,
2211 {
2212     for it in &mut node.attrs {
2213         v.visit_attribute_mut(it);
2214     }
2215     v.visit_visibility_mut(&mut node.vis);
2216     tokens_helper(v, &mut node.const_token.span);
2217     v.visit_ident_mut(&mut node.ident);
2218     tokens_helper(v, &mut node.colon_token.spans);
2219     v.visit_type_mut(&mut *node.ty);
2220     tokens_helper(v, &mut node.eq_token.spans);
2221     v.visit_expr_mut(&mut *node.expr);
2222     tokens_helper(v, &mut node.semi_token.spans);
2223 }
2224 #[cfg(feature = "full")]
visit_item_enum_mut<V>(v: &mut V, node: &mut ItemEnum) where V: VisitMut + ?Sized,2225 pub fn visit_item_enum_mut<V>(v: &mut V, node: &mut ItemEnum)
2226 where
2227     V: VisitMut + ?Sized,
2228 {
2229     for it in &mut node.attrs {
2230         v.visit_attribute_mut(it);
2231     }
2232     v.visit_visibility_mut(&mut node.vis);
2233     tokens_helper(v, &mut node.enum_token.span);
2234     v.visit_ident_mut(&mut node.ident);
2235     v.visit_generics_mut(&mut node.generics);
2236     tokens_helper(v, &mut node.brace_token.span);
2237     for el in Punctuated::pairs_mut(&mut node.variants) {
2238         let (it, p) = el.into_tuple();
2239         v.visit_variant_mut(it);
2240         if let Some(p) = p {
2241             tokens_helper(v, &mut p.spans);
2242         }
2243     }
2244 }
2245 #[cfg(feature = "full")]
visit_item_extern_crate_mut<V>(v: &mut V, node: &mut ItemExternCrate) where V: VisitMut + ?Sized,2246 pub fn visit_item_extern_crate_mut<V>(v: &mut V, node: &mut ItemExternCrate)
2247 where
2248     V: VisitMut + ?Sized,
2249 {
2250     for it in &mut node.attrs {
2251         v.visit_attribute_mut(it);
2252     }
2253     v.visit_visibility_mut(&mut node.vis);
2254     tokens_helper(v, &mut node.extern_token.span);
2255     tokens_helper(v, &mut node.crate_token.span);
2256     v.visit_ident_mut(&mut node.ident);
2257     if let Some(it) = &mut node.rename {
2258         tokens_helper(v, &mut (it).0.span);
2259         v.visit_ident_mut(&mut (it).1);
2260     }
2261     tokens_helper(v, &mut node.semi_token.spans);
2262 }
2263 #[cfg(feature = "full")]
visit_item_fn_mut<V>(v: &mut V, node: &mut ItemFn) where V: VisitMut + ?Sized,2264 pub fn visit_item_fn_mut<V>(v: &mut V, node: &mut ItemFn)
2265 where
2266     V: VisitMut + ?Sized,
2267 {
2268     for it in &mut node.attrs {
2269         v.visit_attribute_mut(it);
2270     }
2271     v.visit_visibility_mut(&mut node.vis);
2272     v.visit_signature_mut(&mut node.sig);
2273     v.visit_block_mut(&mut *node.block);
2274 }
2275 #[cfg(feature = "full")]
visit_item_foreign_mod_mut<V>(v: &mut V, node: &mut ItemForeignMod) where V: VisitMut + ?Sized,2276 pub fn visit_item_foreign_mod_mut<V>(v: &mut V, node: &mut ItemForeignMod)
2277 where
2278     V: VisitMut + ?Sized,
2279 {
2280     for it in &mut node.attrs {
2281         v.visit_attribute_mut(it);
2282     }
2283     v.visit_abi_mut(&mut node.abi);
2284     tokens_helper(v, &mut node.brace_token.span);
2285     for it in &mut node.items {
2286         v.visit_foreign_item_mut(it);
2287     }
2288 }
2289 #[cfg(feature = "full")]
visit_item_impl_mut<V>(v: &mut V, node: &mut ItemImpl) where V: VisitMut + ?Sized,2290 pub fn visit_item_impl_mut<V>(v: &mut V, node: &mut ItemImpl)
2291 where
2292     V: VisitMut + ?Sized,
2293 {
2294     for it in &mut node.attrs {
2295         v.visit_attribute_mut(it);
2296     }
2297     if let Some(it) = &mut node.defaultness {
2298         tokens_helper(v, &mut it.span);
2299     }
2300     if let Some(it) = &mut node.unsafety {
2301         tokens_helper(v, &mut it.span);
2302     }
2303     tokens_helper(v, &mut node.impl_token.span);
2304     v.visit_generics_mut(&mut node.generics);
2305     if let Some(it) = &mut node.trait_ {
2306         if let Some(it) = &mut (it).0 {
2307             tokens_helper(v, &mut it.spans);
2308         }
2309         v.visit_path_mut(&mut (it).1);
2310         tokens_helper(v, &mut (it).2.span);
2311     }
2312     v.visit_type_mut(&mut *node.self_ty);
2313     tokens_helper(v, &mut node.brace_token.span);
2314     for it in &mut node.items {
2315         v.visit_impl_item_mut(it);
2316     }
2317 }
2318 #[cfg(feature = "full")]
visit_item_macro_mut<V>(v: &mut V, node: &mut ItemMacro) where V: VisitMut + ?Sized,2319 pub fn visit_item_macro_mut<V>(v: &mut V, node: &mut ItemMacro)
2320 where
2321     V: VisitMut + ?Sized,
2322 {
2323     for it in &mut node.attrs {
2324         v.visit_attribute_mut(it);
2325     }
2326     if let Some(it) = &mut node.ident {
2327         v.visit_ident_mut(it);
2328     }
2329     v.visit_macro_mut(&mut node.mac);
2330     if let Some(it) = &mut node.semi_token {
2331         tokens_helper(v, &mut it.spans);
2332     }
2333 }
2334 #[cfg(feature = "full")]
visit_item_macro2_mut<V>(v: &mut V, node: &mut ItemMacro2) where V: VisitMut + ?Sized,2335 pub fn visit_item_macro2_mut<V>(v: &mut V, node: &mut ItemMacro2)
2336 where
2337     V: VisitMut + ?Sized,
2338 {
2339     for it in &mut node.attrs {
2340         v.visit_attribute_mut(it);
2341     }
2342     v.visit_visibility_mut(&mut node.vis);
2343     tokens_helper(v, &mut node.macro_token.span);
2344     v.visit_ident_mut(&mut node.ident);
2345     skip!(node.rules);
2346 }
2347 #[cfg(feature = "full")]
visit_item_mod_mut<V>(v: &mut V, node: &mut ItemMod) where V: VisitMut + ?Sized,2348 pub fn visit_item_mod_mut<V>(v: &mut V, node: &mut ItemMod)
2349 where
2350     V: VisitMut + ?Sized,
2351 {
2352     for it in &mut node.attrs {
2353         v.visit_attribute_mut(it);
2354     }
2355     v.visit_visibility_mut(&mut node.vis);
2356     tokens_helper(v, &mut node.mod_token.span);
2357     v.visit_ident_mut(&mut node.ident);
2358     if let Some(it) = &mut node.content {
2359         tokens_helper(v, &mut (it).0.span);
2360         for it in &mut (it).1 {
2361             v.visit_item_mut(it);
2362         }
2363     }
2364     if let Some(it) = &mut node.semi {
2365         tokens_helper(v, &mut it.spans);
2366     }
2367 }
2368 #[cfg(feature = "full")]
visit_item_static_mut<V>(v: &mut V, node: &mut ItemStatic) where V: VisitMut + ?Sized,2369 pub fn visit_item_static_mut<V>(v: &mut V, node: &mut ItemStatic)
2370 where
2371     V: VisitMut + ?Sized,
2372 {
2373     for it in &mut node.attrs {
2374         v.visit_attribute_mut(it);
2375     }
2376     v.visit_visibility_mut(&mut node.vis);
2377     tokens_helper(v, &mut node.static_token.span);
2378     if let Some(it) = &mut node.mutability {
2379         tokens_helper(v, &mut it.span);
2380     }
2381     v.visit_ident_mut(&mut node.ident);
2382     tokens_helper(v, &mut node.colon_token.spans);
2383     v.visit_type_mut(&mut *node.ty);
2384     tokens_helper(v, &mut node.eq_token.spans);
2385     v.visit_expr_mut(&mut *node.expr);
2386     tokens_helper(v, &mut node.semi_token.spans);
2387 }
2388 #[cfg(feature = "full")]
visit_item_struct_mut<V>(v: &mut V, node: &mut ItemStruct) where V: VisitMut + ?Sized,2389 pub fn visit_item_struct_mut<V>(v: &mut V, node: &mut ItemStruct)
2390 where
2391     V: VisitMut + ?Sized,
2392 {
2393     for it in &mut node.attrs {
2394         v.visit_attribute_mut(it);
2395     }
2396     v.visit_visibility_mut(&mut node.vis);
2397     tokens_helper(v, &mut node.struct_token.span);
2398     v.visit_ident_mut(&mut node.ident);
2399     v.visit_generics_mut(&mut node.generics);
2400     v.visit_fields_mut(&mut node.fields);
2401     if let Some(it) = &mut node.semi_token {
2402         tokens_helper(v, &mut it.spans);
2403     }
2404 }
2405 #[cfg(feature = "full")]
visit_item_trait_mut<V>(v: &mut V, node: &mut ItemTrait) where V: VisitMut + ?Sized,2406 pub fn visit_item_trait_mut<V>(v: &mut V, node: &mut ItemTrait)
2407 where
2408     V: VisitMut + ?Sized,
2409 {
2410     for it in &mut node.attrs {
2411         v.visit_attribute_mut(it);
2412     }
2413     v.visit_visibility_mut(&mut node.vis);
2414     if let Some(it) = &mut node.unsafety {
2415         tokens_helper(v, &mut it.span);
2416     }
2417     if let Some(it) = &mut node.auto_token {
2418         tokens_helper(v, &mut it.span);
2419     }
2420     tokens_helper(v, &mut node.trait_token.span);
2421     v.visit_ident_mut(&mut node.ident);
2422     v.visit_generics_mut(&mut node.generics);
2423     if let Some(it) = &mut node.colon_token {
2424         tokens_helper(v, &mut it.spans);
2425     }
2426     for el in Punctuated::pairs_mut(&mut node.supertraits) {
2427         let (it, p) = el.into_tuple();
2428         v.visit_type_param_bound_mut(it);
2429         if let Some(p) = p {
2430             tokens_helper(v, &mut p.spans);
2431         }
2432     }
2433     tokens_helper(v, &mut node.brace_token.span);
2434     for it in &mut node.items {
2435         v.visit_trait_item_mut(it);
2436     }
2437 }
2438 #[cfg(feature = "full")]
visit_item_trait_alias_mut<V>(v: &mut V, node: &mut ItemTraitAlias) where V: VisitMut + ?Sized,2439 pub fn visit_item_trait_alias_mut<V>(v: &mut V, node: &mut ItemTraitAlias)
2440 where
2441     V: VisitMut + ?Sized,
2442 {
2443     for it in &mut node.attrs {
2444         v.visit_attribute_mut(it);
2445     }
2446     v.visit_visibility_mut(&mut node.vis);
2447     tokens_helper(v, &mut node.trait_token.span);
2448     v.visit_ident_mut(&mut node.ident);
2449     v.visit_generics_mut(&mut node.generics);
2450     tokens_helper(v, &mut node.eq_token.spans);
2451     for el in Punctuated::pairs_mut(&mut node.bounds) {
2452         let (it, p) = el.into_tuple();
2453         v.visit_type_param_bound_mut(it);
2454         if let Some(p) = p {
2455             tokens_helper(v, &mut p.spans);
2456         }
2457     }
2458     tokens_helper(v, &mut node.semi_token.spans);
2459 }
2460 #[cfg(feature = "full")]
visit_item_type_mut<V>(v: &mut V, node: &mut ItemType) where V: VisitMut + ?Sized,2461 pub fn visit_item_type_mut<V>(v: &mut V, node: &mut ItemType)
2462 where
2463     V: VisitMut + ?Sized,
2464 {
2465     for it in &mut node.attrs {
2466         v.visit_attribute_mut(it);
2467     }
2468     v.visit_visibility_mut(&mut node.vis);
2469     tokens_helper(v, &mut node.type_token.span);
2470     v.visit_ident_mut(&mut node.ident);
2471     v.visit_generics_mut(&mut node.generics);
2472     tokens_helper(v, &mut node.eq_token.spans);
2473     v.visit_type_mut(&mut *node.ty);
2474     tokens_helper(v, &mut node.semi_token.spans);
2475 }
2476 #[cfg(feature = "full")]
visit_item_union_mut<V>(v: &mut V, node: &mut ItemUnion) where V: VisitMut + ?Sized,2477 pub fn visit_item_union_mut<V>(v: &mut V, node: &mut ItemUnion)
2478 where
2479     V: VisitMut + ?Sized,
2480 {
2481     for it in &mut node.attrs {
2482         v.visit_attribute_mut(it);
2483     }
2484     v.visit_visibility_mut(&mut node.vis);
2485     tokens_helper(v, &mut node.union_token.span);
2486     v.visit_ident_mut(&mut node.ident);
2487     v.visit_generics_mut(&mut node.generics);
2488     v.visit_fields_named_mut(&mut node.fields);
2489 }
2490 #[cfg(feature = "full")]
visit_item_use_mut<V>(v: &mut V, node: &mut ItemUse) where V: VisitMut + ?Sized,2491 pub fn visit_item_use_mut<V>(v: &mut V, node: &mut ItemUse)
2492 where
2493     V: VisitMut + ?Sized,
2494 {
2495     for it in &mut node.attrs {
2496         v.visit_attribute_mut(it);
2497     }
2498     v.visit_visibility_mut(&mut node.vis);
2499     tokens_helper(v, &mut node.use_token.span);
2500     if let Some(it) = &mut node.leading_colon {
2501         tokens_helper(v, &mut it.spans);
2502     }
2503     v.visit_use_tree_mut(&mut node.tree);
2504     tokens_helper(v, &mut node.semi_token.spans);
2505 }
2506 #[cfg(feature = "full")]
visit_label_mut<V>(v: &mut V, node: &mut Label) where V: VisitMut + ?Sized,2507 pub fn visit_label_mut<V>(v: &mut V, node: &mut Label)
2508 where
2509     V: VisitMut + ?Sized,
2510 {
2511     v.visit_lifetime_mut(&mut node.name);
2512     tokens_helper(v, &mut node.colon_token.spans);
2513 }
visit_lifetime_mut<V>(v: &mut V, node: &mut Lifetime) where V: VisitMut + ?Sized,2514 pub fn visit_lifetime_mut<V>(v: &mut V, node: &mut Lifetime)
2515 where
2516     V: VisitMut + ?Sized,
2517 {
2518     v.visit_span_mut(&mut node.apostrophe);
2519     v.visit_ident_mut(&mut node.ident);
2520 }
2521 #[cfg(any(feature = "derive", feature = "full"))]
visit_lifetime_def_mut<V>(v: &mut V, node: &mut LifetimeDef) where V: VisitMut + ?Sized,2522 pub fn visit_lifetime_def_mut<V>(v: &mut V, node: &mut LifetimeDef)
2523 where
2524     V: VisitMut + ?Sized,
2525 {
2526     for it in &mut node.attrs {
2527         v.visit_attribute_mut(it);
2528     }
2529     v.visit_lifetime_mut(&mut node.lifetime);
2530     if let Some(it) = &mut node.colon_token {
2531         tokens_helper(v, &mut it.spans);
2532     }
2533     for el in Punctuated::pairs_mut(&mut node.bounds) {
2534         let (it, p) = el.into_tuple();
2535         v.visit_lifetime_mut(it);
2536         if let Some(p) = p {
2537             tokens_helper(v, &mut p.spans);
2538         }
2539     }
2540 }
visit_lit_mut<V>(v: &mut V, node: &mut Lit) where V: VisitMut + ?Sized,2541 pub fn visit_lit_mut<V>(v: &mut V, node: &mut Lit)
2542 where
2543     V: VisitMut + ?Sized,
2544 {
2545     match node {
2546         Lit::Str(_binding_0) => {
2547             v.visit_lit_str_mut(_binding_0);
2548         }
2549         Lit::ByteStr(_binding_0) => {
2550             v.visit_lit_byte_str_mut(_binding_0);
2551         }
2552         Lit::Byte(_binding_0) => {
2553             v.visit_lit_byte_mut(_binding_0);
2554         }
2555         Lit::Char(_binding_0) => {
2556             v.visit_lit_char_mut(_binding_0);
2557         }
2558         Lit::Int(_binding_0) => {
2559             v.visit_lit_int_mut(_binding_0);
2560         }
2561         Lit::Float(_binding_0) => {
2562             v.visit_lit_float_mut(_binding_0);
2563         }
2564         Lit::Bool(_binding_0) => {
2565             v.visit_lit_bool_mut(_binding_0);
2566         }
2567         Lit::Verbatim(_binding_0) => {
2568             skip!(_binding_0);
2569         }
2570     }
2571 }
visit_lit_bool_mut<V>(v: &mut V, node: &mut LitBool) where V: VisitMut + ?Sized,2572 pub fn visit_lit_bool_mut<V>(v: &mut V, node: &mut LitBool)
2573 where
2574     V: VisitMut + ?Sized,
2575 {
2576     skip!(node.value);
2577     v.visit_span_mut(&mut node.span);
2578 }
visit_lit_byte_mut<V>(v: &mut V, node: &mut LitByte) where V: VisitMut + ?Sized,2579 pub fn visit_lit_byte_mut<V>(v: &mut V, node: &mut LitByte)
2580 where
2581     V: VisitMut + ?Sized,
2582 {}
visit_lit_byte_str_mut<V>(v: &mut V, node: &mut LitByteStr) where V: VisitMut + ?Sized,2583 pub fn visit_lit_byte_str_mut<V>(v: &mut V, node: &mut LitByteStr)
2584 where
2585     V: VisitMut + ?Sized,
2586 {}
visit_lit_char_mut<V>(v: &mut V, node: &mut LitChar) where V: VisitMut + ?Sized,2587 pub fn visit_lit_char_mut<V>(v: &mut V, node: &mut LitChar)
2588 where
2589     V: VisitMut + ?Sized,
2590 {}
visit_lit_float_mut<V>(v: &mut V, node: &mut LitFloat) where V: VisitMut + ?Sized,2591 pub fn visit_lit_float_mut<V>(v: &mut V, node: &mut LitFloat)
2592 where
2593     V: VisitMut + ?Sized,
2594 {}
visit_lit_int_mut<V>(v: &mut V, node: &mut LitInt) where V: VisitMut + ?Sized,2595 pub fn visit_lit_int_mut<V>(v: &mut V, node: &mut LitInt)
2596 where
2597     V: VisitMut + ?Sized,
2598 {}
visit_lit_str_mut<V>(v: &mut V, node: &mut LitStr) where V: VisitMut + ?Sized,2599 pub fn visit_lit_str_mut<V>(v: &mut V, node: &mut LitStr)
2600 where
2601     V: VisitMut + ?Sized,
2602 {}
2603 #[cfg(feature = "full")]
visit_local_mut<V>(v: &mut V, node: &mut Local) where V: VisitMut + ?Sized,2604 pub fn visit_local_mut<V>(v: &mut V, node: &mut Local)
2605 where
2606     V: VisitMut + ?Sized,
2607 {
2608     for it in &mut node.attrs {
2609         v.visit_attribute_mut(it);
2610     }
2611     tokens_helper(v, &mut node.let_token.span);
2612     v.visit_pat_mut(&mut node.pat);
2613     if let Some(it) = &mut node.init {
2614         tokens_helper(v, &mut (it).0.spans);
2615         v.visit_expr_mut(&mut *(it).1);
2616     }
2617     tokens_helper(v, &mut node.semi_token.spans);
2618 }
2619 #[cfg(any(feature = "derive", feature = "full"))]
visit_macro_mut<V>(v: &mut V, node: &mut Macro) where V: VisitMut + ?Sized,2620 pub fn visit_macro_mut<V>(v: &mut V, node: &mut Macro)
2621 where
2622     V: VisitMut + ?Sized,
2623 {
2624     v.visit_path_mut(&mut node.path);
2625     tokens_helper(v, &mut node.bang_token.spans);
2626     v.visit_macro_delimiter_mut(&mut node.delimiter);
2627     skip!(node.tokens);
2628 }
2629 #[cfg(any(feature = "derive", feature = "full"))]
visit_macro_delimiter_mut<V>(v: &mut V, node: &mut MacroDelimiter) where V: VisitMut + ?Sized,2630 pub fn visit_macro_delimiter_mut<V>(v: &mut V, node: &mut MacroDelimiter)
2631 where
2632     V: VisitMut + ?Sized,
2633 {
2634     match node {
2635         MacroDelimiter::Paren(_binding_0) => {
2636             tokens_helper(v, &mut _binding_0.span);
2637         }
2638         MacroDelimiter::Brace(_binding_0) => {
2639             tokens_helper(v, &mut _binding_0.span);
2640         }
2641         MacroDelimiter::Bracket(_binding_0) => {
2642             tokens_helper(v, &mut _binding_0.span);
2643         }
2644     }
2645 }
2646 #[cfg(any(feature = "derive", feature = "full"))]
visit_member_mut<V>(v: &mut V, node: &mut Member) where V: VisitMut + ?Sized,2647 pub fn visit_member_mut<V>(v: &mut V, node: &mut Member)
2648 where
2649     V: VisitMut + ?Sized,
2650 {
2651     match node {
2652         Member::Named(_binding_0) => {
2653             v.visit_ident_mut(_binding_0);
2654         }
2655         Member::Unnamed(_binding_0) => {
2656             v.visit_index_mut(_binding_0);
2657         }
2658     }
2659 }
2660 #[cfg(any(feature = "derive", feature = "full"))]
visit_meta_mut<V>(v: &mut V, node: &mut Meta) where V: VisitMut + ?Sized,2661 pub fn visit_meta_mut<V>(v: &mut V, node: &mut Meta)
2662 where
2663     V: VisitMut + ?Sized,
2664 {
2665     match node {
2666         Meta::Path(_binding_0) => {
2667             v.visit_path_mut(_binding_0);
2668         }
2669         Meta::List(_binding_0) => {
2670             v.visit_meta_list_mut(_binding_0);
2671         }
2672         Meta::NameValue(_binding_0) => {
2673             v.visit_meta_name_value_mut(_binding_0);
2674         }
2675     }
2676 }
2677 #[cfg(any(feature = "derive", feature = "full"))]
visit_meta_list_mut<V>(v: &mut V, node: &mut MetaList) where V: VisitMut + ?Sized,2678 pub fn visit_meta_list_mut<V>(v: &mut V, node: &mut MetaList)
2679 where
2680     V: VisitMut + ?Sized,
2681 {
2682     v.visit_path_mut(&mut node.path);
2683     tokens_helper(v, &mut node.paren_token.span);
2684     for el in Punctuated::pairs_mut(&mut node.nested) {
2685         let (it, p) = el.into_tuple();
2686         v.visit_nested_meta_mut(it);
2687         if let Some(p) = p {
2688             tokens_helper(v, &mut p.spans);
2689         }
2690     }
2691 }
2692 #[cfg(any(feature = "derive", feature = "full"))]
visit_meta_name_value_mut<V>(v: &mut V, node: &mut MetaNameValue) where V: VisitMut + ?Sized,2693 pub fn visit_meta_name_value_mut<V>(v: &mut V, node: &mut MetaNameValue)
2694 where
2695     V: VisitMut + ?Sized,
2696 {
2697     v.visit_path_mut(&mut node.path);
2698     tokens_helper(v, &mut node.eq_token.spans);
2699     v.visit_lit_mut(&mut node.lit);
2700 }
2701 #[cfg(feature = "full")]
visit_method_turbofish_mut<V>(v: &mut V, node: &mut MethodTurbofish) where V: VisitMut + ?Sized,2702 pub fn visit_method_turbofish_mut<V>(v: &mut V, node: &mut MethodTurbofish)
2703 where
2704     V: VisitMut + ?Sized,
2705 {
2706     tokens_helper(v, &mut node.colon2_token.spans);
2707     tokens_helper(v, &mut node.lt_token.spans);
2708     for el in Punctuated::pairs_mut(&mut node.args) {
2709         let (it, p) = el.into_tuple();
2710         v.visit_generic_method_argument_mut(it);
2711         if let Some(p) = p {
2712             tokens_helper(v, &mut p.spans);
2713         }
2714     }
2715     tokens_helper(v, &mut node.gt_token.spans);
2716 }
2717 #[cfg(any(feature = "derive", feature = "full"))]
visit_nested_meta_mut<V>(v: &mut V, node: &mut NestedMeta) where V: VisitMut + ?Sized,2718 pub fn visit_nested_meta_mut<V>(v: &mut V, node: &mut NestedMeta)
2719 where
2720     V: VisitMut + ?Sized,
2721 {
2722     match node {
2723         NestedMeta::Meta(_binding_0) => {
2724             v.visit_meta_mut(_binding_0);
2725         }
2726         NestedMeta::Lit(_binding_0) => {
2727             v.visit_lit_mut(_binding_0);
2728         }
2729     }
2730 }
2731 #[cfg(any(feature = "derive", feature = "full"))]
visit_parenthesized_generic_arguments_mut<V>( v: &mut V, node: &mut ParenthesizedGenericArguments, ) where V: VisitMut + ?Sized,2732 pub fn visit_parenthesized_generic_arguments_mut<V>(
2733     v: &mut V,
2734     node: &mut ParenthesizedGenericArguments,
2735 )
2736 where
2737     V: VisitMut + ?Sized,
2738 {
2739     tokens_helper(v, &mut node.paren_token.span);
2740     for el in Punctuated::pairs_mut(&mut node.inputs) {
2741         let (it, p) = el.into_tuple();
2742         v.visit_type_mut(it);
2743         if let Some(p) = p {
2744             tokens_helper(v, &mut p.spans);
2745         }
2746     }
2747     v.visit_return_type_mut(&mut node.output);
2748 }
2749 #[cfg(feature = "full")]
visit_pat_mut<V>(v: &mut V, node: &mut Pat) where V: VisitMut + ?Sized,2750 pub fn visit_pat_mut<V>(v: &mut V, node: &mut Pat)
2751 where
2752     V: VisitMut + ?Sized,
2753 {
2754     match node {
2755         Pat::Box(_binding_0) => {
2756             v.visit_pat_box_mut(_binding_0);
2757         }
2758         Pat::Ident(_binding_0) => {
2759             v.visit_pat_ident_mut(_binding_0);
2760         }
2761         Pat::Lit(_binding_0) => {
2762             v.visit_pat_lit_mut(_binding_0);
2763         }
2764         Pat::Macro(_binding_0) => {
2765             v.visit_pat_macro_mut(_binding_0);
2766         }
2767         Pat::Or(_binding_0) => {
2768             v.visit_pat_or_mut(_binding_0);
2769         }
2770         Pat::Path(_binding_0) => {
2771             v.visit_pat_path_mut(_binding_0);
2772         }
2773         Pat::Range(_binding_0) => {
2774             v.visit_pat_range_mut(_binding_0);
2775         }
2776         Pat::Reference(_binding_0) => {
2777             v.visit_pat_reference_mut(_binding_0);
2778         }
2779         Pat::Rest(_binding_0) => {
2780             v.visit_pat_rest_mut(_binding_0);
2781         }
2782         Pat::Slice(_binding_0) => {
2783             v.visit_pat_slice_mut(_binding_0);
2784         }
2785         Pat::Struct(_binding_0) => {
2786             v.visit_pat_struct_mut(_binding_0);
2787         }
2788         Pat::Tuple(_binding_0) => {
2789             v.visit_pat_tuple_mut(_binding_0);
2790         }
2791         Pat::TupleStruct(_binding_0) => {
2792             v.visit_pat_tuple_struct_mut(_binding_0);
2793         }
2794         Pat::Type(_binding_0) => {
2795             v.visit_pat_type_mut(_binding_0);
2796         }
2797         Pat::Verbatim(_binding_0) => {
2798             skip!(_binding_0);
2799         }
2800         Pat::Wild(_binding_0) => {
2801             v.visit_pat_wild_mut(_binding_0);
2802         }
2803         _ => unreachable!(),
2804     }
2805 }
2806 #[cfg(feature = "full")]
visit_pat_box_mut<V>(v: &mut V, node: &mut PatBox) where V: VisitMut + ?Sized,2807 pub fn visit_pat_box_mut<V>(v: &mut V, node: &mut PatBox)
2808 where
2809     V: VisitMut + ?Sized,
2810 {
2811     for it in &mut node.attrs {
2812         v.visit_attribute_mut(it);
2813     }
2814     tokens_helper(v, &mut node.box_token.span);
2815     v.visit_pat_mut(&mut *node.pat);
2816 }
2817 #[cfg(feature = "full")]
visit_pat_ident_mut<V>(v: &mut V, node: &mut PatIdent) where V: VisitMut + ?Sized,2818 pub fn visit_pat_ident_mut<V>(v: &mut V, node: &mut PatIdent)
2819 where
2820     V: VisitMut + ?Sized,
2821 {
2822     for it in &mut node.attrs {
2823         v.visit_attribute_mut(it);
2824     }
2825     if let Some(it) = &mut node.by_ref {
2826         tokens_helper(v, &mut it.span);
2827     }
2828     if let Some(it) = &mut node.mutability {
2829         tokens_helper(v, &mut it.span);
2830     }
2831     v.visit_ident_mut(&mut node.ident);
2832     if let Some(it) = &mut node.subpat {
2833         tokens_helper(v, &mut (it).0.spans);
2834         v.visit_pat_mut(&mut *(it).1);
2835     }
2836 }
2837 #[cfg(feature = "full")]
visit_pat_lit_mut<V>(v: &mut V, node: &mut PatLit) where V: VisitMut + ?Sized,2838 pub fn visit_pat_lit_mut<V>(v: &mut V, node: &mut PatLit)
2839 where
2840     V: VisitMut + ?Sized,
2841 {
2842     for it in &mut node.attrs {
2843         v.visit_attribute_mut(it);
2844     }
2845     v.visit_expr_mut(&mut *node.expr);
2846 }
2847 #[cfg(feature = "full")]
visit_pat_macro_mut<V>(v: &mut V, node: &mut PatMacro) where V: VisitMut + ?Sized,2848 pub fn visit_pat_macro_mut<V>(v: &mut V, node: &mut PatMacro)
2849 where
2850     V: VisitMut + ?Sized,
2851 {
2852     for it in &mut node.attrs {
2853         v.visit_attribute_mut(it);
2854     }
2855     v.visit_macro_mut(&mut node.mac);
2856 }
2857 #[cfg(feature = "full")]
visit_pat_or_mut<V>(v: &mut V, node: &mut PatOr) where V: VisitMut + ?Sized,2858 pub fn visit_pat_or_mut<V>(v: &mut V, node: &mut PatOr)
2859 where
2860     V: VisitMut + ?Sized,
2861 {
2862     for it in &mut node.attrs {
2863         v.visit_attribute_mut(it);
2864     }
2865     if let Some(it) = &mut node.leading_vert {
2866         tokens_helper(v, &mut it.spans);
2867     }
2868     for el in Punctuated::pairs_mut(&mut node.cases) {
2869         let (it, p) = el.into_tuple();
2870         v.visit_pat_mut(it);
2871         if let Some(p) = p {
2872             tokens_helper(v, &mut p.spans);
2873         }
2874     }
2875 }
2876 #[cfg(feature = "full")]
visit_pat_path_mut<V>(v: &mut V, node: &mut PatPath) where V: VisitMut + ?Sized,2877 pub fn visit_pat_path_mut<V>(v: &mut V, node: &mut PatPath)
2878 where
2879     V: VisitMut + ?Sized,
2880 {
2881     for it in &mut node.attrs {
2882         v.visit_attribute_mut(it);
2883     }
2884     if let Some(it) = &mut node.qself {
2885         v.visit_qself_mut(it);
2886     }
2887     v.visit_path_mut(&mut node.path);
2888 }
2889 #[cfg(feature = "full")]
visit_pat_range_mut<V>(v: &mut V, node: &mut PatRange) where V: VisitMut + ?Sized,2890 pub fn visit_pat_range_mut<V>(v: &mut V, node: &mut PatRange)
2891 where
2892     V: VisitMut + ?Sized,
2893 {
2894     for it in &mut node.attrs {
2895         v.visit_attribute_mut(it);
2896     }
2897     v.visit_expr_mut(&mut *node.lo);
2898     v.visit_range_limits_mut(&mut node.limits);
2899     v.visit_expr_mut(&mut *node.hi);
2900 }
2901 #[cfg(feature = "full")]
visit_pat_reference_mut<V>(v: &mut V, node: &mut PatReference) where V: VisitMut + ?Sized,2902 pub fn visit_pat_reference_mut<V>(v: &mut V, node: &mut PatReference)
2903 where
2904     V: VisitMut + ?Sized,
2905 {
2906     for it in &mut node.attrs {
2907         v.visit_attribute_mut(it);
2908     }
2909     tokens_helper(v, &mut node.and_token.spans);
2910     if let Some(it) = &mut node.mutability {
2911         tokens_helper(v, &mut it.span);
2912     }
2913     v.visit_pat_mut(&mut *node.pat);
2914 }
2915 #[cfg(feature = "full")]
visit_pat_rest_mut<V>(v: &mut V, node: &mut PatRest) where V: VisitMut + ?Sized,2916 pub fn visit_pat_rest_mut<V>(v: &mut V, node: &mut PatRest)
2917 where
2918     V: VisitMut + ?Sized,
2919 {
2920     for it in &mut node.attrs {
2921         v.visit_attribute_mut(it);
2922     }
2923     tokens_helper(v, &mut node.dot2_token.spans);
2924 }
2925 #[cfg(feature = "full")]
visit_pat_slice_mut<V>(v: &mut V, node: &mut PatSlice) where V: VisitMut + ?Sized,2926 pub fn visit_pat_slice_mut<V>(v: &mut V, node: &mut PatSlice)
2927 where
2928     V: VisitMut + ?Sized,
2929 {
2930     for it in &mut node.attrs {
2931         v.visit_attribute_mut(it);
2932     }
2933     tokens_helper(v, &mut node.bracket_token.span);
2934     for el in Punctuated::pairs_mut(&mut node.elems) {
2935         let (it, p) = el.into_tuple();
2936         v.visit_pat_mut(it);
2937         if let Some(p) = p {
2938             tokens_helper(v, &mut p.spans);
2939         }
2940     }
2941 }
2942 #[cfg(feature = "full")]
visit_pat_struct_mut<V>(v: &mut V, node: &mut PatStruct) where V: VisitMut + ?Sized,2943 pub fn visit_pat_struct_mut<V>(v: &mut V, node: &mut PatStruct)
2944 where
2945     V: VisitMut + ?Sized,
2946 {
2947     for it in &mut node.attrs {
2948         v.visit_attribute_mut(it);
2949     }
2950     v.visit_path_mut(&mut node.path);
2951     tokens_helper(v, &mut node.brace_token.span);
2952     for el in Punctuated::pairs_mut(&mut node.fields) {
2953         let (it, p) = el.into_tuple();
2954         v.visit_field_pat_mut(it);
2955         if let Some(p) = p {
2956             tokens_helper(v, &mut p.spans);
2957         }
2958     }
2959     if let Some(it) = &mut node.dot2_token {
2960         tokens_helper(v, &mut it.spans);
2961     }
2962 }
2963 #[cfg(feature = "full")]
visit_pat_tuple_mut<V>(v: &mut V, node: &mut PatTuple) where V: VisitMut + ?Sized,2964 pub fn visit_pat_tuple_mut<V>(v: &mut V, node: &mut PatTuple)
2965 where
2966     V: VisitMut + ?Sized,
2967 {
2968     for it in &mut node.attrs {
2969         v.visit_attribute_mut(it);
2970     }
2971     tokens_helper(v, &mut node.paren_token.span);
2972     for el in Punctuated::pairs_mut(&mut node.elems) {
2973         let (it, p) = el.into_tuple();
2974         v.visit_pat_mut(it);
2975         if let Some(p) = p {
2976             tokens_helper(v, &mut p.spans);
2977         }
2978     }
2979 }
2980 #[cfg(feature = "full")]
visit_pat_tuple_struct_mut<V>(v: &mut V, node: &mut PatTupleStruct) where V: VisitMut + ?Sized,2981 pub fn visit_pat_tuple_struct_mut<V>(v: &mut V, node: &mut PatTupleStruct)
2982 where
2983     V: VisitMut + ?Sized,
2984 {
2985     for it in &mut node.attrs {
2986         v.visit_attribute_mut(it);
2987     }
2988     v.visit_path_mut(&mut node.path);
2989     v.visit_pat_tuple_mut(&mut node.pat);
2990 }
2991 #[cfg(feature = "full")]
visit_pat_type_mut<V>(v: &mut V, node: &mut PatType) where V: VisitMut + ?Sized,2992 pub fn visit_pat_type_mut<V>(v: &mut V, node: &mut PatType)
2993 where
2994     V: VisitMut + ?Sized,
2995 {
2996     for it in &mut node.attrs {
2997         v.visit_attribute_mut(it);
2998     }
2999     v.visit_pat_mut(&mut *node.pat);
3000     tokens_helper(v, &mut node.colon_token.spans);
3001     v.visit_type_mut(&mut *node.ty);
3002 }
3003 #[cfg(feature = "full")]
visit_pat_wild_mut<V>(v: &mut V, node: &mut PatWild) where V: VisitMut + ?Sized,3004 pub fn visit_pat_wild_mut<V>(v: &mut V, node: &mut PatWild)
3005 where
3006     V: VisitMut + ?Sized,
3007 {
3008     for it in &mut node.attrs {
3009         v.visit_attribute_mut(it);
3010     }
3011     tokens_helper(v, &mut node.underscore_token.spans);
3012 }
3013 #[cfg(any(feature = "derive", feature = "full"))]
visit_path_mut<V>(v: &mut V, node: &mut Path) where V: VisitMut + ?Sized,3014 pub fn visit_path_mut<V>(v: &mut V, node: &mut Path)
3015 where
3016     V: VisitMut + ?Sized,
3017 {
3018     if let Some(it) = &mut node.leading_colon {
3019         tokens_helper(v, &mut it.spans);
3020     }
3021     for el in Punctuated::pairs_mut(&mut node.segments) {
3022         let (it, p) = el.into_tuple();
3023         v.visit_path_segment_mut(it);
3024         if let Some(p) = p {
3025             tokens_helper(v, &mut p.spans);
3026         }
3027     }
3028 }
3029 #[cfg(any(feature = "derive", feature = "full"))]
visit_path_arguments_mut<V>(v: &mut V, node: &mut PathArguments) where V: VisitMut + ?Sized,3030 pub fn visit_path_arguments_mut<V>(v: &mut V, node: &mut PathArguments)
3031 where
3032     V: VisitMut + ?Sized,
3033 {
3034     match node {
3035         PathArguments::None => {}
3036         PathArguments::AngleBracketed(_binding_0) => {
3037             v.visit_angle_bracketed_generic_arguments_mut(_binding_0);
3038         }
3039         PathArguments::Parenthesized(_binding_0) => {
3040             v.visit_parenthesized_generic_arguments_mut(_binding_0);
3041         }
3042     }
3043 }
3044 #[cfg(any(feature = "derive", feature = "full"))]
visit_path_segment_mut<V>(v: &mut V, node: &mut PathSegment) where V: VisitMut + ?Sized,3045 pub fn visit_path_segment_mut<V>(v: &mut V, node: &mut PathSegment)
3046 where
3047     V: VisitMut + ?Sized,
3048 {
3049     v.visit_ident_mut(&mut node.ident);
3050     v.visit_path_arguments_mut(&mut node.arguments);
3051 }
3052 #[cfg(any(feature = "derive", feature = "full"))]
visit_predicate_eq_mut<V>(v: &mut V, node: &mut PredicateEq) where V: VisitMut + ?Sized,3053 pub fn visit_predicate_eq_mut<V>(v: &mut V, node: &mut PredicateEq)
3054 where
3055     V: VisitMut + ?Sized,
3056 {
3057     v.visit_type_mut(&mut node.lhs_ty);
3058     tokens_helper(v, &mut node.eq_token.spans);
3059     v.visit_type_mut(&mut node.rhs_ty);
3060 }
3061 #[cfg(any(feature = "derive", feature = "full"))]
visit_predicate_lifetime_mut<V>(v: &mut V, node: &mut PredicateLifetime) where V: VisitMut + ?Sized,3062 pub fn visit_predicate_lifetime_mut<V>(v: &mut V, node: &mut PredicateLifetime)
3063 where
3064     V: VisitMut + ?Sized,
3065 {
3066     v.visit_lifetime_mut(&mut node.lifetime);
3067     tokens_helper(v, &mut node.colon_token.spans);
3068     for el in Punctuated::pairs_mut(&mut node.bounds) {
3069         let (it, p) = el.into_tuple();
3070         v.visit_lifetime_mut(it);
3071         if let Some(p) = p {
3072             tokens_helper(v, &mut p.spans);
3073         }
3074     }
3075 }
3076 #[cfg(any(feature = "derive", feature = "full"))]
visit_predicate_type_mut<V>(v: &mut V, node: &mut PredicateType) where V: VisitMut + ?Sized,3077 pub fn visit_predicate_type_mut<V>(v: &mut V, node: &mut PredicateType)
3078 where
3079     V: VisitMut + ?Sized,
3080 {
3081     if let Some(it) = &mut node.lifetimes {
3082         v.visit_bound_lifetimes_mut(it);
3083     }
3084     v.visit_type_mut(&mut node.bounded_ty);
3085     tokens_helper(v, &mut node.colon_token.spans);
3086     for el in Punctuated::pairs_mut(&mut node.bounds) {
3087         let (it, p) = el.into_tuple();
3088         v.visit_type_param_bound_mut(it);
3089         if let Some(p) = p {
3090             tokens_helper(v, &mut p.spans);
3091         }
3092     }
3093 }
3094 #[cfg(any(feature = "derive", feature = "full"))]
visit_qself_mut<V>(v: &mut V, node: &mut QSelf) where V: VisitMut + ?Sized,3095 pub fn visit_qself_mut<V>(v: &mut V, node: &mut QSelf)
3096 where
3097     V: VisitMut + ?Sized,
3098 {
3099     tokens_helper(v, &mut node.lt_token.spans);
3100     v.visit_type_mut(&mut *node.ty);
3101     skip!(node.position);
3102     if let Some(it) = &mut node.as_token {
3103         tokens_helper(v, &mut it.span);
3104     }
3105     tokens_helper(v, &mut node.gt_token.spans);
3106 }
3107 #[cfg(feature = "full")]
visit_range_limits_mut<V>(v: &mut V, node: &mut RangeLimits) where V: VisitMut + ?Sized,3108 pub fn visit_range_limits_mut<V>(v: &mut V, node: &mut RangeLimits)
3109 where
3110     V: VisitMut + ?Sized,
3111 {
3112     match node {
3113         RangeLimits::HalfOpen(_binding_0) => {
3114             tokens_helper(v, &mut _binding_0.spans);
3115         }
3116         RangeLimits::Closed(_binding_0) => {
3117             tokens_helper(v, &mut _binding_0.spans);
3118         }
3119     }
3120 }
3121 #[cfg(feature = "full")]
visit_receiver_mut<V>(v: &mut V, node: &mut Receiver) where V: VisitMut + ?Sized,3122 pub fn visit_receiver_mut<V>(v: &mut V, node: &mut Receiver)
3123 where
3124     V: VisitMut + ?Sized,
3125 {
3126     for it in &mut node.attrs {
3127         v.visit_attribute_mut(it);
3128     }
3129     if let Some(it) = &mut node.reference {
3130         tokens_helper(v, &mut (it).0.spans);
3131         if let Some(it) = &mut (it).1 {
3132             v.visit_lifetime_mut(it);
3133         }
3134     }
3135     if let Some(it) = &mut node.mutability {
3136         tokens_helper(v, &mut it.span);
3137     }
3138     tokens_helper(v, &mut node.self_token.span);
3139 }
3140 #[cfg(any(feature = "derive", feature = "full"))]
visit_return_type_mut<V>(v: &mut V, node: &mut ReturnType) where V: VisitMut + ?Sized,3141 pub fn visit_return_type_mut<V>(v: &mut V, node: &mut ReturnType)
3142 where
3143     V: VisitMut + ?Sized,
3144 {
3145     match node {
3146         ReturnType::Default => {}
3147         ReturnType::Type(_binding_0, _binding_1) => {
3148             tokens_helper(v, &mut _binding_0.spans);
3149             v.visit_type_mut(&mut **_binding_1);
3150         }
3151     }
3152 }
3153 #[cfg(feature = "full")]
visit_signature_mut<V>(v: &mut V, node: &mut Signature) where V: VisitMut + ?Sized,3154 pub fn visit_signature_mut<V>(v: &mut V, node: &mut Signature)
3155 where
3156     V: VisitMut + ?Sized,
3157 {
3158     if let Some(it) = &mut node.constness {
3159         tokens_helper(v, &mut it.span);
3160     }
3161     if let Some(it) = &mut node.asyncness {
3162         tokens_helper(v, &mut it.span);
3163     }
3164     if let Some(it) = &mut node.unsafety {
3165         tokens_helper(v, &mut it.span);
3166     }
3167     if let Some(it) = &mut node.abi {
3168         v.visit_abi_mut(it);
3169     }
3170     tokens_helper(v, &mut node.fn_token.span);
3171     v.visit_ident_mut(&mut node.ident);
3172     v.visit_generics_mut(&mut node.generics);
3173     tokens_helper(v, &mut node.paren_token.span);
3174     for el in Punctuated::pairs_mut(&mut node.inputs) {
3175         let (it, p) = el.into_tuple();
3176         v.visit_fn_arg_mut(it);
3177         if let Some(p) = p {
3178             tokens_helper(v, &mut p.spans);
3179         }
3180     }
3181     if let Some(it) = &mut node.variadic {
3182         v.visit_variadic_mut(it);
3183     }
3184     v.visit_return_type_mut(&mut node.output);
3185 }
visit_span_mut<V>(v: &mut V, node: &mut Span) where V: VisitMut + ?Sized,3186 pub fn visit_span_mut<V>(v: &mut V, node: &mut Span)
3187 where
3188     V: VisitMut + ?Sized,
3189 {}
3190 #[cfg(feature = "full")]
visit_stmt_mut<V>(v: &mut V, node: &mut Stmt) where V: VisitMut + ?Sized,3191 pub fn visit_stmt_mut<V>(v: &mut V, node: &mut Stmt)
3192 where
3193     V: VisitMut + ?Sized,
3194 {
3195     match node {
3196         Stmt::Local(_binding_0) => {
3197             v.visit_local_mut(_binding_0);
3198         }
3199         Stmt::Item(_binding_0) => {
3200             v.visit_item_mut(_binding_0);
3201         }
3202         Stmt::Expr(_binding_0) => {
3203             v.visit_expr_mut(_binding_0);
3204         }
3205         Stmt::Semi(_binding_0, _binding_1) => {
3206             v.visit_expr_mut(_binding_0);
3207             tokens_helper(v, &mut _binding_1.spans);
3208         }
3209     }
3210 }
3211 #[cfg(any(feature = "derive", feature = "full"))]
visit_trait_bound_mut<V>(v: &mut V, node: &mut TraitBound) where V: VisitMut + ?Sized,3212 pub fn visit_trait_bound_mut<V>(v: &mut V, node: &mut TraitBound)
3213 where
3214     V: VisitMut + ?Sized,
3215 {
3216     if let Some(it) = &mut node.paren_token {
3217         tokens_helper(v, &mut it.span);
3218     }
3219     v.visit_trait_bound_modifier_mut(&mut node.modifier);
3220     if let Some(it) = &mut node.lifetimes {
3221         v.visit_bound_lifetimes_mut(it);
3222     }
3223     v.visit_path_mut(&mut node.path);
3224 }
3225 #[cfg(any(feature = "derive", feature = "full"))]
visit_trait_bound_modifier_mut<V>(v: &mut V, node: &mut TraitBoundModifier) where V: VisitMut + ?Sized,3226 pub fn visit_trait_bound_modifier_mut<V>(v: &mut V, node: &mut TraitBoundModifier)
3227 where
3228     V: VisitMut + ?Sized,
3229 {
3230     match node {
3231         TraitBoundModifier::None => {}
3232         TraitBoundModifier::Maybe(_binding_0) => {
3233             tokens_helper(v, &mut _binding_0.spans);
3234         }
3235     }
3236 }
3237 #[cfg(feature = "full")]
visit_trait_item_mut<V>(v: &mut V, node: &mut TraitItem) where V: VisitMut + ?Sized,3238 pub fn visit_trait_item_mut<V>(v: &mut V, node: &mut TraitItem)
3239 where
3240     V: VisitMut + ?Sized,
3241 {
3242     match node {
3243         TraitItem::Const(_binding_0) => {
3244             v.visit_trait_item_const_mut(_binding_0);
3245         }
3246         TraitItem::Method(_binding_0) => {
3247             v.visit_trait_item_method_mut(_binding_0);
3248         }
3249         TraitItem::Type(_binding_0) => {
3250             v.visit_trait_item_type_mut(_binding_0);
3251         }
3252         TraitItem::Macro(_binding_0) => {
3253             v.visit_trait_item_macro_mut(_binding_0);
3254         }
3255         TraitItem::Verbatim(_binding_0) => {
3256             skip!(_binding_0);
3257         }
3258         _ => unreachable!(),
3259     }
3260 }
3261 #[cfg(feature = "full")]
visit_trait_item_const_mut<V>(v: &mut V, node: &mut TraitItemConst) where V: VisitMut + ?Sized,3262 pub fn visit_trait_item_const_mut<V>(v: &mut V, node: &mut TraitItemConst)
3263 where
3264     V: VisitMut + ?Sized,
3265 {
3266     for it in &mut node.attrs {
3267         v.visit_attribute_mut(it);
3268     }
3269     tokens_helper(v, &mut node.const_token.span);
3270     v.visit_ident_mut(&mut node.ident);
3271     tokens_helper(v, &mut node.colon_token.spans);
3272     v.visit_type_mut(&mut node.ty);
3273     if let Some(it) = &mut node.default {
3274         tokens_helper(v, &mut (it).0.spans);
3275         v.visit_expr_mut(&mut (it).1);
3276     }
3277     tokens_helper(v, &mut node.semi_token.spans);
3278 }
3279 #[cfg(feature = "full")]
visit_trait_item_macro_mut<V>(v: &mut V, node: &mut TraitItemMacro) where V: VisitMut + ?Sized,3280 pub fn visit_trait_item_macro_mut<V>(v: &mut V, node: &mut TraitItemMacro)
3281 where
3282     V: VisitMut + ?Sized,
3283 {
3284     for it in &mut node.attrs {
3285         v.visit_attribute_mut(it);
3286     }
3287     v.visit_macro_mut(&mut node.mac);
3288     if let Some(it) = &mut node.semi_token {
3289         tokens_helper(v, &mut it.spans);
3290     }
3291 }
3292 #[cfg(feature = "full")]
visit_trait_item_method_mut<V>(v: &mut V, node: &mut TraitItemMethod) where V: VisitMut + ?Sized,3293 pub fn visit_trait_item_method_mut<V>(v: &mut V, node: &mut TraitItemMethod)
3294 where
3295     V: VisitMut + ?Sized,
3296 {
3297     for it in &mut node.attrs {
3298         v.visit_attribute_mut(it);
3299     }
3300     v.visit_signature_mut(&mut node.sig);
3301     if let Some(it) = &mut node.default {
3302         v.visit_block_mut(it);
3303     }
3304     if let Some(it) = &mut node.semi_token {
3305         tokens_helper(v, &mut it.spans);
3306     }
3307 }
3308 #[cfg(feature = "full")]
visit_trait_item_type_mut<V>(v: &mut V, node: &mut TraitItemType) where V: VisitMut + ?Sized,3309 pub fn visit_trait_item_type_mut<V>(v: &mut V, node: &mut TraitItemType)
3310 where
3311     V: VisitMut + ?Sized,
3312 {
3313     for it in &mut node.attrs {
3314         v.visit_attribute_mut(it);
3315     }
3316     tokens_helper(v, &mut node.type_token.span);
3317     v.visit_ident_mut(&mut node.ident);
3318     v.visit_generics_mut(&mut node.generics);
3319     if let Some(it) = &mut node.colon_token {
3320         tokens_helper(v, &mut it.spans);
3321     }
3322     for el in Punctuated::pairs_mut(&mut node.bounds) {
3323         let (it, p) = el.into_tuple();
3324         v.visit_type_param_bound_mut(it);
3325         if let Some(p) = p {
3326             tokens_helper(v, &mut p.spans);
3327         }
3328     }
3329     if let Some(it) = &mut node.default {
3330         tokens_helper(v, &mut (it).0.spans);
3331         v.visit_type_mut(&mut (it).1);
3332     }
3333     tokens_helper(v, &mut node.semi_token.spans);
3334 }
3335 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_mut<V>(v: &mut V, node: &mut Type) where V: VisitMut + ?Sized,3336 pub fn visit_type_mut<V>(v: &mut V, node: &mut Type)
3337 where
3338     V: VisitMut + ?Sized,
3339 {
3340     match node {
3341         Type::Array(_binding_0) => {
3342             v.visit_type_array_mut(_binding_0);
3343         }
3344         Type::BareFn(_binding_0) => {
3345             v.visit_type_bare_fn_mut(_binding_0);
3346         }
3347         Type::Group(_binding_0) => {
3348             v.visit_type_group_mut(_binding_0);
3349         }
3350         Type::ImplTrait(_binding_0) => {
3351             v.visit_type_impl_trait_mut(_binding_0);
3352         }
3353         Type::Infer(_binding_0) => {
3354             v.visit_type_infer_mut(_binding_0);
3355         }
3356         Type::Macro(_binding_0) => {
3357             v.visit_type_macro_mut(_binding_0);
3358         }
3359         Type::Never(_binding_0) => {
3360             v.visit_type_never_mut(_binding_0);
3361         }
3362         Type::Paren(_binding_0) => {
3363             v.visit_type_paren_mut(_binding_0);
3364         }
3365         Type::Path(_binding_0) => {
3366             v.visit_type_path_mut(_binding_0);
3367         }
3368         Type::Ptr(_binding_0) => {
3369             v.visit_type_ptr_mut(_binding_0);
3370         }
3371         Type::Reference(_binding_0) => {
3372             v.visit_type_reference_mut(_binding_0);
3373         }
3374         Type::Slice(_binding_0) => {
3375             v.visit_type_slice_mut(_binding_0);
3376         }
3377         Type::TraitObject(_binding_0) => {
3378             v.visit_type_trait_object_mut(_binding_0);
3379         }
3380         Type::Tuple(_binding_0) => {
3381             v.visit_type_tuple_mut(_binding_0);
3382         }
3383         Type::Verbatim(_binding_0) => {
3384             skip!(_binding_0);
3385         }
3386         _ => unreachable!(),
3387     }
3388 }
3389 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_array_mut<V>(v: &mut V, node: &mut TypeArray) where V: VisitMut + ?Sized,3390 pub fn visit_type_array_mut<V>(v: &mut V, node: &mut TypeArray)
3391 where
3392     V: VisitMut + ?Sized,
3393 {
3394     tokens_helper(v, &mut node.bracket_token.span);
3395     v.visit_type_mut(&mut *node.elem);
3396     tokens_helper(v, &mut node.semi_token.spans);
3397     v.visit_expr_mut(&mut node.len);
3398 }
3399 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_bare_fn_mut<V>(v: &mut V, node: &mut TypeBareFn) where V: VisitMut + ?Sized,3400 pub fn visit_type_bare_fn_mut<V>(v: &mut V, node: &mut TypeBareFn)
3401 where
3402     V: VisitMut + ?Sized,
3403 {
3404     if let Some(it) = &mut node.lifetimes {
3405         v.visit_bound_lifetimes_mut(it);
3406     }
3407     if let Some(it) = &mut node.unsafety {
3408         tokens_helper(v, &mut it.span);
3409     }
3410     if let Some(it) = &mut node.abi {
3411         v.visit_abi_mut(it);
3412     }
3413     tokens_helper(v, &mut node.fn_token.span);
3414     tokens_helper(v, &mut node.paren_token.span);
3415     for el in Punctuated::pairs_mut(&mut node.inputs) {
3416         let (it, p) = el.into_tuple();
3417         v.visit_bare_fn_arg_mut(it);
3418         if let Some(p) = p {
3419             tokens_helper(v, &mut p.spans);
3420         }
3421     }
3422     if let Some(it) = &mut node.variadic {
3423         v.visit_variadic_mut(it);
3424     }
3425     v.visit_return_type_mut(&mut node.output);
3426 }
3427 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_group_mut<V>(v: &mut V, node: &mut TypeGroup) where V: VisitMut + ?Sized,3428 pub fn visit_type_group_mut<V>(v: &mut V, node: &mut TypeGroup)
3429 where
3430     V: VisitMut + ?Sized,
3431 {
3432     tokens_helper(v, &mut node.group_token.span);
3433     v.visit_type_mut(&mut *node.elem);
3434 }
3435 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_impl_trait_mut<V>(v: &mut V, node: &mut TypeImplTrait) where V: VisitMut + ?Sized,3436 pub fn visit_type_impl_trait_mut<V>(v: &mut V, node: &mut TypeImplTrait)
3437 where
3438     V: VisitMut + ?Sized,
3439 {
3440     tokens_helper(v, &mut node.impl_token.span);
3441     for el in Punctuated::pairs_mut(&mut node.bounds) {
3442         let (it, p) = el.into_tuple();
3443         v.visit_type_param_bound_mut(it);
3444         if let Some(p) = p {
3445             tokens_helper(v, &mut p.spans);
3446         }
3447     }
3448 }
3449 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_infer_mut<V>(v: &mut V, node: &mut TypeInfer) where V: VisitMut + ?Sized,3450 pub fn visit_type_infer_mut<V>(v: &mut V, node: &mut TypeInfer)
3451 where
3452     V: VisitMut + ?Sized,
3453 {
3454     tokens_helper(v, &mut node.underscore_token.spans);
3455 }
3456 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_macro_mut<V>(v: &mut V, node: &mut TypeMacro) where V: VisitMut + ?Sized,3457 pub fn visit_type_macro_mut<V>(v: &mut V, node: &mut TypeMacro)
3458 where
3459     V: VisitMut + ?Sized,
3460 {
3461     v.visit_macro_mut(&mut node.mac);
3462 }
3463 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_never_mut<V>(v: &mut V, node: &mut TypeNever) where V: VisitMut + ?Sized,3464 pub fn visit_type_never_mut<V>(v: &mut V, node: &mut TypeNever)
3465 where
3466     V: VisitMut + ?Sized,
3467 {
3468     tokens_helper(v, &mut node.bang_token.spans);
3469 }
3470 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_param_mut<V>(v: &mut V, node: &mut TypeParam) where V: VisitMut + ?Sized,3471 pub fn visit_type_param_mut<V>(v: &mut V, node: &mut TypeParam)
3472 where
3473     V: VisitMut + ?Sized,
3474 {
3475     for it in &mut node.attrs {
3476         v.visit_attribute_mut(it);
3477     }
3478     v.visit_ident_mut(&mut node.ident);
3479     if let Some(it) = &mut node.colon_token {
3480         tokens_helper(v, &mut it.spans);
3481     }
3482     for el in Punctuated::pairs_mut(&mut node.bounds) {
3483         let (it, p) = el.into_tuple();
3484         v.visit_type_param_bound_mut(it);
3485         if let Some(p) = p {
3486             tokens_helper(v, &mut p.spans);
3487         }
3488     }
3489     if let Some(it) = &mut node.eq_token {
3490         tokens_helper(v, &mut it.spans);
3491     }
3492     if let Some(it) = &mut node.default {
3493         v.visit_type_mut(it);
3494     }
3495 }
3496 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_param_bound_mut<V>(v: &mut V, node: &mut TypeParamBound) where V: VisitMut + ?Sized,3497 pub fn visit_type_param_bound_mut<V>(v: &mut V, node: &mut TypeParamBound)
3498 where
3499     V: VisitMut + ?Sized,
3500 {
3501     match node {
3502         TypeParamBound::Trait(_binding_0) => {
3503             v.visit_trait_bound_mut(_binding_0);
3504         }
3505         TypeParamBound::Lifetime(_binding_0) => {
3506             v.visit_lifetime_mut(_binding_0);
3507         }
3508     }
3509 }
3510 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_paren_mut<V>(v: &mut V, node: &mut TypeParen) where V: VisitMut + ?Sized,3511 pub fn visit_type_paren_mut<V>(v: &mut V, node: &mut TypeParen)
3512 where
3513     V: VisitMut + ?Sized,
3514 {
3515     tokens_helper(v, &mut node.paren_token.span);
3516     v.visit_type_mut(&mut *node.elem);
3517 }
3518 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_path_mut<V>(v: &mut V, node: &mut TypePath) where V: VisitMut + ?Sized,3519 pub fn visit_type_path_mut<V>(v: &mut V, node: &mut TypePath)
3520 where
3521     V: VisitMut + ?Sized,
3522 {
3523     if let Some(it) = &mut node.qself {
3524         v.visit_qself_mut(it);
3525     }
3526     v.visit_path_mut(&mut node.path);
3527 }
3528 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_ptr_mut<V>(v: &mut V, node: &mut TypePtr) where V: VisitMut + ?Sized,3529 pub fn visit_type_ptr_mut<V>(v: &mut V, node: &mut TypePtr)
3530 where
3531     V: VisitMut + ?Sized,
3532 {
3533     tokens_helper(v, &mut node.star_token.spans);
3534     if let Some(it) = &mut node.const_token {
3535         tokens_helper(v, &mut it.span);
3536     }
3537     if let Some(it) = &mut node.mutability {
3538         tokens_helper(v, &mut it.span);
3539     }
3540     v.visit_type_mut(&mut *node.elem);
3541 }
3542 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_reference_mut<V>(v: &mut V, node: &mut TypeReference) where V: VisitMut + ?Sized,3543 pub fn visit_type_reference_mut<V>(v: &mut V, node: &mut TypeReference)
3544 where
3545     V: VisitMut + ?Sized,
3546 {
3547     tokens_helper(v, &mut node.and_token.spans);
3548     if let Some(it) = &mut node.lifetime {
3549         v.visit_lifetime_mut(it);
3550     }
3551     if let Some(it) = &mut node.mutability {
3552         tokens_helper(v, &mut it.span);
3553     }
3554     v.visit_type_mut(&mut *node.elem);
3555 }
3556 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_slice_mut<V>(v: &mut V, node: &mut TypeSlice) where V: VisitMut + ?Sized,3557 pub fn visit_type_slice_mut<V>(v: &mut V, node: &mut TypeSlice)
3558 where
3559     V: VisitMut + ?Sized,
3560 {
3561     tokens_helper(v, &mut node.bracket_token.span);
3562     v.visit_type_mut(&mut *node.elem);
3563 }
3564 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_trait_object_mut<V>(v: &mut V, node: &mut TypeTraitObject) where V: VisitMut + ?Sized,3565 pub fn visit_type_trait_object_mut<V>(v: &mut V, node: &mut TypeTraitObject)
3566 where
3567     V: VisitMut + ?Sized,
3568 {
3569     if let Some(it) = &mut node.dyn_token {
3570         tokens_helper(v, &mut it.span);
3571     }
3572     for el in Punctuated::pairs_mut(&mut node.bounds) {
3573         let (it, p) = el.into_tuple();
3574         v.visit_type_param_bound_mut(it);
3575         if let Some(p) = p {
3576             tokens_helper(v, &mut p.spans);
3577         }
3578     }
3579 }
3580 #[cfg(any(feature = "derive", feature = "full"))]
visit_type_tuple_mut<V>(v: &mut V, node: &mut TypeTuple) where V: VisitMut + ?Sized,3581 pub fn visit_type_tuple_mut<V>(v: &mut V, node: &mut TypeTuple)
3582 where
3583     V: VisitMut + ?Sized,
3584 {
3585     tokens_helper(v, &mut node.paren_token.span);
3586     for el in Punctuated::pairs_mut(&mut node.elems) {
3587         let (it, p) = el.into_tuple();
3588         v.visit_type_mut(it);
3589         if let Some(p) = p {
3590             tokens_helper(v, &mut p.spans);
3591         }
3592     }
3593 }
3594 #[cfg(any(feature = "derive", feature = "full"))]
visit_un_op_mut<V>(v: &mut V, node: &mut UnOp) where V: VisitMut + ?Sized,3595 pub fn visit_un_op_mut<V>(v: &mut V, node: &mut UnOp)
3596 where
3597     V: VisitMut + ?Sized,
3598 {
3599     match node {
3600         UnOp::Deref(_binding_0) => {
3601             tokens_helper(v, &mut _binding_0.spans);
3602         }
3603         UnOp::Not(_binding_0) => {
3604             tokens_helper(v, &mut _binding_0.spans);
3605         }
3606         UnOp::Neg(_binding_0) => {
3607             tokens_helper(v, &mut _binding_0.spans);
3608         }
3609     }
3610 }
3611 #[cfg(feature = "full")]
visit_use_glob_mut<V>(v: &mut V, node: &mut UseGlob) where V: VisitMut + ?Sized,3612 pub fn visit_use_glob_mut<V>(v: &mut V, node: &mut UseGlob)
3613 where
3614     V: VisitMut + ?Sized,
3615 {
3616     tokens_helper(v, &mut node.star_token.spans);
3617 }
3618 #[cfg(feature = "full")]
visit_use_group_mut<V>(v: &mut V, node: &mut UseGroup) where V: VisitMut + ?Sized,3619 pub fn visit_use_group_mut<V>(v: &mut V, node: &mut UseGroup)
3620 where
3621     V: VisitMut + ?Sized,
3622 {
3623     tokens_helper(v, &mut node.brace_token.span);
3624     for el in Punctuated::pairs_mut(&mut node.items) {
3625         let (it, p) = el.into_tuple();
3626         v.visit_use_tree_mut(it);
3627         if let Some(p) = p {
3628             tokens_helper(v, &mut p.spans);
3629         }
3630     }
3631 }
3632 #[cfg(feature = "full")]
visit_use_name_mut<V>(v: &mut V, node: &mut UseName) where V: VisitMut + ?Sized,3633 pub fn visit_use_name_mut<V>(v: &mut V, node: &mut UseName)
3634 where
3635     V: VisitMut + ?Sized,
3636 {
3637     v.visit_ident_mut(&mut node.ident);
3638 }
3639 #[cfg(feature = "full")]
visit_use_path_mut<V>(v: &mut V, node: &mut UsePath) where V: VisitMut + ?Sized,3640 pub fn visit_use_path_mut<V>(v: &mut V, node: &mut UsePath)
3641 where
3642     V: VisitMut + ?Sized,
3643 {
3644     v.visit_ident_mut(&mut node.ident);
3645     tokens_helper(v, &mut node.colon2_token.spans);
3646     v.visit_use_tree_mut(&mut *node.tree);
3647 }
3648 #[cfg(feature = "full")]
visit_use_rename_mut<V>(v: &mut V, node: &mut UseRename) where V: VisitMut + ?Sized,3649 pub fn visit_use_rename_mut<V>(v: &mut V, node: &mut UseRename)
3650 where
3651     V: VisitMut + ?Sized,
3652 {
3653     v.visit_ident_mut(&mut node.ident);
3654     tokens_helper(v, &mut node.as_token.span);
3655     v.visit_ident_mut(&mut node.rename);
3656 }
3657 #[cfg(feature = "full")]
visit_use_tree_mut<V>(v: &mut V, node: &mut UseTree) where V: VisitMut + ?Sized,3658 pub fn visit_use_tree_mut<V>(v: &mut V, node: &mut UseTree)
3659 where
3660     V: VisitMut + ?Sized,
3661 {
3662     match node {
3663         UseTree::Path(_binding_0) => {
3664             v.visit_use_path_mut(_binding_0);
3665         }
3666         UseTree::Name(_binding_0) => {
3667             v.visit_use_name_mut(_binding_0);
3668         }
3669         UseTree::Rename(_binding_0) => {
3670             v.visit_use_rename_mut(_binding_0);
3671         }
3672         UseTree::Glob(_binding_0) => {
3673             v.visit_use_glob_mut(_binding_0);
3674         }
3675         UseTree::Group(_binding_0) => {
3676             v.visit_use_group_mut(_binding_0);
3677         }
3678     }
3679 }
3680 #[cfg(any(feature = "derive", feature = "full"))]
visit_variadic_mut<V>(v: &mut V, node: &mut Variadic) where V: VisitMut + ?Sized,3681 pub fn visit_variadic_mut<V>(v: &mut V, node: &mut Variadic)
3682 where
3683     V: VisitMut + ?Sized,
3684 {
3685     for it in &mut node.attrs {
3686         v.visit_attribute_mut(it);
3687     }
3688     tokens_helper(v, &mut node.dots.spans);
3689 }
3690 #[cfg(any(feature = "derive", feature = "full"))]
visit_variant_mut<V>(v: &mut V, node: &mut Variant) where V: VisitMut + ?Sized,3691 pub fn visit_variant_mut<V>(v: &mut V, node: &mut Variant)
3692 where
3693     V: VisitMut + ?Sized,
3694 {
3695     for it in &mut node.attrs {
3696         v.visit_attribute_mut(it);
3697     }
3698     v.visit_ident_mut(&mut node.ident);
3699     v.visit_fields_mut(&mut node.fields);
3700     if let Some(it) = &mut node.discriminant {
3701         tokens_helper(v, &mut (it).0.spans);
3702         v.visit_expr_mut(&mut (it).1);
3703     }
3704 }
3705 #[cfg(any(feature = "derive", feature = "full"))]
visit_vis_crate_mut<V>(v: &mut V, node: &mut VisCrate) where V: VisitMut + ?Sized,3706 pub fn visit_vis_crate_mut<V>(v: &mut V, node: &mut VisCrate)
3707 where
3708     V: VisitMut + ?Sized,
3709 {
3710     tokens_helper(v, &mut node.crate_token.span);
3711 }
3712 #[cfg(any(feature = "derive", feature = "full"))]
visit_vis_public_mut<V>(v: &mut V, node: &mut VisPublic) where V: VisitMut + ?Sized,3713 pub fn visit_vis_public_mut<V>(v: &mut V, node: &mut VisPublic)
3714 where
3715     V: VisitMut + ?Sized,
3716 {
3717     tokens_helper(v, &mut node.pub_token.span);
3718 }
3719 #[cfg(any(feature = "derive", feature = "full"))]
visit_vis_restricted_mut<V>(v: &mut V, node: &mut VisRestricted) where V: VisitMut + ?Sized,3720 pub fn visit_vis_restricted_mut<V>(v: &mut V, node: &mut VisRestricted)
3721 where
3722     V: VisitMut + ?Sized,
3723 {
3724     tokens_helper(v, &mut node.pub_token.span);
3725     tokens_helper(v, &mut node.paren_token.span);
3726     if let Some(it) = &mut node.in_token {
3727         tokens_helper(v, &mut it.span);
3728     }
3729     v.visit_path_mut(&mut *node.path);
3730 }
3731 #[cfg(any(feature = "derive", feature = "full"))]
visit_visibility_mut<V>(v: &mut V, node: &mut Visibility) where V: VisitMut + ?Sized,3732 pub fn visit_visibility_mut<V>(v: &mut V, node: &mut Visibility)
3733 where
3734     V: VisitMut + ?Sized,
3735 {
3736     match node {
3737         Visibility::Public(_binding_0) => {
3738             v.visit_vis_public_mut(_binding_0);
3739         }
3740         Visibility::Crate(_binding_0) => {
3741             v.visit_vis_crate_mut(_binding_0);
3742         }
3743         Visibility::Restricted(_binding_0) => {
3744             v.visit_vis_restricted_mut(_binding_0);
3745         }
3746         Visibility::Inherited => {}
3747     }
3748 }
3749 #[cfg(any(feature = "derive", feature = "full"))]
visit_where_clause_mut<V>(v: &mut V, node: &mut WhereClause) where V: VisitMut + ?Sized,3750 pub fn visit_where_clause_mut<V>(v: &mut V, node: &mut WhereClause)
3751 where
3752     V: VisitMut + ?Sized,
3753 {
3754     tokens_helper(v, &mut node.where_token.span);
3755     for el in Punctuated::pairs_mut(&mut node.predicates) {
3756         let (it, p) = el.into_tuple();
3757         v.visit_where_predicate_mut(it);
3758         if let Some(p) = p {
3759             tokens_helper(v, &mut p.spans);
3760         }
3761     }
3762 }
3763 #[cfg(any(feature = "derive", feature = "full"))]
visit_where_predicate_mut<V>(v: &mut V, node: &mut WherePredicate) where V: VisitMut + ?Sized,3764 pub fn visit_where_predicate_mut<V>(v: &mut V, node: &mut WherePredicate)
3765 where
3766     V: VisitMut + ?Sized,
3767 {
3768     match node {
3769         WherePredicate::Type(_binding_0) => {
3770             v.visit_predicate_type_mut(_binding_0);
3771         }
3772         WherePredicate::Lifetime(_binding_0) => {
3773             v.visit_predicate_lifetime_mut(_binding_0);
3774         }
3775         WherePredicate::Eq(_binding_0) => {
3776             v.visit_predicate_eq_mut(_binding_0);
3777         }
3778     }
3779 }
3780