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