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