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