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