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