1use crate::ast::*;
4use crate::Extent;
5
6pub trait Visit {
8 fn visit<'ast, V>(&'ast self, _: &mut V)
9 where
10 V: Visitor<'ast>;
11
12 fn visit_mut<V>(&mut self, _: &mut V)
13 where
14 V: VisitorMut;
15}
16
17impl<T> Visit for Box<T>
18where
19 T: Visit,
20{
21 fn visit<'ast, V>(&'ast self, v: &mut V)
22 where
23 V: Visitor<'ast>,
24 {
25 (**self).visit(v)
26 }
27
28 fn visit_mut<V>(&mut self, v: &mut V)
29 where
30 V: VisitorMut,
31 {
32 (**self).visit_mut(v)
33 }
34}
35
36impl<T> Visit for Option<T>
37where
38 T: Visit,
39{
40 fn visit<'ast, V>(&'ast self, v: &mut V)
41 where
42 V: Visitor<'ast>,
43 {
44 for i in self {
45 i.visit(v)
46 }
47 }
48
49 fn visit_mut<V>(&mut self, v: &mut V)
50 where
51 V: VisitorMut,
52 {
53 for i in self {
54 i.visit_mut(v)
55 }
56 }
57}
58
59impl<T> Visit for Vec<T>
60where
61 T: Visit,
62{
63 fn visit<'ast, V>(&'ast self, v: &mut V)
64 where
65 V: Visitor<'ast>
66 {
67 for i in self {
68 i.visit(v)
69 }
70 }
71
72 fn visit_mut<V>(&mut self, v: &mut V)
73 where
74 V: VisitorMut
75 {
76 for i in self {
77 i.visit_mut(v)
78 }
79 }
80}
81
82impl Visit for Extent {
86 fn visit<'ast, V>(&'ast self, _v: &mut V)
87 where
88 V: Visitor<'ast>
89 {}
90
91 fn visit_mut<V>(&mut self, _v: &mut V)
92 where
93 V: VisitorMut
94 {}
95}
96
97#[derive(Debug, PartialEq)]
100pub enum Control {
101 Continue,
102 Break
103}
104
105pub trait Visitor<'ast> {
121 fn visit_argument(&mut self, _: &'ast Argument) -> Control { Control::Continue }
122 fn visit_array(&mut self, _: &'ast Array) -> Control { Control::Continue }
123 fn visit_array_explicit(&mut self, _: &'ast ArrayExplicit) -> Control { Control::Continue }
124 fn visit_array_repeated(&mut self, _: &'ast ArrayRepeated) -> Control { Control::Continue }
125 fn visit_as_type(&mut self, _: &'ast AsType) -> Control { Control::Continue }
126 fn visit_ascription(&mut self, _: &'ast Ascription) -> Control { Control::Continue }
127 fn visit_associated_type(&mut self, _: &'ast AssociatedType) -> Control { Control::Continue }
128 fn visit_associated_type_value(&mut self, _: &'ast AssociatedTypeValue) -> Control { Control::Continue }
129 fn visit_associated_type_value_equal(&mut self, _: &'ast AssociatedTypeValueEqual) -> Control { Control::Continue }
130 fn visit_associated_type_value_bound(&mut self, _: &'ast AssociatedTypeValueBound) -> Control { Control::Continue }
131 fn visit_async_block(&mut self, _: &'ast AsyncBlock) -> Control { Control::Continue }
132 fn visit_attribute(&mut self, _: &'ast Attribute) -> Control { Control::Continue }
133 fn visit_attribute_literal(&mut self, _: &'ast AttributeLiteral) -> Control { Control::Continue }
134 fn visit_attribute_containing(&mut self, _: &'ast AttributeContaining) -> Control { Control::Continue }
135 fn visit_attribute_containing_literal(&mut self, _: &'ast AttributeContainingLiteral) -> Control { Control::Continue }
136 fn visit_attributed_enum_variant(&mut self, _: &'ast Attributed<EnumVariant>) -> Control { Control::Continue }
137 fn visit_attributed_expression(&mut self, _: &'ast Attributed<Expression>) -> Control { Control::Continue }
138 fn visit_attributed_extern_block_member(&mut self, _: &'ast Attributed<ExternBlockMember>) -> Control { Control::Continue }
139 fn visit_attributed_generic_declaration_const(&mut self, _: &'ast Attributed<GenericDeclarationConst>) -> Control { Control::Continue }
140 fn visit_attributed_generic_declaration_lifetime(&mut self, _: &'ast Attributed<GenericDeclarationLifetime>) -> Control { Control::Continue }
141 fn visit_attributed_generic_declaration_type(&mut self, _: &'ast Attributed<GenericDeclarationType>) -> Control { Control::Continue }
142 fn visit_attributed_impl_member(&mut self, _: &'ast Attributed<ImplMember>) -> Control { Control::Continue }
143 fn visit_attributed_item(&mut self, _: &'ast Attributed<Item>) -> Control { Control::Continue }
144 fn visit_attributed_struct_definition_field_named(&mut self, _: &'ast Attributed<StructDefinitionFieldNamed>) -> Control { Control::Continue }
145 fn visit_attributed_struct_definition_field_unnamed(&mut self, _: &'ast Attributed<StructDefinitionFieldUnnamed>) -> Control { Control::Continue }
146 fn visit_attributed_trait_member(&mut self, _: &'ast Attributed<TraitMember>) -> Control { Control::Continue }
147 fn visit_binary(&mut self, _: &'ast Binary) -> Control { Control::Continue }
148 fn visit_block(&mut self, _: &'ast Block) -> Control { Control::Continue }
149 fn visit_break(&mut self, _: &'ast Break) -> Control { Control::Continue }
150 fn visit_byte(&mut self, _: &'ast Byte) -> Control { Control::Continue }
151 fn visit_byte_string(&mut self, _: &'ast ByteString) -> Control { Control::Continue }
152 fn visit_call(&mut self, _: &'ast Call) -> Control { Control::Continue }
153 fn visit_character(&mut self, _: &'ast Character) -> Control { Control::Continue }
154 fn visit_closure(&mut self, _: &'ast Closure) -> Control { Control::Continue }
155 fn visit_closure_arg(&mut self, _: &'ast ClosureArg) -> Control { Control::Continue }
156 fn visit_comment(&mut self, _: &'ast Comment) -> Control { Control::Continue }
157 fn visit_const(&mut self, _: &'ast Const) -> Control { Control::Continue }
158 fn visit_continue(&mut self, _: &'ast Continue) -> Control { Control::Continue }
159 fn visit_crate(&mut self, _: &'ast Crate) -> Control { Control::Continue }
160 fn visit_dereference(&mut self, _: &'ast Dereference) -> Control { Control::Continue }
161 fn visit_disambiguation(&mut self, _: &'ast Disambiguation) -> Control { Control::Continue }
162 fn visit_enum(&mut self, _: &'ast Enum) -> Control { Control::Continue }
163 fn visit_enum_variant(&mut self, _: &'ast EnumVariant) -> Control { Control::Continue }
164 fn visit_enum_variant_body(&mut self, _: &'ast EnumVariantBody) -> Control { Control::Continue }
165 fn visit_expression(&mut self, _: &'ast Expression) -> Control { Control::Continue }
166 fn visit_expression_box(&mut self, _: &'ast ExpressionBox) -> Control { Control::Continue }
167 fn visit_extern_block(&mut self, _: &'ast ExternBlock) -> Control { Control::Continue }
168 fn visit_extern_block_member(&mut self, _: &'ast ExternBlockMember) -> Control { Control::Continue }
169 fn visit_extern_block_member_function(&mut self, _: &'ast ExternBlockMemberFunction) -> Control { Control::Continue }
170 fn visit_extern_block_member_function_argument(&mut self, _: &'ast ExternBlockMemberFunctionArgument) -> Control { Control::Continue }
171 fn visit_extern_block_member_function_argument_named(&mut self, _: &'ast ExternBlockMemberFunctionArgumentNamed) -> Control { Control::Continue }
172 fn visit_extern_block_member_function_argument_variadic(&mut self, _: &'ast ExternBlockMemberFunctionArgumentVariadic) -> Control { Control::Continue }
173 fn visit_extern_block_member_static(&mut self, _: &'ast ExternBlockMemberStatic) -> Control { Control::Continue }
174 fn visit_extern_block_member_type(&mut self, _: &'ast ExternBlockMemberType) -> Control { Control::Continue }
175 fn visit_field_access(&mut self, _: &'ast FieldAccess) -> Control { Control::Continue }
176 fn visit_field_name(&mut self, _: &'ast FieldName) -> Control { Control::Continue }
177 fn visit_file(&mut self, _: &'ast File) -> Control { Control::Continue }
178 fn visit_for_loop(&mut self, _: &'ast ForLoop) -> Control { Control::Continue }
179 fn visit_function(&mut self, _: &'ast Function) -> Control { Control::Continue }
180 fn visit_function_header(&mut self, _: &'ast FunctionHeader) -> Control { Control::Continue }
181 fn visit_function_qualifiers(&mut self, _: &'ast FunctionQualifiers) -> Control { Control::Continue }
182 fn visit_generic_declaration_const(&mut self, _: &'ast GenericDeclarationConst) -> Control { Control::Continue }
183 fn visit_generic_declaration_lifetime(&mut self, _: &'ast GenericDeclarationLifetime) -> Control { Control::Continue }
184 fn visit_generic_declaration_type(&mut self, _: &'ast GenericDeclarationType) -> Control { Control::Continue }
185 fn visit_generic_declarations(&mut self, _: &'ast GenericDeclarations) -> Control { Control::Continue }
186 fn visit_ident(&mut self, _: &'ast Ident) -> Control { Control::Continue }
187 fn visit_if(&mut self, _: &'ast If) -> Control { Control::Continue }
188 fn visit_if_let(&mut self, _: &'ast IfLet) -> Control { Control::Continue }
189 fn visit_impl(&mut self, _: &'ast Impl) -> Control { Control::Continue }
190 fn visit_impl_const(&mut self, _: &'ast ImplConst) -> Control { Control::Continue }
191 fn visit_impl_function(&mut self, _: &'ast ImplFunction) -> Control { Control::Continue }
192 fn visit_impl_kind(&mut self, _: &'ast ImplKind) -> Control { Control::Continue }
193 fn visit_impl_member(&mut self, _: &'ast ImplMember) -> Control { Control::Continue }
194 fn visit_impl_of_inherent(&mut self, _: &'ast ImplOfInherent) -> Control { Control::Continue }
195 fn visit_impl_of_trait(&mut self, _: &'ast ImplOfTrait) -> Control { Control::Continue }
196 fn visit_impl_of_trait_type(&mut self, _: &'ast ImplOfTraitType) -> Control { Control::Continue }
197 fn visit_impl_type(&mut self, _: &'ast ImplType) -> Control { Control::Continue }
198 fn visit_item(&mut self, _: &'ast Item) -> Control { Control::Continue }
199 fn visit_let(&mut self, _: &'ast Let) -> Control { Control::Continue }
200 fn visit_lifetime(&mut self, _: &'ast Lifetime) -> Control { Control::Continue }
201 fn visit_loop(&mut self, _: &'ast Loop) -> Control { Control::Continue }
202 fn visit_macro_call(&mut self, _: &'ast MacroCall) -> Control { Control::Continue }
203 fn visit_macro_call_args(&mut self, _: &'ast MacroCallArgs) -> Control { Control::Continue }
204 fn visit_match(&mut self, _: &'ast Match) -> Control { Control::Continue }
205 fn visit_match_arm(&mut self, _: &'ast MatchArm) -> Control { Control::Continue }
206 fn visit_match_hand(&mut self, _: &'ast MatchHand) -> Control { Control::Continue }
207 fn visit_module(&mut self, _: &'ast Module) -> Control { Control::Continue }
208 fn visit_named_argument(&mut self, _: &'ast NamedArgument) -> Control { Control::Continue }
209 fn visit_number(&mut self, _: &'ast Number) -> Control { Control::Continue }
210 fn visit_number_value(&mut self, _: &'ast NumberValue) -> Control { Control::Continue }
211 fn visit_number_binary(&mut self, _: &'ast NumberBinary) -> Control { Control::Continue }
212 fn visit_number_decimal(&mut self, _: &'ast NumberDecimal) -> Control { Control::Continue }
213 fn visit_number_hexadecimal(&mut self, _: &'ast NumberHexadecimal) -> Control { Control::Continue }
214 fn visit_number_octal(&mut self, _: &'ast NumberOctal) -> Control { Control::Continue }
215 fn visit_parenthetical(&mut self, _: &'ast Parenthetical) -> Control { Control::Continue }
216 fn visit_path(&mut self, _: &'ast Path) -> Control { Control::Continue }
217 fn visit_path_component(&mut self, _: &'ast PathComponent) -> Control { Control::Continue }
218 fn visit_pathed_ident(&mut self, _: &'ast PathedIdent) -> Control { Control::Continue }
219 fn visit_pattern(&mut self, _: &'ast Pattern) -> Control { Control::Continue }
220 fn visit_pattern_box(&mut self, _: &'ast PatternBox) -> Control { Control::Continue }
221 fn visit_pattern_byte(&mut self, _: &'ast PatternByte) -> Control { Control::Continue }
222 fn visit_pattern_byte_string(&mut self, _: &'ast PatternByteString) -> Control { Control::Continue }
223 fn visit_pattern_character(&mut self, _: &'ast PatternCharacter) -> Control { Control::Continue }
224 fn visit_pattern_ident(&mut self, _: &'ast PatternIdent) -> Control { Control::Continue }
225 fn visit_pattern_kind(&mut self, _: &'ast PatternKind) -> Control { Control::Continue }
226 fn visit_pattern_macro_call(&mut self, _: &'ast PatternMacroCall) -> Control { Control::Continue }
227 fn visit_pattern_name(&mut self, _: &'ast PatternName) -> Control { Control::Continue }
228 fn visit_pattern_number(&mut self, _: &'ast PatternNumber) -> Control { Control::Continue }
229 fn visit_pattern_range_component(&mut self, _: &'ast PatternRangeComponent) -> Control { Control::Continue }
230 fn visit_pattern_range_exclusive(&mut self, _: &'ast PatternRangeExclusive) -> Control { Control::Continue }
231 fn visit_pattern_range_inclusive(&mut self, _: &'ast PatternRangeInclusive) -> Control { Control::Continue }
232 fn visit_pattern_reference(&mut self, _: &'ast PatternReference) -> Control { Control::Continue }
233 fn visit_pattern_slice(&mut self, _: &'ast PatternSlice) -> Control { Control::Continue }
234 fn visit_pattern_slice_member(&mut self, _: &'ast PatternSliceMember) -> Control { Control::Continue }
235 fn visit_pattern_slice_subslice(&mut self, _: &'ast PatternSliceSubslice) -> Control { Control::Continue }
236 fn visit_pattern_string(&mut self, _: &'ast PatternString) -> Control { Control::Continue }
237 fn visit_pattern_struct(&mut self, _: &'ast PatternStruct) -> Control { Control::Continue }
238 fn visit_pattern_struct_field(&mut self, _: &'ast PatternStructField) -> Control { Control::Continue }
239 fn visit_pattern_struct_field_long(&mut self, _: &'ast PatternStructFieldLong) -> Control { Control::Continue }
240 fn visit_pattern_struct_field_short(&mut self, _: &'ast PatternStructFieldShort) -> Control { Control::Continue }
241 fn visit_pattern_tuple(&mut self, _: &'ast PatternTuple) -> Control { Control::Continue }
242 fn visit_pattern_tuple_member(&mut self, _: &'ast PatternTupleMember) -> Control { Control::Continue }
243 fn visit_range(&mut self, _: &'ast Range) -> Control { Control::Continue }
244 fn visit_range_inclusive(&mut self, _: &'ast RangeInclusive) -> Control { Control::Continue }
245 fn visit_reference(&mut self, _: &'ast Reference) -> Control { Control::Continue }
246 fn visit_return(&mut self, _: &'ast Return) -> Control { Control::Continue }
247 fn visit_self_argument(&mut self, _: &'ast SelfArgument) -> Control { Control::Continue }
248 fn visit_self_argument_longhand(&mut self, _: &'ast SelfArgumentLonghand) -> Control { Control::Continue }
249 fn visit_self_argument_shorthand(&mut self, _: &'ast SelfArgumentShorthand) -> Control { Control::Continue }
250 fn visit_self_argument_shorthand_qualifier(&mut self, _: &'ast SelfArgumentShorthandQualifier) -> Control { Control::Continue }
251 fn visit_slice(&mut self, _: &'ast Slice) -> Control { Control::Continue }
252 fn visit_statement(&mut self, _: &'ast Statement) -> Control { Control::Continue }
253 fn visit_static(&mut self, _: &'ast Static) -> Control { Control::Continue }
254 fn visit_string(&mut self, _: &'ast String) -> Control { Control::Continue }
255 fn visit_struct(&mut self, _: &'ast Struct) -> Control { Control::Continue }
256 fn visit_struct_definition_body(&mut self, _: &'ast StructDefinitionBody) -> Control { Control::Continue }
257 fn visit_struct_definition_body_brace(&mut self, _: &'ast StructDefinitionBodyBrace) -> Control { Control::Continue }
258 fn visit_struct_definition_body_tuple(&mut self, _: &'ast StructDefinitionBodyTuple) -> Control { Control::Continue }
259 fn visit_struct_definition_field_named(&mut self, _: &'ast StructDefinitionFieldNamed) -> Control { Control::Continue }
260 fn visit_struct_definition_field_unnamed(&mut self, _: &'ast StructDefinitionFieldUnnamed) -> Control { Control::Continue }
261 fn visit_struct_literal(&mut self, _: &'ast StructLiteral) -> Control { Control::Continue }
262 fn visit_struct_literal_field(&mut self, _: &'ast StructLiteralField) -> Control { Control::Continue }
263 fn visit_trait(&mut self, _: &'ast Trait) -> Control { Control::Continue }
264 fn visit_trait_bound(&mut self, _: &'ast TraitBound) -> Control { Control::Continue }
265 fn visit_trait_bound_lifetime(&mut self, _: &'ast TraitBoundLifetime) -> Control { Control::Continue }
266 fn visit_trait_bound_normal(&mut self, _: &'ast TraitBoundNormal) -> Control { Control::Continue }
267 fn visit_trait_bound_relaxed(&mut self, _: &'ast TraitBoundRelaxed) -> Control { Control::Continue }
268 fn visit_trait_bound_type(&mut self, _: &'ast TraitBoundType) -> Control { Control::Continue }
269 fn visit_trait_bounds(&mut self, _: &'ast TraitBounds) -> Control { Control::Continue }
270 fn visit_trait_impl_argument(&mut self, _: &'ast TraitImplArgument) -> Control { Control::Continue }
271 fn visit_trait_impl_argument_named(&mut self, _: &'ast TraitImplArgumentNamed) -> Control { Control::Continue }
272 fn visit_trait_impl_function_header(&mut self, _: &'ast TraitImplFunctionHeader) -> Control { Control::Continue }
273 fn visit_trait_member(&mut self, _: &'ast TraitMember) -> Control { Control::Continue }
274 fn visit_trait_member_const(&mut self, _: &'ast TraitMemberConst) -> Control { Control::Continue }
275 fn visit_trait_member_function(&mut self, _: &'ast TraitMemberFunction) -> Control { Control::Continue }
276 fn visit_trait_member_type(&mut self, _: &'ast TraitMemberType) -> Control { Control::Continue }
277 fn visit_try_operator(&mut self, _: &'ast TryOperator) -> Control { Control::Continue }
278 fn visit_tuple(&mut self, _: &'ast Tuple) -> Control { Control::Continue }
279 fn visit_turbofish(&mut self, _: &'ast Turbofish) -> Control { Control::Continue }
280 fn visit_type(&mut self, _: &'ast Type) -> Control { Control::Continue }
281 fn visit_type_additional(&mut self, _: &'ast TypeAdditional) -> Control { Control::Continue }
282 fn visit_type_alias(&mut self, _: &'ast TypeAlias) -> Control { Control::Continue }
283 fn visit_type_array(&mut self, _: &'ast TypeArray) -> Control { Control::Continue }
284 fn visit_type_disambiguation(&mut self, _: &'ast TypeDisambiguation) -> Control { Control::Continue }
285 fn visit_type_dyn_trait(&mut self, _: &'ast TypeDynTrait) -> Control { Control::Continue }
286 fn visit_type_function(&mut self, _: &'ast TypeFunction) -> Control { Control::Continue }
287 fn visit_type_function_argument(&mut self, _: &'ast TypeFunctionArgument) -> Control { Control::Continue }
288 fn visit_type_function_argument_named(&mut self, _: &'ast TypeFunctionArgumentNamed) -> Control { Control::Continue }
289 fn visit_type_generics(&mut self, _: &'ast TypeGenerics) -> Control { Control::Continue }
290 fn visit_type_generics_angle(&mut self, _: &'ast TypeGenericsAngle) -> Control { Control::Continue }
291 fn visit_type_generics_angle_member(&mut self, _: &'ast TypeGenericsAngleMember) -> Control { Control::Continue }
292 fn visit_type_generics_function(&mut self, _: &'ast TypeGenericsFunction) -> Control { Control::Continue }
293 fn visit_type_higher_ranked_trait_bounds(&mut self, _: &'ast TypeHigherRankedTraitBounds) -> Control { Control::Continue }
294 fn visit_type_higher_ranked_trait_bounds_child(&mut self, _: &'ast TypeHigherRankedTraitBoundsChild) -> Control { Control::Continue }
295 fn visit_type_impl_trait(&mut self, _: &'ast TypeImplTrait) -> Control { Control::Continue }
296 fn visit_type_kind(&mut self, _: &'ast TypeKind) -> Control { Control::Continue }
297 fn visit_type_named(&mut self, _: &'ast TypeNamed) -> Control { Control::Continue }
298 fn visit_type_named_component(&mut self, _: &'ast TypeNamedComponent) -> Control { Control::Continue }
299 fn visit_type_pointer(&mut self, _: &'ast TypePointer) -> Control { Control::Continue }
300 fn visit_type_reference(&mut self, _: &'ast TypeReference) -> Control { Control::Continue }
301 fn visit_type_reference_kind(&mut self, _: &'ast TypeReferenceKind) -> Control { Control::Continue }
302 fn visit_type_slice(&mut self, _: &'ast TypeSlice) -> Control { Control::Continue }
303 fn visit_type_tuple(&mut self, _: &'ast TypeTuple) -> Control { Control::Continue }
304 fn visit_unary(&mut self, _: &'ast Unary) -> Control { Control::Continue }
305 fn visit_union(&mut self, _: &'ast Union) -> Control { Control::Continue }
306 fn visit_unsafe_block(&mut self, _: &'ast UnsafeBlock) -> Control { Control::Continue }
307 fn visit_use(&mut self, _: &'ast Use) -> Control { Control::Continue }
308 fn visit_use_path(&mut self, _: &'ast UsePath) -> Control { Control::Continue }
309 fn visit_use_tail(&mut self, _: &'ast UseTail) -> Control { Control::Continue }
310 fn visit_use_tail_glob(&mut self, _: &'ast UseTailGlob) -> Control { Control::Continue }
311 fn visit_use_tail_ident(&mut self, _: &'ast UseTailIdent) -> Control { Control::Continue }
312 fn visit_use_tail_multi(&mut self, _: &'ast UseTailMulti) -> Control { Control::Continue }
313 fn visit_value(&mut self, _: &'ast Value) -> Control { Control::Continue }
314 fn visit_visibility(&mut self, _: &'ast Visibility) -> Control { Control::Continue }
315 fn visit_visibility_public(&mut self, _: &'ast VisibilityPublic) -> Control { Control::Continue }
316 fn visit_where(&mut self, _: &'ast Where) -> Control { Control::Continue }
317 fn visit_where_kind(&mut self, _: &'ast WhereKind) -> Control { Control::Continue }
318 fn visit_where_lifetime(&mut self, _: &'ast WhereLifetime) -> Control { Control::Continue }
319 fn visit_where_type(&mut self, _: &'ast WhereType) -> Control { Control::Continue }
320 fn visit_while(&mut self, _: &'ast While) -> Control { Control::Continue }
321 fn visit_while_let(&mut self, _: &'ast WhileLet) -> Control { Control::Continue }
322 fn visit_whitespace(&mut self, _: &'ast Whitespace) -> Control { Control::Continue }
323
324 fn exit_argument(&mut self, _: &'ast Argument) {}
325 fn exit_array(&mut self, _: &'ast Array) {}
326 fn exit_array_explicit(&mut self, _: &'ast ArrayExplicit) {}
327 fn exit_array_repeated(&mut self, _: &'ast ArrayRepeated) {}
328 fn exit_as_type(&mut self, _: &'ast AsType) {}
329 fn exit_ascription(&mut self, _: &'ast Ascription) {}
330 fn exit_associated_type(&mut self, _: &'ast AssociatedType) {}
331 fn exit_associated_type_value(&mut self, _: &'ast AssociatedTypeValue) {}
332 fn exit_associated_type_value_equal(&mut self, _: &'ast AssociatedTypeValueEqual) {}
333 fn exit_associated_type_value_bound(&mut self, _: &'ast AssociatedTypeValueBound) {}
334 fn exit_async_block(&mut self, _: &'ast AsyncBlock) {}
335 fn exit_attribute(&mut self, _: &'ast Attribute) {}
336 fn exit_attribute_literal(&mut self, _: &'ast AttributeLiteral) {}
337 fn exit_attribute_containing(&mut self, _: &'ast AttributeContaining) {}
338 fn exit_attribute_containing_literal(&mut self, _: &'ast AttributeContainingLiteral) {}
339 fn exit_attributed_enum_variant(&mut self, _: &'ast Attributed<EnumVariant>) {}
340 fn exit_attributed_expression(&mut self, _: &'ast Attributed<Expression>) {}
341 fn exit_attributed_extern_block_member(&mut self, _: &'ast Attributed<ExternBlockMember>) {}
342 fn exit_attributed_generic_declaration_const(&mut self, _: &'ast Attributed<GenericDeclarationConst>) {}
343 fn exit_attributed_generic_declaration_lifetime(&mut self, _: &'ast Attributed<GenericDeclarationLifetime>) {}
344 fn exit_attributed_generic_declaration_type(&mut self, _: &'ast Attributed<GenericDeclarationType>) {}
345 fn exit_attributed_impl_member(&mut self, _: &'ast Attributed<ImplMember>) {}
346 fn exit_attributed_item(&mut self, _: &'ast Attributed<Item>) {}
347 fn exit_attributed_struct_definition_field_named(&mut self, _: &'ast Attributed<StructDefinitionFieldNamed>) {}
348 fn exit_attributed_struct_definition_field_unnamed(&mut self, _: &'ast Attributed<StructDefinitionFieldUnnamed>) {}
349 fn exit_attributed_trait_member(&mut self, _: &'ast Attributed<TraitMember>) {}
350 fn exit_binary(&mut self, _: &'ast Binary) {}
351 fn exit_block(&mut self, _: &'ast Block) {}
352 fn exit_break(&mut self, _: &'ast Break) {}
353 fn exit_byte(&mut self, _: &'ast Byte) {}
354 fn exit_byte_string(&mut self, _: &'ast ByteString) {}
355 fn exit_call(&mut self, _: &'ast Call) {}
356 fn exit_character(&mut self, _: &'ast Character) {}
357 fn exit_closure(&mut self, _: &'ast Closure) {}
358 fn exit_closure_arg(&mut self, _: &'ast ClosureArg) {}
359 fn exit_comment(&mut self, _: &'ast Comment) {}
360 fn exit_const(&mut self, _: &'ast Const) {}
361 fn exit_continue(&mut self, _: &'ast Continue) {}
362 fn exit_crate(&mut self, _: &'ast Crate) {}
363 fn exit_dereference(&mut self, _: &'ast Dereference) {}
364 fn exit_disambiguation(&mut self, _: &'ast Disambiguation) {}
365 fn exit_enum(&mut self, _: &'ast Enum) {}
366 fn exit_enum_variant(&mut self, _: &'ast EnumVariant) {}
367 fn exit_enum_variant_body(&mut self, _: &'ast EnumVariantBody) {}
368 fn exit_expression(&mut self, _: &'ast Expression) {}
369 fn exit_expression_box(&mut self, _: &'ast ExpressionBox) {}
370 fn exit_extern_block(&mut self, _: &'ast ExternBlock) {}
371 fn exit_extern_block_member(&mut self, _: &'ast ExternBlockMember) {}
372 fn exit_extern_block_member_function(&mut self, _: &'ast ExternBlockMemberFunction) {}
373 fn exit_extern_block_member_function_argument(&mut self, _: &'ast ExternBlockMemberFunctionArgument) {}
374 fn exit_extern_block_member_function_argument_named(&mut self, _: &'ast ExternBlockMemberFunctionArgumentNamed) {}
375 fn exit_extern_block_member_function_argument_variadic(&mut self, _: &'ast ExternBlockMemberFunctionArgumentVariadic) {}
376 fn exit_extern_block_member_static(&mut self, _: &'ast ExternBlockMemberStatic) {}
377 fn exit_extern_block_member_type(&mut self, _: &'ast ExternBlockMemberType) {}
378 fn exit_field_access(&mut self, _: &'ast FieldAccess) {}
379 fn exit_field_name(&mut self, _: &'ast FieldName) {}
380 fn exit_file(&mut self, _: &'ast File) {}
381 fn exit_for_loop(&mut self, _: &'ast ForLoop) {}
382 fn exit_function(&mut self, _: &'ast Function) {}
383 fn exit_function_header(&mut self, _: &'ast FunctionHeader) {}
384 fn exit_function_qualifiers(&mut self, _: &'ast FunctionQualifiers) {}
385 fn exit_generic_declaration_const(&mut self, _: &'ast GenericDeclarationConst) {}
386 fn exit_generic_declaration_lifetime(&mut self, _: &'ast GenericDeclarationLifetime) {}
387 fn exit_generic_declaration_type(&mut self, _: &'ast GenericDeclarationType) {}
388 fn exit_generic_declarations(&mut self, _: &'ast GenericDeclarations) {}
389 fn exit_ident(&mut self, _: &'ast Ident) {}
390 fn exit_if(&mut self, _: &'ast If) {}
391 fn exit_if_let(&mut self, _: &'ast IfLet) {}
392 fn exit_impl(&mut self, _: &'ast Impl) {}
393 fn exit_impl_const(&mut self, _: &'ast ImplConst) {}
394 fn exit_impl_function(&mut self, _: &'ast ImplFunction) {}
395 fn exit_impl_kind(&mut self, _: &'ast ImplKind) {}
396 fn exit_impl_member(&mut self, _: &'ast ImplMember) {}
397 fn exit_impl_of_inherent(&mut self, _: &'ast ImplOfInherent) {}
398 fn exit_impl_of_trait(&mut self, _: &'ast ImplOfTrait) {}
399 fn exit_impl_of_trait_type(&mut self, _: &'ast ImplOfTraitType) {}
400 fn exit_impl_type(&mut self, _: &'ast ImplType) {}
401 fn exit_item(&mut self, _: &'ast Item) {}
402 fn exit_let(&mut self, _: &'ast Let) {}
403 fn exit_lifetime(&mut self, _: &'ast Lifetime) {}
404 fn exit_loop(&mut self, _: &'ast Loop) {}
405 fn exit_macro_call(&mut self, _: &'ast MacroCall) {}
406 fn exit_macro_call_args(&mut self, _: &'ast MacroCallArgs) {}
407 fn exit_match(&mut self, _: &'ast Match) {}
408 fn exit_match_arm(&mut self, _: &'ast MatchArm) {}
409 fn exit_match_hand(&mut self, _: &'ast MatchHand) {}
410 fn exit_module(&mut self, _: &'ast Module) {}
411 fn exit_named_argument(&mut self, _: &'ast NamedArgument) {}
412 fn exit_number(&mut self, _: &'ast Number) {}
413 fn exit_number_value(&mut self, _: &'ast NumberValue) {}
414 fn exit_number_binary(&mut self, _: &'ast NumberBinary) {}
415 fn exit_number_decimal(&mut self, _: &'ast NumberDecimal) {}
416 fn exit_number_hexadecimal(&mut self, _: &'ast NumberHexadecimal) {}
417 fn exit_number_octal(&mut self, _: &'ast NumberOctal) {}
418 fn exit_parenthetical(&mut self, _: &'ast Parenthetical) {}
419 fn exit_path(&mut self, _: &'ast Path) {}
420 fn exit_path_component(&mut self, _: &'ast PathComponent) {}
421 fn exit_pathed_ident(&mut self, _: &'ast PathedIdent) {}
422 fn exit_pattern(&mut self, _: &'ast Pattern) {}
423 fn exit_pattern_box(&mut self, _: &'ast PatternBox) {}
424 fn exit_pattern_byte(&mut self, _: &'ast PatternByte) {}
425 fn exit_pattern_byte_string(&mut self, _: &'ast PatternByteString) {}
426 fn exit_pattern_character(&mut self, _: &'ast PatternCharacter) {}
427 fn exit_pattern_ident(&mut self, _: &'ast PatternIdent) {}
428 fn exit_pattern_kind(&mut self, _: &'ast PatternKind) {}
429 fn exit_pattern_macro_call(&mut self, _: &'ast PatternMacroCall) {}
430 fn exit_pattern_name(&mut self, _: &'ast PatternName) {}
431 fn exit_pattern_number(&mut self, _: &'ast PatternNumber) {}
432 fn exit_pattern_range_component(&mut self, _: &'ast PatternRangeComponent) {}
433 fn exit_pattern_range_exclusive(&mut self, _: &'ast PatternRangeExclusive) {}
434 fn exit_pattern_range_inclusive(&mut self, _: &'ast PatternRangeInclusive) {}
435 fn exit_pattern_reference(&mut self, _: &'ast PatternReference) {}
436 fn exit_pattern_slice(&mut self, _: &'ast PatternSlice) {}
437 fn exit_pattern_slice_member(&mut self, _: &'ast PatternSliceMember) {}
438 fn exit_pattern_slice_subslice(&mut self, _: &'ast PatternSliceSubslice) {}
439 fn exit_pattern_string(&mut self, _: &'ast PatternString) {}
440 fn exit_pattern_struct(&mut self, _: &'ast PatternStruct) {}
441 fn exit_pattern_struct_field(&mut self, _: &'ast PatternStructField) {}
442 fn exit_pattern_struct_field_long(&mut self, _: &'ast PatternStructFieldLong) {}
443 fn exit_pattern_struct_field_short(&mut self, _: &'ast PatternStructFieldShort) {}
444 fn exit_pattern_tuple(&mut self, _: &'ast PatternTuple) {}
445 fn exit_pattern_tuple_member(&mut self, _: &'ast PatternTupleMember) {}
446 fn exit_range(&mut self, _: &'ast Range) {}
447 fn exit_range_inclusive(&mut self, _: &'ast RangeInclusive) {}
448 fn exit_reference(&mut self, _: &'ast Reference) {}
449 fn exit_return(&mut self, _: &'ast Return) {}
450 fn exit_self_argument(&mut self, _: &'ast SelfArgument) {}
451 fn exit_self_argument_longhand(&mut self, _: &'ast SelfArgumentLonghand) {}
452 fn exit_self_argument_shorthand(&mut self, _: &'ast SelfArgumentShorthand) {}
453 fn exit_self_argument_shorthand_qualifier(&mut self, _: &'ast SelfArgumentShorthandQualifier) {}
454 fn exit_slice(&mut self, _: &'ast Slice) {}
455 fn exit_statement(&mut self, _: &'ast Statement) {}
456 fn exit_static(&mut self, _: &'ast Static) {}
457 fn exit_string(&mut self, _: &'ast String) {}
458 fn exit_struct(&mut self, _: &'ast Struct) {}
459 fn exit_struct_definition_body(&mut self, _: &'ast StructDefinitionBody) {}
460 fn exit_struct_definition_body_brace(&mut self, _: &'ast StructDefinitionBodyBrace) {}
461 fn exit_struct_definition_body_tuple(&mut self, _: &'ast StructDefinitionBodyTuple) {}
462 fn exit_struct_definition_field_named(&mut self, _: &'ast StructDefinitionFieldNamed) {}
463 fn exit_struct_definition_field_unnamed(&mut self, _: &'ast StructDefinitionFieldUnnamed) {}
464 fn exit_struct_literal(&mut self, _: &'ast StructLiteral) {}
465 fn exit_struct_literal_field(&mut self, _: &'ast StructLiteralField) {}
466 fn exit_trait(&mut self, _: &'ast Trait) {}
467 fn exit_trait_bound(&mut self, _: &'ast TraitBound) {}
468 fn exit_trait_bound_lifetime(&mut self, _: &'ast TraitBoundLifetime) {}
469 fn exit_trait_bound_normal(&mut self, _: &'ast TraitBoundNormal) {}
470 fn exit_trait_bound_relaxed(&mut self, _: &'ast TraitBoundRelaxed) {}
471 fn exit_trait_bound_type(&mut self, _: &'ast TraitBoundType) {}
472 fn exit_trait_bounds(&mut self, _: &'ast TraitBounds) {}
473 fn exit_trait_impl_argument(&mut self, _: &'ast TraitImplArgument) {}
474 fn exit_trait_impl_argument_named(&mut self, _: &'ast TraitImplArgumentNamed) {}
475 fn exit_trait_impl_function_header(&mut self, _: &'ast TraitImplFunctionHeader) {}
476 fn exit_trait_member(&mut self, _: &'ast TraitMember) {}
477 fn exit_trait_member_const(&mut self, _: &'ast TraitMemberConst) {}
478 fn exit_trait_member_function(&mut self, _: &'ast TraitMemberFunction) {}
479 fn exit_trait_member_type(&mut self, _: &'ast TraitMemberType) {}
480 fn exit_try_operator(&mut self, _: &'ast TryOperator) {}
481 fn exit_tuple(&mut self, _: &'ast Tuple) {}
482 fn exit_turbofish(&mut self, _: &'ast Turbofish) {}
483 fn exit_type(&mut self, _: &'ast Type) {}
484 fn exit_type_additional(&mut self, _: &'ast TypeAdditional) {}
485 fn exit_type_alias(&mut self, _: &'ast TypeAlias) {}
486 fn exit_type_array(&mut self, _: &'ast TypeArray) {}
487 fn exit_type_disambiguation(&mut self, _: &'ast TypeDisambiguation) {}
488 fn exit_type_dyn_trait(&mut self, _: &'ast TypeDynTrait) {}
489 fn exit_type_function(&mut self, _: &'ast TypeFunction) {}
490 fn exit_type_function_argument(&mut self, _: &'ast TypeFunctionArgument) {}
491 fn exit_type_function_argument_named(&mut self, _: &'ast TypeFunctionArgumentNamed) {}
492 fn exit_type_generics(&mut self, _: &'ast TypeGenerics) {}
493 fn exit_type_generics_angle(&mut self, _: &'ast TypeGenericsAngle) {}
494 fn exit_type_generics_angle_member(&mut self, _: &'ast TypeGenericsAngleMember) {}
495 fn exit_type_generics_function(&mut self, _: &'ast TypeGenericsFunction) {}
496 fn exit_type_higher_ranked_trait_bounds(&mut self, _: &'ast TypeHigherRankedTraitBounds) {}
497 fn exit_type_higher_ranked_trait_bounds_child(&mut self, _: &'ast TypeHigherRankedTraitBoundsChild) {}
498 fn exit_type_impl_trait(&mut self, _: &'ast TypeImplTrait) {}
499 fn exit_type_kind(&mut self, _: &'ast TypeKind) {}
500 fn exit_type_named(&mut self, _: &'ast TypeNamed) {}
501 fn exit_type_named_component(&mut self, _: &'ast TypeNamedComponent) {}
502 fn exit_type_pointer(&mut self, _: &'ast TypePointer) {}
503 fn exit_type_reference(&mut self, _: &'ast TypeReference) {}
504 fn exit_type_reference_kind(&mut self, _: &'ast TypeReferenceKind) {}
505 fn exit_type_slice(&mut self, _: &'ast TypeSlice) {}
506 fn exit_type_tuple(&mut self, _: &'ast TypeTuple) {}
507 fn exit_unary(&mut self, _: &'ast Unary) {}
508 fn exit_union(&mut self, _: &'ast Union) {}
509 fn exit_unsafe_block(&mut self, _: &'ast UnsafeBlock) {}
510 fn exit_use(&mut self, _: &'ast Use) {}
511 fn exit_use_path(&mut self, _: &'ast UsePath) {}
512 fn exit_use_tail(&mut self, _: &'ast UseTail) {}
513 fn exit_use_tail_glob(&mut self, _: &'ast UseTailGlob) {}
514 fn exit_use_tail_ident(&mut self, _: &'ast UseTailIdent) {}
515 fn exit_use_tail_multi(&mut self, _: &'ast UseTailMulti) {}
516 fn exit_value(&mut self, _: &'ast Value) {}
517 fn exit_visibility(&mut self, _: &'ast Visibility) {}
518 fn exit_visibility_public(&mut self, _: &'ast VisibilityPublic) {}
519 fn exit_where(&mut self, _: &'ast Where) {}
520 fn exit_where_kind(&mut self, _: &'ast WhereKind) {}
521 fn exit_where_lifetime(&mut self, _: &'ast WhereLifetime) {}
522 fn exit_where_type(&mut self, _: &'ast WhereType) {}
523 fn exit_while(&mut self, _: &'ast While) {}
524 fn exit_while_let(&mut self, _: &'ast WhileLet) {}
525 fn exit_whitespace(&mut self, _: &'ast Whitespace) {}
526}
527
528pub trait VisitorMut {
536 fn visit_argument(&mut self, _: &mut Argument) -> Control { Control::Continue }
537 fn visit_array(&mut self, _: &mut Array) -> Control { Control::Continue }
538 fn visit_array_explicit(&mut self, _: &mut ArrayExplicit) -> Control { Control::Continue }
539 fn visit_array_repeated(&mut self, _: &mut ArrayRepeated) -> Control { Control::Continue }
540 fn visit_as_type(&mut self, _: &mut AsType) -> Control { Control::Continue }
541 fn visit_ascription(&mut self, _: &mut Ascription) -> Control { Control::Continue }
542 fn visit_associated_type(&mut self, _: &mut AssociatedType) -> Control { Control::Continue }
543 fn visit_associated_type_value(&mut self, _: &mut AssociatedTypeValue) -> Control { Control::Continue }
544 fn visit_associated_type_value_equal(&mut self, _: &mut AssociatedTypeValueEqual) -> Control { Control::Continue }
545 fn visit_associated_type_value_bound(&mut self, _: &mut AssociatedTypeValueBound) -> Control { Control::Continue }
546 fn visit_async_block(&mut self, _: &mut AsyncBlock) -> Control { Control::Continue }
547 fn visit_attribute(&mut self, _: &mut Attribute) -> Control { Control::Continue }
548 fn visit_attribute_literal(&mut self, _: &mut AttributeLiteral) -> Control { Control::Continue }
549 fn visit_attribute_containing(&mut self, _: &mut AttributeContaining) -> Control { Control::Continue }
550 fn visit_attribute_containing_literal(&mut self, _: &mut AttributeContainingLiteral) -> Control { Control::Continue }
551 fn visit_attributed_enum_variant(&mut self, _: &mut Attributed<EnumVariant>) -> Control { Control::Continue }
552 fn visit_attributed_expression(&mut self, _: &mut Attributed<Expression>) -> Control { Control::Continue }
553 fn visit_attributed_extern_block_member(&mut self, _: &mut Attributed<ExternBlockMember>) -> Control { Control::Continue }
554 fn visit_attributed_generic_declaration_const(&mut self, _: &mut Attributed<GenericDeclarationConst>) -> Control { Control::Continue }
555 fn visit_attributed_generic_declaration_lifetime(&mut self, _: &mut Attributed<GenericDeclarationLifetime>) -> Control { Control::Continue }
556 fn visit_attributed_generic_declaration_type(&mut self, _: &mut Attributed<GenericDeclarationType>) -> Control { Control::Continue }
557 fn visit_attributed_impl_member(&mut self, _: &mut Attributed<ImplMember>) -> Control { Control::Continue }
558 fn visit_attributed_item(&mut self, _: &mut Attributed<Item>) -> Control { Control::Continue }
559 fn visit_attributed_struct_definition_field_named(&mut self, _: &mut Attributed<StructDefinitionFieldNamed>) -> Control { Control::Continue }
560 fn visit_attributed_struct_definition_field_unnamed(&mut self, _: &mut Attributed<StructDefinitionFieldUnnamed>) -> Control { Control::Continue }
561 fn visit_attributed_trait_member(&mut self, _: &mut Attributed<TraitMember>) -> Control { Control::Continue }
562 fn visit_binary(&mut self, _: &mut Binary) -> Control { Control::Continue }
563 fn visit_block(&mut self, _: &mut Block) -> Control { Control::Continue }
564 fn visit_break(&mut self, _: &mut Break) -> Control { Control::Continue }
565 fn visit_byte(&mut self, _: &mut Byte) -> Control { Control::Continue }
566 fn visit_byte_string(&mut self, _: &mut ByteString) -> Control { Control::Continue }
567 fn visit_call(&mut self, _: &mut Call) -> Control { Control::Continue }
568 fn visit_character(&mut self, _: &mut Character) -> Control { Control::Continue }
569 fn visit_closure(&mut self, _: &mut Closure) -> Control { Control::Continue }
570 fn visit_closure_arg(&mut self, _: &mut ClosureArg) -> Control { Control::Continue }
571 fn visit_comment(&mut self, _: &mut Comment) -> Control { Control::Continue }
572 fn visit_const(&mut self, _: &mut Const) -> Control { Control::Continue }
573 fn visit_continue(&mut self, _: &mut Continue) -> Control { Control::Continue }
574 fn visit_crate(&mut self, _: &mut Crate) -> Control { Control::Continue }
575 fn visit_dereference(&mut self, _: &mut Dereference) -> Control { Control::Continue }
576 fn visit_disambiguation(&mut self, _: &mut Disambiguation) -> Control { Control::Continue }
577 fn visit_enum(&mut self, _: &mut Enum) -> Control { Control::Continue }
578 fn visit_enum_variant(&mut self, _: &mut EnumVariant) -> Control { Control::Continue }
579 fn visit_enum_variant_body(&mut self, _: &mut EnumVariantBody) -> Control { Control::Continue }
580 fn visit_expression(&mut self, _: &mut Expression) -> Control { Control::Continue }
581 fn visit_expression_box(&mut self, _: &mut ExpressionBox) -> Control { Control::Continue }
582 fn visit_extern_block(&mut self, _: &mut ExternBlock) -> Control { Control::Continue }
583 fn visit_extern_block_member(&mut self, _: &mut ExternBlockMember) -> Control { Control::Continue }
584 fn visit_extern_block_member_function(&mut self, _: &mut ExternBlockMemberFunction) -> Control { Control::Continue }
585 fn visit_extern_block_member_function_argument(&mut self, _: &mut ExternBlockMemberFunctionArgument) -> Control { Control::Continue }
586 fn visit_extern_block_member_function_argument_named(&mut self, _: &mut ExternBlockMemberFunctionArgumentNamed) -> Control { Control::Continue }
587 fn visit_extern_block_member_function_argument_variadic(&mut self, _: &mut ExternBlockMemberFunctionArgumentVariadic) -> Control { Control::Continue }
588 fn visit_extern_block_member_static(&mut self, _: &mut ExternBlockMemberStatic) -> Control { Control::Continue }
589 fn visit_extern_block_member_type(&mut self, _: &mut ExternBlockMemberType) -> Control { Control::Continue }
590 fn visit_field_access(&mut self, _: &mut FieldAccess) -> Control { Control::Continue }
591 fn visit_field_name(&mut self, _: &mut FieldName) -> Control { Control::Continue }
592 fn visit_file(&mut self, _: &mut File) -> Control { Control::Continue }
593 fn visit_for_loop(&mut self, _: &mut ForLoop) -> Control { Control::Continue }
594 fn visit_function(&mut self, _: &mut Function) -> Control { Control::Continue }
595 fn visit_function_header(&mut self, _: &mut FunctionHeader) -> Control { Control::Continue }
596 fn visit_function_qualifiers(&mut self, _: &mut FunctionQualifiers) -> Control { Control::Continue }
597 fn visit_generic_declaration_const(&mut self, _: &mut GenericDeclarationConst) -> Control { Control::Continue }
598 fn visit_generic_declaration_lifetime(&mut self, _: &mut GenericDeclarationLifetime) -> Control { Control::Continue }
599 fn visit_generic_declaration_type(&mut self, _: &mut GenericDeclarationType) -> Control { Control::Continue }
600 fn visit_generic_declarations(&mut self, _: &mut GenericDeclarations) -> Control { Control::Continue }
601 fn visit_ident(&mut self, _: &mut Ident) -> Control { Control::Continue }
602 fn visit_if(&mut self, _: &mut If) -> Control { Control::Continue }
603 fn visit_if_let(&mut self, _: &mut IfLet) -> Control { Control::Continue }
604 fn visit_impl(&mut self, _: &mut Impl) -> Control { Control::Continue }
605 fn visit_impl_const(&mut self, _: &mut ImplConst) -> Control { Control::Continue }
606 fn visit_impl_function(&mut self, _: &mut ImplFunction) -> Control { Control::Continue }
607 fn visit_impl_kind(&mut self, _: &mut ImplKind) -> Control { Control::Continue }
608 fn visit_impl_member(&mut self, _: &mut ImplMember) -> Control { Control::Continue }
609 fn visit_impl_of_inherent(&mut self, _: &mut ImplOfInherent) -> Control { Control::Continue }
610 fn visit_impl_of_trait(&mut self, _: &mut ImplOfTrait) -> Control { Control::Continue }
611 fn visit_impl_of_trait_type(&mut self, _: &mut ImplOfTraitType) -> Control { Control::Continue }
612 fn visit_impl_type(&mut self, _: &mut ImplType) -> Control { Control::Continue }
613 fn visit_item(&mut self, _: &mut Item) -> Control { Control::Continue }
614 fn visit_let(&mut self, _: &mut Let) -> Control { Control::Continue }
615 fn visit_lifetime(&mut self, _: &mut Lifetime) -> Control { Control::Continue }
616 fn visit_loop(&mut self, _: &mut Loop) -> Control { Control::Continue }
617 fn visit_macro_call(&mut self, _: &mut MacroCall) -> Control { Control::Continue }
618 fn visit_macro_call_args(&mut self, _: &mut MacroCallArgs) -> Control { Control::Continue }
619 fn visit_match(&mut self, _: &mut Match) -> Control { Control::Continue }
620 fn visit_match_arm(&mut self, _: &mut MatchArm) -> Control { Control::Continue }
621 fn visit_match_hand(&mut self, _: &mut MatchHand) -> Control { Control::Continue }
622 fn visit_module(&mut self, _: &mut Module) -> Control { Control::Continue }
623 fn visit_named_argument(&mut self, _: &mut NamedArgument) -> Control { Control::Continue }
624 fn visit_number(&mut self, _: &mut Number) -> Control { Control::Continue }
625 fn visit_number_value(&mut self, _: &mut NumberValue) -> Control { Control::Continue }
626 fn visit_number_binary(&mut self, _: &mut NumberBinary) -> Control { Control::Continue }
627 fn visit_number_decimal(&mut self, _: &mut NumberDecimal) -> Control { Control::Continue }
628 fn visit_number_hexadecimal(&mut self, _: &mut NumberHexadecimal) -> Control { Control::Continue }
629 fn visit_number_octal(&mut self, _: &mut NumberOctal) -> Control { Control::Continue }
630 fn visit_parenthetical(&mut self, _: &mut Parenthetical) -> Control { Control::Continue }
631 fn visit_path(&mut self, _: &mut Path) -> Control { Control::Continue }
632 fn visit_path_component(&mut self, _: &mut PathComponent) -> Control { Control::Continue }
633 fn visit_pathed_ident(&mut self, _: &mut PathedIdent) -> Control { Control::Continue }
634 fn visit_pattern(&mut self, _: &mut Pattern) -> Control { Control::Continue }
635 fn visit_pattern_box(&mut self, _: &mut PatternBox) -> Control { Control::Continue }
636 fn visit_pattern_byte(&mut self, _: &mut PatternByte) -> Control { Control::Continue }
637 fn visit_pattern_byte_string(&mut self, _: &mut PatternByteString) -> Control { Control::Continue }
638 fn visit_pattern_character(&mut self, _: &mut PatternCharacter) -> Control { Control::Continue }
639 fn visit_pattern_ident(&mut self, _: &mut PatternIdent) -> Control { Control::Continue }
640 fn visit_pattern_kind(&mut self, _: &mut PatternKind) -> Control { Control::Continue }
641 fn visit_pattern_macro_call(&mut self, _: &mut PatternMacroCall) -> Control { Control::Continue }
642 fn visit_pattern_name(&mut self, _: &mut PatternName) -> Control { Control::Continue }
643 fn visit_pattern_number(&mut self, _: &mut PatternNumber) -> Control { Control::Continue }
644 fn visit_pattern_range_component(&mut self, _: &mut PatternRangeComponent) -> Control { Control::Continue }
645 fn visit_pattern_range_exclusive(&mut self, _: &mut PatternRangeExclusive) -> Control { Control::Continue }
646 fn visit_pattern_range_inclusive(&mut self, _: &mut PatternRangeInclusive) -> Control { Control::Continue }
647 fn visit_pattern_reference(&mut self, _: &mut PatternReference) -> Control { Control::Continue }
648 fn visit_pattern_slice(&mut self, _: &mut PatternSlice) -> Control { Control::Continue }
649 fn visit_pattern_slice_member(&mut self, _: &mut PatternSliceMember) -> Control { Control::Continue }
650 fn visit_pattern_slice_subslice(&mut self, _: &mut PatternSliceSubslice) -> Control { Control::Continue }
651 fn visit_pattern_string(&mut self, _: &mut PatternString) -> Control { Control::Continue }
652 fn visit_pattern_struct(&mut self, _: &mut PatternStruct) -> Control { Control::Continue }
653 fn visit_pattern_struct_field(&mut self, _: &mut PatternStructField) -> Control { Control::Continue }
654 fn visit_pattern_struct_field_long(&mut self, _: &mut PatternStructFieldLong) -> Control { Control::Continue }
655 fn visit_pattern_struct_field_short(&mut self, _: &mut PatternStructFieldShort) -> Control { Control::Continue }
656 fn visit_pattern_tuple(&mut self, _: &mut PatternTuple) -> Control { Control::Continue }
657 fn visit_pattern_tuple_member(&mut self, _: &mut PatternTupleMember) -> Control { Control::Continue }
658 fn visit_range(&mut self, _: &mut Range) -> Control { Control::Continue }
659 fn visit_range_inclusive(&mut self, _: &mut RangeInclusive) -> Control { Control::Continue }
660 fn visit_reference(&mut self, _: &mut Reference) -> Control { Control::Continue }
661 fn visit_return(&mut self, _: &mut Return) -> Control { Control::Continue }
662 fn visit_self_argument(&mut self, _: &mut SelfArgument) -> Control { Control::Continue }
663 fn visit_self_argument_longhand(&mut self, _: &mut SelfArgumentLonghand) -> Control { Control::Continue }
664 fn visit_self_argument_shorthand(&mut self, _: &mut SelfArgumentShorthand) -> Control { Control::Continue }
665 fn visit_self_argument_shorthand_qualifier(&mut self, _: &mut SelfArgumentShorthandQualifier) -> Control { Control::Continue }
666 fn visit_slice(&mut self, _: &mut Slice) -> Control { Control::Continue }
667 fn visit_statement(&mut self, _: &mut Statement) -> Control { Control::Continue }
668 fn visit_static(&mut self, _: &mut Static) -> Control { Control::Continue }
669 fn visit_string(&mut self, _: &mut String) -> Control { Control::Continue }
670 fn visit_struct(&mut self, _: &mut Struct) -> Control { Control::Continue }
671 fn visit_struct_definition_body(&mut self, _: &mut StructDefinitionBody) -> Control { Control::Continue }
672 fn visit_struct_definition_body_brace(&mut self, _: &mut StructDefinitionBodyBrace) -> Control { Control::Continue }
673 fn visit_struct_definition_body_tuple(&mut self, _: &mut StructDefinitionBodyTuple) -> Control { Control::Continue }
674 fn visit_struct_definition_field_named(&mut self, _: &mut StructDefinitionFieldNamed) -> Control { Control::Continue }
675 fn visit_struct_definition_field_unnamed(&mut self, _: &mut StructDefinitionFieldUnnamed) -> Control { Control::Continue }
676 fn visit_struct_literal(&mut self, _: &mut StructLiteral) -> Control { Control::Continue }
677 fn visit_struct_literal_field(&mut self, _: &mut StructLiteralField) -> Control { Control::Continue }
678 fn visit_trait(&mut self, _: &mut Trait) -> Control { Control::Continue }
679 fn visit_trait_bound(&mut self, _: &mut TraitBound) -> Control { Control::Continue }
680 fn visit_trait_bound_lifetime(&mut self, _: &mut TraitBoundLifetime) -> Control { Control::Continue }
681 fn visit_trait_bound_normal(&mut self, _: &mut TraitBoundNormal) -> Control { Control::Continue }
682 fn visit_trait_bound_relaxed(&mut self, _: &mut TraitBoundRelaxed) -> Control { Control::Continue }
683 fn visit_trait_bound_type(&mut self, _: &mut TraitBoundType) -> Control { Control::Continue }
684 fn visit_trait_bounds(&mut self, _: &mut TraitBounds) -> Control { Control::Continue }
685 fn visit_trait_impl_argument(&mut self, _: &mut TraitImplArgument) -> Control { Control::Continue }
686 fn visit_trait_impl_argument_named(&mut self, _: &mut TraitImplArgumentNamed) -> Control { Control::Continue }
687 fn visit_trait_impl_function_header(&mut self, _: &mut TraitImplFunctionHeader) -> Control { Control::Continue }
688 fn visit_trait_member(&mut self, _: &mut TraitMember) -> Control { Control::Continue }
689 fn visit_trait_member_const(&mut self, _: &mut TraitMemberConst) -> Control { Control::Continue }
690 fn visit_trait_member_function(&mut self, _: &mut TraitMemberFunction) -> Control { Control::Continue }
691 fn visit_trait_member_type(&mut self, _: &mut TraitMemberType) -> Control { Control::Continue }
692 fn visit_try_operator(&mut self, _: &mut TryOperator) -> Control { Control::Continue }
693 fn visit_tuple(&mut self, _: &mut Tuple) -> Control { Control::Continue }
694 fn visit_turbofish(&mut self, _: &mut Turbofish) -> Control { Control::Continue }
695 fn visit_type(&mut self, _: &mut Type) -> Control { Control::Continue }
696 fn visit_type_additional(&mut self, _: &mut TypeAdditional) -> Control { Control::Continue }
697 fn visit_type_alias(&mut self, _: &mut TypeAlias) -> Control { Control::Continue }
698 fn visit_type_array(&mut self, _: &mut TypeArray) -> Control { Control::Continue }
699 fn visit_type_disambiguation(&mut self, _: &mut TypeDisambiguation) -> Control { Control::Continue }
700 fn visit_type_dyn_trait(&mut self, _: &mut TypeDynTrait) -> Control { Control::Continue }
701 fn visit_type_function(&mut self, _: &mut TypeFunction) -> Control { Control::Continue }
702 fn visit_type_function_argument(&mut self, _: &mut TypeFunctionArgument) -> Control { Control::Continue }
703 fn visit_type_function_argument_named(&mut self, _: &mut TypeFunctionArgumentNamed) -> Control { Control::Continue }
704 fn visit_type_generics(&mut self, _: &mut TypeGenerics) -> Control { Control::Continue }
705 fn visit_type_generics_angle(&mut self, _: &mut TypeGenericsAngle) -> Control { Control::Continue }
706 fn visit_type_generics_angle_member(&mut self, _: &mut TypeGenericsAngleMember) -> Control { Control::Continue }
707 fn visit_type_generics_function(&mut self, _: &mut TypeGenericsFunction) -> Control { Control::Continue }
708 fn visit_type_higher_ranked_trait_bounds(&mut self, _: &mut TypeHigherRankedTraitBounds) -> Control { Control::Continue }
709 fn visit_type_higher_ranked_trait_bounds_child(&mut self, _: &mut TypeHigherRankedTraitBoundsChild) -> Control { Control::Continue }
710 fn visit_type_impl_trait(&mut self, _: &mut TypeImplTrait) -> Control { Control::Continue }
711 fn visit_type_kind(&mut self, _: &mut TypeKind) -> Control { Control::Continue }
712 fn visit_type_named(&mut self, _: &mut TypeNamed) -> Control { Control::Continue }
713 fn visit_type_named_component(&mut self, _: &mut TypeNamedComponent) -> Control { Control::Continue }
714 fn visit_type_pointer(&mut self, _: &mut TypePointer) -> Control { Control::Continue }
715 fn visit_type_reference(&mut self, _: &mut TypeReference) -> Control { Control::Continue }
716 fn visit_type_reference_kind(&mut self, _: &mut TypeReferenceKind) -> Control { Control::Continue }
717 fn visit_type_slice(&mut self, _: &mut TypeSlice) -> Control { Control::Continue }
718 fn visit_type_tuple(&mut self, _: &mut TypeTuple) -> Control { Control::Continue }
719 fn visit_unary(&mut self, _: &mut Unary) -> Control { Control::Continue }
720 fn visit_union(&mut self, _: &mut Union) -> Control { Control::Continue }
721 fn visit_unsafe_block(&mut self, _: &mut UnsafeBlock) -> Control { Control::Continue }
722 fn visit_use(&mut self, _: &mut Use) -> Control { Control::Continue }
723 fn visit_use_path(&mut self, _: &mut UsePath) -> Control { Control::Continue }
724 fn visit_use_tail(&mut self, _: &mut UseTail) -> Control { Control::Continue }
725 fn visit_use_tail_glob(&mut self, _: &mut UseTailGlob) -> Control { Control::Continue }
726 fn visit_use_tail_ident(&mut self, _: &mut UseTailIdent) -> Control { Control::Continue }
727 fn visit_use_tail_multi(&mut self, _: &mut UseTailMulti) -> Control { Control::Continue }
728 fn visit_value(&mut self, _: &mut Value) -> Control { Control::Continue }
729 fn visit_visibility(&mut self, _: &mut Visibility) -> Control { Control::Continue }
730 fn visit_visibility_public(&mut self, _: &mut VisibilityPublic) -> Control { Control::Continue }
731 fn visit_where(&mut self, _: &mut Where) -> Control { Control::Continue }
732 fn visit_where_kind(&mut self, _: &mut WhereKind) -> Control { Control::Continue }
733 fn visit_where_lifetime(&mut self, _: &mut WhereLifetime) -> Control { Control::Continue }
734 fn visit_where_type(&mut self, _: &mut WhereType) -> Control { Control::Continue }
735 fn visit_while(&mut self, _: &mut While) -> Control { Control::Continue }
736 fn visit_while_let(&mut self, _: &mut WhileLet) -> Control { Control::Continue }
737 fn visit_whitespace(&mut self, _: &mut Whitespace) -> Control { Control::Continue }
738
739 fn exit_argument(&mut self, _: &mut Argument) {}
740 fn exit_array(&mut self, _: &mut Array) {}
741 fn exit_array_explicit(&mut self, _: &mut ArrayExplicit) {}
742 fn exit_array_repeated(&mut self, _: &mut ArrayRepeated) {}
743 fn exit_as_type(&mut self, _: &mut AsType) {}
744 fn exit_ascription(&mut self, _: &mut Ascription) {}
745 fn exit_associated_type(&mut self, _: &mut AssociatedType) {}
746 fn exit_associated_type_value(&mut self, _: &mut AssociatedTypeValue) {}
747 fn exit_associated_type_value_equal(&mut self, _: &mut AssociatedTypeValueEqual) {}
748 fn exit_associated_type_value_bound(&mut self, _: &mut AssociatedTypeValueBound) {}
749 fn exit_async_block(&mut self, _: &mut AsyncBlock) {}
750 fn exit_attribute(&mut self, _: &mut Attribute) {}
751 fn exit_attribute_literal(&mut self, _: &mut AttributeLiteral) {}
752 fn exit_attribute_containing(&mut self, _: &mut AttributeContaining) {}
753 fn exit_attribute_containing_literal(&mut self, _: &mut AttributeContainingLiteral) {}
754 fn exit_attributed_enum_variant(&mut self, _: &mut Attributed<EnumVariant>) {}
755 fn exit_attributed_expression(&mut self, _: &mut Attributed<Expression>) {}
756 fn exit_attributed_extern_block_member(&mut self, _: &mut Attributed<ExternBlockMember>) {}
757 fn exit_attributed_generic_declaration_const(&mut self, _: &mut Attributed<GenericDeclarationConst>) {}
758 fn exit_attributed_generic_declaration_lifetime(&mut self, _: &mut Attributed<GenericDeclarationLifetime>) {}
759 fn exit_attributed_generic_declaration_type(&mut self, _: &mut Attributed<GenericDeclarationType>) {}
760 fn exit_attributed_impl_member(&mut self, _: &mut Attributed<ImplMember>) {}
761 fn exit_attributed_item(&mut self, _: &mut Attributed<Item>) {}
762 fn exit_attributed_struct_definition_field_named(&mut self, _: &mut Attributed<StructDefinitionFieldNamed>) {}
763 fn exit_attributed_struct_definition_field_unnamed(&mut self, _: &mut Attributed<StructDefinitionFieldUnnamed>) {}
764 fn exit_attributed_trait_member(&mut self, _: &mut Attributed<TraitMember>) {}
765 fn exit_binary(&mut self, _: &mut Binary) {}
766 fn exit_block(&mut self, _: &mut Block) {}
767 fn exit_break(&mut self, _: &mut Break) {}
768 fn exit_byte(&mut self, _: &mut Byte) {}
769 fn exit_byte_string(&mut self, _: &mut ByteString) {}
770 fn exit_call(&mut self, _: &mut Call) {}
771 fn exit_character(&mut self, _: &mut Character) {}
772 fn exit_closure(&mut self, _: &mut Closure) {}
773 fn exit_closure_arg(&mut self, _: &mut ClosureArg) {}
774 fn exit_comment(&mut self, _: &mut Comment) {}
775 fn exit_const(&mut self, _: &mut Const) {}
776 fn exit_continue(&mut self, _: &mut Continue) {}
777 fn exit_crate(&mut self, _: &mut Crate) {}
778 fn exit_dereference(&mut self, _: &mut Dereference) {}
779 fn exit_disambiguation(&mut self, _: &mut Disambiguation) {}
780 fn exit_enum(&mut self, _: &mut Enum) {}
781 fn exit_enum_variant(&mut self, _: &mut EnumVariant) {}
782 fn exit_enum_variant_body(&mut self, _: &mut EnumVariantBody) {}
783 fn exit_expression(&mut self, _: &mut Expression) {}
784 fn exit_expression_box(&mut self, _: &mut ExpressionBox) {}
785 fn exit_extern_block(&mut self, _: &mut ExternBlock) {}
786 fn exit_extern_block_member(&mut self, _: &mut ExternBlockMember) {}
787 fn exit_extern_block_member_function(&mut self, _: &mut ExternBlockMemberFunction) {}
788 fn exit_extern_block_member_function_argument(&mut self, _: &mut ExternBlockMemberFunctionArgument) {}
789 fn exit_extern_block_member_function_argument_named(&mut self, _: &mut ExternBlockMemberFunctionArgumentNamed) {}
790 fn exit_extern_block_member_function_argument_variadic(&mut self, _: &mut ExternBlockMemberFunctionArgumentVariadic) {}
791 fn exit_extern_block_member_static(&mut self, _: &mut ExternBlockMemberStatic) {}
792 fn exit_extern_block_member_type(&mut self, _: &mut ExternBlockMemberType) {}
793 fn exit_field_access(&mut self, _: &mut FieldAccess) {}
794 fn exit_field_name(&mut self, _: &mut FieldName) {}
795 fn exit_file(&mut self, _: &mut File) {}
796 fn exit_for_loop(&mut self, _: &mut ForLoop) {}
797 fn exit_function(&mut self, _: &mut Function) {}
798 fn exit_function_header(&mut self, _: &mut FunctionHeader) {}
799 fn exit_function_qualifiers(&mut self, _: &mut FunctionQualifiers) {}
800 fn exit_generic_declaration_const(&mut self, _: &mut GenericDeclarationConst) {}
801 fn exit_generic_declaration_lifetime(&mut self, _: &mut GenericDeclarationLifetime) {}
802 fn exit_generic_declaration_type(&mut self, _: &mut GenericDeclarationType) {}
803 fn exit_generic_declarations(&mut self, _: &mut GenericDeclarations) {}
804 fn exit_ident(&mut self, _: &mut Ident) {}
805 fn exit_if(&mut self, _: &mut If) {}
806 fn exit_if_let(&mut self, _: &mut IfLet) {}
807 fn exit_impl(&mut self, _: &mut Impl) {}
808 fn exit_impl_const(&mut self, _: &mut ImplConst) {}
809 fn exit_impl_function(&mut self, _: &mut ImplFunction) {}
810 fn exit_impl_kind(&mut self, _: &mut ImplKind) {}
811 fn exit_impl_member(&mut self, _: &mut ImplMember) {}
812 fn exit_impl_of_inherent(&mut self, _: &mut ImplOfInherent) {}
813 fn exit_impl_of_trait(&mut self, _: &mut ImplOfTrait) {}
814 fn exit_impl_of_trait_type(&mut self, _: &mut ImplOfTraitType) {}
815 fn exit_impl_type(&mut self, _: &mut ImplType) {}
816 fn exit_item(&mut self, _: &mut Item) {}
817 fn exit_let(&mut self, _: &mut Let) {}
818 fn exit_lifetime(&mut self, _: &mut Lifetime) {}
819 fn exit_loop(&mut self, _: &mut Loop) {}
820 fn exit_macro_call(&mut self, _: &mut MacroCall) {}
821 fn exit_macro_call_args(&mut self, _: &mut MacroCallArgs) {}
822 fn exit_match(&mut self, _: &mut Match) {}
823 fn exit_match_arm(&mut self, _: &mut MatchArm) {}
824 fn exit_match_hand(&mut self, _: &mut MatchHand) {}
825 fn exit_module(&mut self, _: &mut Module) {}
826 fn exit_named_argument(&mut self, _: &mut NamedArgument) {}
827 fn exit_number(&mut self, _: &mut Number) {}
828 fn exit_number_value(&mut self, _: &mut NumberValue) {}
829 fn exit_number_binary(&mut self, _: &mut NumberBinary) {}
830 fn exit_number_decimal(&mut self, _: &mut NumberDecimal) {}
831 fn exit_number_hexadecimal(&mut self, _: &mut NumberHexadecimal) {}
832 fn exit_number_octal(&mut self, _: &mut NumberOctal) {}
833 fn exit_parenthetical(&mut self, _: &mut Parenthetical) {}
834 fn exit_path(&mut self, _: &mut Path) {}
835 fn exit_path_component(&mut self, _: &mut PathComponent) {}
836 fn exit_pathed_ident(&mut self, _: &mut PathedIdent) {}
837 fn exit_pattern(&mut self, _: &mut Pattern) {}
838 fn exit_pattern_box(&mut self, _: &mut PatternBox) {}
839 fn exit_pattern_byte(&mut self, _: &mut PatternByte) {}
840 fn exit_pattern_byte_string(&mut self, _: &mut PatternByteString) {}
841 fn exit_pattern_character(&mut self, _: &mut PatternCharacter) {}
842 fn exit_pattern_ident(&mut self, _: &mut PatternIdent) {}
843 fn exit_pattern_kind(&mut self, _: &mut PatternKind) {}
844 fn exit_pattern_macro_call(&mut self, _: &mut PatternMacroCall) {}
845 fn exit_pattern_name(&mut self, _: &mut PatternName) {}
846 fn exit_pattern_number(&mut self, _: &mut PatternNumber) {}
847 fn exit_pattern_range_component(&mut self, _: &mut PatternRangeComponent) {}
848 fn exit_pattern_range_exclusive(&mut self, _: &mut PatternRangeExclusive) {}
849 fn exit_pattern_range_inclusive(&mut self, _: &mut PatternRangeInclusive) {}
850 fn exit_pattern_reference(&mut self, _: &mut PatternReference) {}
851 fn exit_pattern_slice(&mut self, _: &mut PatternSlice) {}
852 fn exit_pattern_slice_member(&mut self, _: &mut PatternSliceMember) {}
853 fn exit_pattern_slice_subslice(&mut self, _: &mut PatternSliceSubslice) {}
854 fn exit_pattern_string(&mut self, _: &mut PatternString) {}
855 fn exit_pattern_struct(&mut self, _: &mut PatternStruct) {}
856 fn exit_pattern_struct_field(&mut self, _: &mut PatternStructField) {}
857 fn exit_pattern_struct_field_long(&mut self, _: &mut PatternStructFieldLong) {}
858 fn exit_pattern_struct_field_short(&mut self, _: &mut PatternStructFieldShort) {}
859 fn exit_pattern_tuple(&mut self, _: &mut PatternTuple) {}
860 fn exit_pattern_tuple_member(&mut self, _: &mut PatternTupleMember) {}
861 fn exit_range(&mut self, _: &mut Range) {}
862 fn exit_range_inclusive(&mut self, _: &mut RangeInclusive) {}
863 fn exit_reference(&mut self, _: &mut Reference) {}
864 fn exit_return(&mut self, _: &mut Return) {}
865 fn exit_self_argument(&mut self, _: &mut SelfArgument) {}
866 fn exit_self_argument_longhand(&mut self, _: &mut SelfArgumentLonghand) {}
867 fn exit_self_argument_shorthand(&mut self, _: &mut SelfArgumentShorthand) {}
868 fn exit_self_argument_shorthand_qualifier(&mut self, _: &mut SelfArgumentShorthandQualifier) {}
869 fn exit_slice(&mut self, _: &mut Slice) {}
870 fn exit_statement(&mut self, _: &mut Statement) {}
871 fn exit_static(&mut self, _: &mut Static) {}
872 fn exit_string(&mut self, _: &mut String) {}
873 fn exit_struct(&mut self, _: &mut Struct) {}
874 fn exit_struct_definition_body(&mut self, _: &mut StructDefinitionBody) {}
875 fn exit_struct_definition_body_brace(&mut self, _: &mut StructDefinitionBodyBrace) {}
876 fn exit_struct_definition_body_tuple(&mut self, _: &mut StructDefinitionBodyTuple) {}
877 fn exit_struct_definition_field_named(&mut self, _: &mut StructDefinitionFieldNamed) {}
878 fn exit_struct_definition_field_unnamed(&mut self, _: &mut StructDefinitionFieldUnnamed) {}
879 fn exit_struct_literal(&mut self, _: &mut StructLiteral) {}
880 fn exit_struct_literal_field(&mut self, _: &mut StructLiteralField) {}
881 fn exit_trait(&mut self, _: &mut Trait) {}
882 fn exit_trait_bound(&mut self, _: &mut TraitBound) {}
883 fn exit_trait_bound_lifetime(&mut self, _: &mut TraitBoundLifetime) {}
884 fn exit_trait_bound_normal(&mut self, _: &mut TraitBoundNormal) {}
885 fn exit_trait_bound_relaxed(&mut self, _: &mut TraitBoundRelaxed) {}
886 fn exit_trait_bound_type(&mut self, _: &mut TraitBoundType) {}
887 fn exit_trait_bounds(&mut self, _: &mut TraitBounds) {}
888 fn exit_trait_impl_argument(&mut self, _: &mut TraitImplArgument) {}
889 fn exit_trait_impl_argument_named(&mut self, _: &mut TraitImplArgumentNamed) {}
890 fn exit_trait_impl_function_header(&mut self, _: &mut TraitImplFunctionHeader) {}
891 fn exit_trait_member(&mut self, _: &mut TraitMember) {}
892 fn exit_trait_member_const(&mut self, _: &mut TraitMemberConst) {}
893 fn exit_trait_member_function(&mut self, _: &mut TraitMemberFunction) {}
894 fn exit_trait_member_type(&mut self, _: &mut TraitMemberType) {}
895 fn exit_try_operator(&mut self, _: &mut TryOperator) {}
896 fn exit_tuple(&mut self, _: &mut Tuple) {}
897 fn exit_turbofish(&mut self, _: &mut Turbofish) {}
898 fn exit_type(&mut self, _: &mut Type) {}
899 fn exit_type_additional(&mut self, _: &mut TypeAdditional) {}
900 fn exit_type_alias(&mut self, _: &mut TypeAlias) {}
901 fn exit_type_array(&mut self, _: &mut TypeArray) {}
902 fn exit_type_disambiguation(&mut self, _: &mut TypeDisambiguation) {}
903 fn exit_type_dyn_trait(&mut self, _: &mut TypeDynTrait) {}
904 fn exit_type_function(&mut self, _: &mut TypeFunction) {}
905 fn exit_type_function_argument(&mut self, _: &mut TypeFunctionArgument) {}
906 fn exit_type_function_argument_named(&mut self, _: &mut TypeFunctionArgumentNamed) {}
907 fn exit_type_generics(&mut self, _: &mut TypeGenerics) {}
908 fn exit_type_generics_angle(&mut self, _: &mut TypeGenericsAngle) {}
909 fn exit_type_generics_angle_member(&mut self, _: &mut TypeGenericsAngleMember) {}
910 fn exit_type_generics_function(&mut self, _: &mut TypeGenericsFunction) {}
911 fn exit_type_higher_ranked_trait_bounds(&mut self, _: &mut TypeHigherRankedTraitBounds) {}
912 fn exit_type_higher_ranked_trait_bounds_child(&mut self, _: &mut TypeHigherRankedTraitBoundsChild) {}
913 fn exit_type_impl_trait(&mut self, _: &mut TypeImplTrait) {}
914 fn exit_type_kind(&mut self, _: &mut TypeKind) {}
915 fn exit_type_named(&mut self, _: &mut TypeNamed) {}
916 fn exit_type_named_component(&mut self, _: &mut TypeNamedComponent) {}
917 fn exit_type_pointer(&mut self, _: &mut TypePointer) {}
918 fn exit_type_reference(&mut self, _: &mut TypeReference) {}
919 fn exit_type_reference_kind(&mut self, _: &mut TypeReferenceKind) {}
920 fn exit_type_slice(&mut self, _: &mut TypeSlice) {}
921 fn exit_type_tuple(&mut self, _: &mut TypeTuple) {}
922 fn exit_unary(&mut self, _: &mut Unary) {}
923 fn exit_union(&mut self, _: &mut Union) {}
924 fn exit_unsafe_block(&mut self, _: &mut UnsafeBlock) {}
925 fn exit_use(&mut self, _: &mut Use) {}
926 fn exit_use_path(&mut self, _: &mut UsePath) {}
927 fn exit_use_tail(&mut self, _: &mut UseTail) {}
928 fn exit_use_tail_glob(&mut self, _: &mut UseTailGlob) {}
929 fn exit_use_tail_ident(&mut self, _: &mut UseTailIdent) {}
930 fn exit_use_tail_multi(&mut self, _: &mut UseTailMulti) {}
931 fn exit_value(&mut self, _: &mut Value) {}
932 fn exit_visibility(&mut self, _: &mut Visibility) {}
933 fn exit_visibility_public(&mut self, _: &mut VisibilityPublic) {}
934 fn exit_where(&mut self, _: &mut Where) {}
935 fn exit_where_kind(&mut self, _: &mut WhereKind) {}
936 fn exit_where_lifetime(&mut self, _: &mut WhereLifetime) {}
937 fn exit_where_type(&mut self, _: &mut WhereType) {}
938 fn exit_while(&mut self, _: &mut While) {}
939 fn exit_while_let(&mut self, _: &mut WhileLet) {}
940 fn exit_whitespace(&mut self, _: &mut Whitespace) {}
941}