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