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