standalone_syn/gen/
visit_mut.rs

1// THIS FILE IS AUTOMATICALLY GENERATED; DO NOT EDIT
2
3#![cfg_attr(rustfmt, rustfmt_skip)]
4
5#![cfg_attr(feature = "cargo-clippy", allow(match_same_arms))]
6
7use *;
8#[cfg(any(feature = "full", feature = "derive"))]
9use punctuated::Punctuated;
10use proc_macro2::Span;
11#[cfg(any(feature = "full", feature = "derive"))]
12use gen::helper::visit_mut::*;
13
14
15#[cfg(feature = "full")]
16macro_rules! full {
17    ($e:expr) => { $e }
18}
19
20#[cfg(all(feature = "derive", not(feature = "full")))]
21macro_rules! full {
22    ($e:expr) => { unreachable!() }
23}
24
25
26/// Syntax tree traversal to mutate an exclusive borrow of a syntax tree in
27/// place.
28///
29/// See the [module documentation] for details.
30///
31/// [module documentation]: index.html
32///
33/// *This trait is available if Syn is built with the `"visit-mut"` feature.*
34pub trait VisitMut {
35# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
36fn visit_abi_mut(&mut self, i: &mut Abi) { visit_abi_mut(self, i) }
37# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
38fn visit_angle_bracketed_generic_arguments_mut(&mut self, i: &mut AngleBracketedGenericArguments) { visit_angle_bracketed_generic_arguments_mut(self, i) }
39# [ cfg ( feature = "full" ) ]
40fn visit_arg_captured_mut(&mut self, i: &mut ArgCaptured) { visit_arg_captured_mut(self, i) }
41# [ cfg ( feature = "full" ) ]
42fn visit_arg_self_mut(&mut self, i: &mut ArgSelf) { visit_arg_self_mut(self, i) }
43# [ cfg ( feature = "full" ) ]
44fn visit_arg_self_ref_mut(&mut self, i: &mut ArgSelfRef) { visit_arg_self_ref_mut(self, i) }
45# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
46fn visit_arm_mut(&mut self, i: &mut Arm) { visit_arm_mut(self, i) }
47# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
48fn visit_attr_style_mut(&mut self, i: &mut AttrStyle) { visit_attr_style_mut(self, i) }
49# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
50fn visit_attribute_mut(&mut self, i: &mut Attribute) { visit_attribute_mut(self, i) }
51# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
52fn visit_bare_fn_arg_mut(&mut self, i: &mut BareFnArg) { visit_bare_fn_arg_mut(self, i) }
53# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
54fn visit_bare_fn_arg_name_mut(&mut self, i: &mut BareFnArgName) { visit_bare_fn_arg_name_mut(self, i) }
55# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
56fn visit_bin_op_mut(&mut self, i: &mut BinOp) { visit_bin_op_mut(self, i) }
57# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
58fn visit_binding_mut(&mut self, i: &mut Binding) { visit_binding_mut(self, i) }
59# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
60fn visit_block_mut(&mut self, i: &mut Block) { visit_block_mut(self, i) }
61# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
62fn visit_bound_lifetimes_mut(&mut self, i: &mut BoundLifetimes) { visit_bound_lifetimes_mut(self, i) }
63# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
64fn visit_const_param_mut(&mut self, i: &mut ConstParam) { visit_const_param_mut(self, i) }
65# [ cfg ( feature = "derive" ) ]
66fn visit_data_mut(&mut self, i: &mut Data) { visit_data_mut(self, i) }
67# [ cfg ( feature = "derive" ) ]
68fn visit_data_enum_mut(&mut self, i: &mut DataEnum) { visit_data_enum_mut(self, i) }
69# [ cfg ( feature = "derive" ) ]
70fn visit_data_struct_mut(&mut self, i: &mut DataStruct) { visit_data_struct_mut(self, i) }
71# [ cfg ( feature = "derive" ) ]
72fn visit_data_union_mut(&mut self, i: &mut DataUnion) { visit_data_union_mut(self, i) }
73# [ cfg ( feature = "derive" ) ]
74fn visit_derive_input_mut(&mut self, i: &mut DeriveInput) { visit_derive_input_mut(self, i) }
75# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
76fn visit_expr_mut(&mut self, i: &mut Expr) { visit_expr_mut(self, i) }
77# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
78fn visit_expr_addr_of_mut(&mut self, i: &mut ExprAddrOf) { visit_expr_addr_of_mut(self, i) }
79# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
80fn visit_expr_array_mut(&mut self, i: &mut ExprArray) { visit_expr_array_mut(self, i) }
81# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
82fn visit_expr_assign_mut(&mut self, i: &mut ExprAssign) { visit_expr_assign_mut(self, i) }
83# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
84fn visit_expr_assign_op_mut(&mut self, i: &mut ExprAssignOp) { visit_expr_assign_op_mut(self, i) }
85# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
86fn visit_expr_binary_mut(&mut self, i: &mut ExprBinary) { visit_expr_binary_mut(self, i) }
87# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
88fn visit_expr_block_mut(&mut self, i: &mut ExprBlock) { visit_expr_block_mut(self, i) }
89# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
90fn visit_expr_box_mut(&mut self, i: &mut ExprBox) { visit_expr_box_mut(self, i) }
91# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
92fn visit_expr_break_mut(&mut self, i: &mut ExprBreak) { visit_expr_break_mut(self, i) }
93# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
94fn visit_expr_call_mut(&mut self, i: &mut ExprCall) { visit_expr_call_mut(self, i) }
95# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
96fn visit_expr_cast_mut(&mut self, i: &mut ExprCast) { visit_expr_cast_mut(self, i) }
97# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
98fn visit_expr_catch_mut(&mut self, i: &mut ExprCatch) { visit_expr_catch_mut(self, i) }
99# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
100fn visit_expr_closure_mut(&mut self, i: &mut ExprClosure) { visit_expr_closure_mut(self, i) }
101# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
102fn visit_expr_continue_mut(&mut self, i: &mut ExprContinue) { visit_expr_continue_mut(self, i) }
103# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
104fn visit_expr_field_mut(&mut self, i: &mut ExprField) { visit_expr_field_mut(self, i) }
105# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
106fn visit_expr_for_loop_mut(&mut self, i: &mut ExprForLoop) { visit_expr_for_loop_mut(self, i) }
107# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
108fn visit_expr_group_mut(&mut self, i: &mut ExprGroup) { visit_expr_group_mut(self, i) }
109# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
110fn visit_expr_if_mut(&mut self, i: &mut ExprIf) { visit_expr_if_mut(self, i) }
111# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
112fn visit_expr_if_let_mut(&mut self, i: &mut ExprIfLet) { visit_expr_if_let_mut(self, i) }
113# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
114fn visit_expr_in_place_mut(&mut self, i: &mut ExprInPlace) { visit_expr_in_place_mut(self, i) }
115# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
116fn visit_expr_index_mut(&mut self, i: &mut ExprIndex) { visit_expr_index_mut(self, i) }
117# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
118fn visit_expr_lit_mut(&mut self, i: &mut ExprLit) { visit_expr_lit_mut(self, i) }
119# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
120fn visit_expr_loop_mut(&mut self, i: &mut ExprLoop) { visit_expr_loop_mut(self, i) }
121# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
122fn visit_expr_macro_mut(&mut self, i: &mut ExprMacro) { visit_expr_macro_mut(self, i) }
123# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
124fn visit_expr_match_mut(&mut self, i: &mut ExprMatch) { visit_expr_match_mut(self, i) }
125# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
126fn visit_expr_method_call_mut(&mut self, i: &mut ExprMethodCall) { visit_expr_method_call_mut(self, i) }
127# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
128fn visit_expr_paren_mut(&mut self, i: &mut ExprParen) { visit_expr_paren_mut(self, i) }
129# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
130fn visit_expr_path_mut(&mut self, i: &mut ExprPath) { visit_expr_path_mut(self, i) }
131# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
132fn visit_expr_range_mut(&mut self, i: &mut ExprRange) { visit_expr_range_mut(self, i) }
133# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
134fn visit_expr_repeat_mut(&mut self, i: &mut ExprRepeat) { visit_expr_repeat_mut(self, i) }
135# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
136fn visit_expr_return_mut(&mut self, i: &mut ExprReturn) { visit_expr_return_mut(self, i) }
137# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
138fn visit_expr_struct_mut(&mut self, i: &mut ExprStruct) { visit_expr_struct_mut(self, i) }
139# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
140fn visit_expr_try_mut(&mut self, i: &mut ExprTry) { visit_expr_try_mut(self, i) }
141# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
142fn visit_expr_tuple_mut(&mut self, i: &mut ExprTuple) { visit_expr_tuple_mut(self, i) }
143# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
144fn visit_expr_type_mut(&mut self, i: &mut ExprType) { visit_expr_type_mut(self, i) }
145# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
146fn visit_expr_unary_mut(&mut self, i: &mut ExprUnary) { visit_expr_unary_mut(self, i) }
147# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
148fn visit_expr_unsafe_mut(&mut self, i: &mut ExprUnsafe) { visit_expr_unsafe_mut(self, i) }
149# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
150fn visit_expr_verbatim_mut(&mut self, i: &mut ExprVerbatim) { visit_expr_verbatim_mut(self, i) }
151# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
152fn visit_expr_while_mut(&mut self, i: &mut ExprWhile) { visit_expr_while_mut(self, i) }
153# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
154fn visit_expr_while_let_mut(&mut self, i: &mut ExprWhileLet) { visit_expr_while_let_mut(self, i) }
155# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
156fn visit_expr_yield_mut(&mut self, i: &mut ExprYield) { visit_expr_yield_mut(self, i) }
157# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
158fn visit_field_mut(&mut self, i: &mut Field) { visit_field_mut(self, i) }
159# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
160fn visit_field_pat_mut(&mut self, i: &mut FieldPat) { visit_field_pat_mut(self, i) }
161# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
162fn visit_field_value_mut(&mut self, i: &mut FieldValue) { visit_field_value_mut(self, i) }
163# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
164fn visit_fields_mut(&mut self, i: &mut Fields) { visit_fields_mut(self, i) }
165# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
166fn visit_fields_named_mut(&mut self, i: &mut FieldsNamed) { visit_fields_named_mut(self, i) }
167# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
168fn visit_fields_unnamed_mut(&mut self, i: &mut FieldsUnnamed) { visit_fields_unnamed_mut(self, i) }
169# [ cfg ( feature = "full" ) ]
170fn visit_file_mut(&mut self, i: &mut File) { visit_file_mut(self, i) }
171# [ cfg ( feature = "full" ) ]
172fn visit_fn_arg_mut(&mut self, i: &mut FnArg) { visit_fn_arg_mut(self, i) }
173# [ cfg ( feature = "full" ) ]
174fn visit_fn_decl_mut(&mut self, i: &mut FnDecl) { visit_fn_decl_mut(self, i) }
175# [ cfg ( feature = "full" ) ]
176fn visit_foreign_item_mut(&mut self, i: &mut ForeignItem) { visit_foreign_item_mut(self, i) }
177# [ cfg ( feature = "full" ) ]
178fn visit_foreign_item_fn_mut(&mut self, i: &mut ForeignItemFn) { visit_foreign_item_fn_mut(self, i) }
179# [ cfg ( feature = "full" ) ]
180fn visit_foreign_item_static_mut(&mut self, i: &mut ForeignItemStatic) { visit_foreign_item_static_mut(self, i) }
181# [ cfg ( feature = "full" ) ]
182fn visit_foreign_item_type_mut(&mut self, i: &mut ForeignItemType) { visit_foreign_item_type_mut(self, i) }
183# [ cfg ( feature = "full" ) ]
184fn visit_foreign_item_verbatim_mut(&mut self, i: &mut ForeignItemVerbatim) { visit_foreign_item_verbatim_mut(self, i) }
185# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
186fn visit_generic_argument_mut(&mut self, i: &mut GenericArgument) { visit_generic_argument_mut(self, i) }
187# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
188fn visit_generic_method_argument_mut(&mut self, i: &mut GenericMethodArgument) { visit_generic_method_argument_mut(self, i) }
189# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
190fn visit_generic_param_mut(&mut self, i: &mut GenericParam) { visit_generic_param_mut(self, i) }
191# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
192fn visit_generics_mut(&mut self, i: &mut Generics) { visit_generics_mut(self, i) }
193
194fn visit_ident_mut(&mut self, i: &mut Ident) { visit_ident_mut(self, i) }
195# [ cfg ( feature = "full" ) ]
196fn visit_impl_item_mut(&mut self, i: &mut ImplItem) { visit_impl_item_mut(self, i) }
197# [ cfg ( feature = "full" ) ]
198fn visit_impl_item_const_mut(&mut self, i: &mut ImplItemConst) { visit_impl_item_const_mut(self, i) }
199# [ cfg ( feature = "full" ) ]
200fn visit_impl_item_macro_mut(&mut self, i: &mut ImplItemMacro) { visit_impl_item_macro_mut(self, i) }
201# [ cfg ( feature = "full" ) ]
202fn visit_impl_item_method_mut(&mut self, i: &mut ImplItemMethod) { visit_impl_item_method_mut(self, i) }
203# [ cfg ( feature = "full" ) ]
204fn visit_impl_item_type_mut(&mut self, i: &mut ImplItemType) { visit_impl_item_type_mut(self, i) }
205# [ cfg ( feature = "full" ) ]
206fn visit_impl_item_verbatim_mut(&mut self, i: &mut ImplItemVerbatim) { visit_impl_item_verbatim_mut(self, i) }
207# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
208fn visit_index_mut(&mut self, i: &mut Index) { visit_index_mut(self, i) }
209# [ cfg ( feature = "full" ) ]
210fn visit_item_mut(&mut self, i: &mut Item) { visit_item_mut(self, i) }
211# [ cfg ( feature = "full" ) ]
212fn visit_item_const_mut(&mut self, i: &mut ItemConst) { visit_item_const_mut(self, i) }
213# [ cfg ( feature = "full" ) ]
214fn visit_item_enum_mut(&mut self, i: &mut ItemEnum) { visit_item_enum_mut(self, i) }
215# [ cfg ( feature = "full" ) ]
216fn visit_item_extern_crate_mut(&mut self, i: &mut ItemExternCrate) { visit_item_extern_crate_mut(self, i) }
217# [ cfg ( feature = "full" ) ]
218fn visit_item_fn_mut(&mut self, i: &mut ItemFn) { visit_item_fn_mut(self, i) }
219# [ cfg ( feature = "full" ) ]
220fn visit_item_foreign_mod_mut(&mut self, i: &mut ItemForeignMod) { visit_item_foreign_mod_mut(self, i) }
221# [ cfg ( feature = "full" ) ]
222fn visit_item_impl_mut(&mut self, i: &mut ItemImpl) { visit_item_impl_mut(self, i) }
223# [ cfg ( feature = "full" ) ]
224fn visit_item_macro_mut(&mut self, i: &mut ItemMacro) { visit_item_macro_mut(self, i) }
225# [ cfg ( feature = "full" ) ]
226fn visit_item_macro2_mut(&mut self, i: &mut ItemMacro2) { visit_item_macro2_mut(self, i) }
227# [ cfg ( feature = "full" ) ]
228fn visit_item_mod_mut(&mut self, i: &mut ItemMod) { visit_item_mod_mut(self, i) }
229# [ cfg ( feature = "full" ) ]
230fn visit_item_static_mut(&mut self, i: &mut ItemStatic) { visit_item_static_mut(self, i) }
231# [ cfg ( feature = "full" ) ]
232fn visit_item_struct_mut(&mut self, i: &mut ItemStruct) { visit_item_struct_mut(self, i) }
233# [ cfg ( feature = "full" ) ]
234fn visit_item_trait_mut(&mut self, i: &mut ItemTrait) { visit_item_trait_mut(self, i) }
235# [ cfg ( feature = "full" ) ]
236fn visit_item_type_mut(&mut self, i: &mut ItemType) { visit_item_type_mut(self, i) }
237# [ cfg ( feature = "full" ) ]
238fn visit_item_union_mut(&mut self, i: &mut ItemUnion) { visit_item_union_mut(self, i) }
239# [ cfg ( feature = "full" ) ]
240fn visit_item_use_mut(&mut self, i: &mut ItemUse) { visit_item_use_mut(self, i) }
241# [ cfg ( feature = "full" ) ]
242fn visit_item_verbatim_mut(&mut self, i: &mut ItemVerbatim) { visit_item_verbatim_mut(self, i) }
243# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
244fn visit_label_mut(&mut self, i: &mut Label) { visit_label_mut(self, i) }
245# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
246fn visit_lifetime_mut(&mut self, i: &mut Lifetime) { visit_lifetime_mut(self, i) }
247# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
248fn visit_lifetime_def_mut(&mut self, i: &mut LifetimeDef) { visit_lifetime_def_mut(self, i) }
249# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
250fn visit_lit_mut(&mut self, i: &mut Lit) { visit_lit_mut(self, i) }
251# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
252fn visit_lit_bool_mut(&mut self, i: &mut LitBool) { visit_lit_bool_mut(self, i) }
253# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
254fn visit_lit_byte_mut(&mut self, i: &mut LitByte) { visit_lit_byte_mut(self, i) }
255# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
256fn visit_lit_byte_str_mut(&mut self, i: &mut LitByteStr) { visit_lit_byte_str_mut(self, i) }
257# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
258fn visit_lit_char_mut(&mut self, i: &mut LitChar) { visit_lit_char_mut(self, i) }
259# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
260fn visit_lit_float_mut(&mut self, i: &mut LitFloat) { visit_lit_float_mut(self, i) }
261# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
262fn visit_lit_int_mut(&mut self, i: &mut LitInt) { visit_lit_int_mut(self, i) }
263# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
264fn visit_lit_str_mut(&mut self, i: &mut LitStr) { visit_lit_str_mut(self, i) }
265# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
266fn visit_lit_verbatim_mut(&mut self, i: &mut LitVerbatim) { visit_lit_verbatim_mut(self, i) }
267# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
268fn visit_local_mut(&mut self, i: &mut Local) { visit_local_mut(self, i) }
269# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
270fn visit_macro_mut(&mut self, i: &mut Macro) { visit_macro_mut(self, i) }
271# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
272fn visit_macro_delimiter_mut(&mut self, i: &mut MacroDelimiter) { visit_macro_delimiter_mut(self, i) }
273# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
274fn visit_member_mut(&mut self, i: &mut Member) { visit_member_mut(self, i) }
275# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
276fn visit_meta_mut(&mut self, i: &mut Meta) { visit_meta_mut(self, i) }
277# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
278fn visit_meta_list_mut(&mut self, i: &mut MetaList) { visit_meta_list_mut(self, i) }
279# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
280fn visit_meta_name_value_mut(&mut self, i: &mut MetaNameValue) { visit_meta_name_value_mut(self, i) }
281# [ cfg ( feature = "full" ) ]
282fn visit_method_sig_mut(&mut self, i: &mut MethodSig) { visit_method_sig_mut(self, i) }
283# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
284fn visit_method_turbofish_mut(&mut self, i: &mut MethodTurbofish) { visit_method_turbofish_mut(self, i) }
285# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
286fn visit_nested_meta_mut(&mut self, i: &mut NestedMeta) { visit_nested_meta_mut(self, i) }
287# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
288fn visit_parenthesized_generic_arguments_mut(&mut self, i: &mut ParenthesizedGenericArguments) { visit_parenthesized_generic_arguments_mut(self, i) }
289# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
290fn visit_pat_mut(&mut self, i: &mut Pat) { visit_pat_mut(self, i) }
291# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
292fn visit_pat_box_mut(&mut self, i: &mut PatBox) { visit_pat_box_mut(self, i) }
293# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
294fn visit_pat_ident_mut(&mut self, i: &mut PatIdent) { visit_pat_ident_mut(self, i) }
295# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
296fn visit_pat_lit_mut(&mut self, i: &mut PatLit) { visit_pat_lit_mut(self, i) }
297# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
298fn visit_pat_macro_mut(&mut self, i: &mut PatMacro) { visit_pat_macro_mut(self, i) }
299# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
300fn visit_pat_path_mut(&mut self, i: &mut PatPath) { visit_pat_path_mut(self, i) }
301# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
302fn visit_pat_range_mut(&mut self, i: &mut PatRange) { visit_pat_range_mut(self, i) }
303# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
304fn visit_pat_ref_mut(&mut self, i: &mut PatRef) { visit_pat_ref_mut(self, i) }
305# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
306fn visit_pat_slice_mut(&mut self, i: &mut PatSlice) { visit_pat_slice_mut(self, i) }
307# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
308fn visit_pat_struct_mut(&mut self, i: &mut PatStruct) { visit_pat_struct_mut(self, i) }
309# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
310fn visit_pat_tuple_mut(&mut self, i: &mut PatTuple) { visit_pat_tuple_mut(self, i) }
311# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
312fn visit_pat_tuple_struct_mut(&mut self, i: &mut PatTupleStruct) { visit_pat_tuple_struct_mut(self, i) }
313# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
314fn visit_pat_verbatim_mut(&mut self, i: &mut PatVerbatim) { visit_pat_verbatim_mut(self, i) }
315# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
316fn visit_pat_wild_mut(&mut self, i: &mut PatWild) { visit_pat_wild_mut(self, i) }
317# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
318fn visit_path_mut(&mut self, i: &mut Path) { visit_path_mut(self, i) }
319# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
320fn visit_path_arguments_mut(&mut self, i: &mut PathArguments) { visit_path_arguments_mut(self, i) }
321# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
322fn visit_path_segment_mut(&mut self, i: &mut PathSegment) { visit_path_segment_mut(self, i) }
323# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
324fn visit_predicate_eq_mut(&mut self, i: &mut PredicateEq) { visit_predicate_eq_mut(self, i) }
325# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
326fn visit_predicate_lifetime_mut(&mut self, i: &mut PredicateLifetime) { visit_predicate_lifetime_mut(self, i) }
327# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
328fn visit_predicate_type_mut(&mut self, i: &mut PredicateType) { visit_predicate_type_mut(self, i) }
329# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
330fn visit_qself_mut(&mut self, i: &mut QSelf) { visit_qself_mut(self, i) }
331# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
332fn visit_range_limits_mut(&mut self, i: &mut RangeLimits) { visit_range_limits_mut(self, i) }
333# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
334fn visit_return_type_mut(&mut self, i: &mut ReturnType) { visit_return_type_mut(self, i) }
335
336fn visit_span_mut(&mut self, i: &mut Span) { visit_span_mut(self, i) }
337# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
338fn visit_stmt_mut(&mut self, i: &mut Stmt) { visit_stmt_mut(self, i) }
339# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
340fn visit_trait_bound_mut(&mut self, i: &mut TraitBound) { visit_trait_bound_mut(self, i) }
341# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
342fn visit_trait_bound_modifier_mut(&mut self, i: &mut TraitBoundModifier) { visit_trait_bound_modifier_mut(self, i) }
343# [ cfg ( feature = "full" ) ]
344fn visit_trait_item_mut(&mut self, i: &mut TraitItem) { visit_trait_item_mut(self, i) }
345# [ cfg ( feature = "full" ) ]
346fn visit_trait_item_const_mut(&mut self, i: &mut TraitItemConst) { visit_trait_item_const_mut(self, i) }
347# [ cfg ( feature = "full" ) ]
348fn visit_trait_item_macro_mut(&mut self, i: &mut TraitItemMacro) { visit_trait_item_macro_mut(self, i) }
349# [ cfg ( feature = "full" ) ]
350fn visit_trait_item_method_mut(&mut self, i: &mut TraitItemMethod) { visit_trait_item_method_mut(self, i) }
351# [ cfg ( feature = "full" ) ]
352fn visit_trait_item_type_mut(&mut self, i: &mut TraitItemType) { visit_trait_item_type_mut(self, i) }
353# [ cfg ( feature = "full" ) ]
354fn visit_trait_item_verbatim_mut(&mut self, i: &mut TraitItemVerbatim) { visit_trait_item_verbatim_mut(self, i) }
355# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
356fn visit_type_mut(&mut self, i: &mut Type) { visit_type_mut(self, i) }
357# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
358fn visit_type_array_mut(&mut self, i: &mut TypeArray) { visit_type_array_mut(self, i) }
359# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
360fn visit_type_bare_fn_mut(&mut self, i: &mut TypeBareFn) { visit_type_bare_fn_mut(self, i) }
361# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
362fn visit_type_group_mut(&mut self, i: &mut TypeGroup) { visit_type_group_mut(self, i) }
363# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
364fn visit_type_impl_trait_mut(&mut self, i: &mut TypeImplTrait) { visit_type_impl_trait_mut(self, i) }
365# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
366fn visit_type_infer_mut(&mut self, i: &mut TypeInfer) { visit_type_infer_mut(self, i) }
367# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
368fn visit_type_macro_mut(&mut self, i: &mut TypeMacro) { visit_type_macro_mut(self, i) }
369# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
370fn visit_type_never_mut(&mut self, i: &mut TypeNever) { visit_type_never_mut(self, i) }
371# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
372fn visit_type_param_mut(&mut self, i: &mut TypeParam) { visit_type_param_mut(self, i) }
373# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
374fn visit_type_param_bound_mut(&mut self, i: &mut TypeParamBound) { visit_type_param_bound_mut(self, i) }
375# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
376fn visit_type_paren_mut(&mut self, i: &mut TypeParen) { visit_type_paren_mut(self, i) }
377# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
378fn visit_type_path_mut(&mut self, i: &mut TypePath) { visit_type_path_mut(self, i) }
379# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
380fn visit_type_ptr_mut(&mut self, i: &mut TypePtr) { visit_type_ptr_mut(self, i) }
381# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
382fn visit_type_reference_mut(&mut self, i: &mut TypeReference) { visit_type_reference_mut(self, i) }
383# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
384fn visit_type_slice_mut(&mut self, i: &mut TypeSlice) { visit_type_slice_mut(self, i) }
385# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
386fn visit_type_trait_object_mut(&mut self, i: &mut TypeTraitObject) { visit_type_trait_object_mut(self, i) }
387# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
388fn visit_type_tuple_mut(&mut self, i: &mut TypeTuple) { visit_type_tuple_mut(self, i) }
389# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
390fn visit_type_verbatim_mut(&mut self, i: &mut TypeVerbatim) { visit_type_verbatim_mut(self, i) }
391# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
392fn visit_un_op_mut(&mut self, i: &mut UnOp) { visit_un_op_mut(self, i) }
393# [ cfg ( feature = "full" ) ]
394fn visit_use_glob_mut(&mut self, i: &mut UseGlob) { visit_use_glob_mut(self, i) }
395# [ cfg ( feature = "full" ) ]
396fn visit_use_list_mut(&mut self, i: &mut UseList) { visit_use_list_mut(self, i) }
397# [ cfg ( feature = "full" ) ]
398fn visit_use_path_mut(&mut self, i: &mut UsePath) { visit_use_path_mut(self, i) }
399# [ cfg ( feature = "full" ) ]
400fn visit_use_tree_mut(&mut self, i: &mut UseTree) { visit_use_tree_mut(self, i) }
401# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
402fn visit_variant_mut(&mut self, i: &mut Variant) { visit_variant_mut(self, i) }
403# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
404fn visit_vis_crate_mut(&mut self, i: &mut VisCrate) { visit_vis_crate_mut(self, i) }
405# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
406fn visit_vis_public_mut(&mut self, i: &mut VisPublic) { visit_vis_public_mut(self, i) }
407# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
408fn visit_vis_restricted_mut(&mut self, i: &mut VisRestricted) { visit_vis_restricted_mut(self, i) }
409# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
410fn visit_visibility_mut(&mut self, i: &mut Visibility) { visit_visibility_mut(self, i) }
411# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
412fn visit_where_clause_mut(&mut self, i: &mut WhereClause) { visit_where_clause_mut(self, i) }
413# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
414fn visit_where_predicate_mut(&mut self, i: &mut WherePredicate) { visit_where_predicate_mut(self, i) }
415
416}
417
418# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
419pub fn visit_abi_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Abi) {
420    tokens_helper(_visitor, &mut (& mut _i . extern_token).0);
421    if let Some(ref mut it) = _i . name { _visitor.visit_lit_str_mut(it) };
422}
423# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
424pub fn visit_angle_bracketed_generic_arguments_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut AngleBracketedGenericArguments) {
425    if let Some(ref mut it) = _i . colon2_token { tokens_helper(_visitor, &mut (it).0) };
426    tokens_helper(_visitor, &mut (& mut _i . lt_token).0);
427    for mut el in Punctuated::pairs_mut(& mut _i . args) { let it = el.value_mut(); _visitor.visit_generic_argument_mut(it) };
428    tokens_helper(_visitor, &mut (& mut _i . gt_token).0);
429}
430# [ cfg ( feature = "full" ) ]
431pub fn visit_arg_captured_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ArgCaptured) {
432    _visitor.visit_pat_mut(& mut _i . pat);
433    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
434    _visitor.visit_type_mut(& mut _i . ty);
435}
436# [ cfg ( feature = "full" ) ]
437pub fn visit_arg_self_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ArgSelf) {
438    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
439    tokens_helper(_visitor, &mut (& mut _i . self_token).0);
440}
441# [ cfg ( feature = "full" ) ]
442pub fn visit_arg_self_ref_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ArgSelfRef) {
443    tokens_helper(_visitor, &mut (& mut _i . and_token).0);
444    if let Some(ref mut it) = _i . lifetime { _visitor.visit_lifetime_mut(it) };
445    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
446    tokens_helper(_visitor, &mut (& mut _i . self_token).0);
447}
448# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
449pub fn visit_arm_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Arm) {
450    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
451    for mut el in Punctuated::pairs_mut(& mut _i . pats) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
452    if let Some(ref mut it) = _i . guard { 
453            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
454            _visitor.visit_expr_mut(& mut * ( it ) . 1);
455         };
456    tokens_helper(_visitor, &mut (& mut _i . rocket_token).0);
457    _visitor.visit_expr_mut(& mut * _i . body);
458    if let Some(ref mut it) = _i . comma { tokens_helper(_visitor, &mut (it).0) };
459}
460# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
461pub fn visit_attr_style_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut AttrStyle) {
462    match *_i {
463        AttrStyle::Outer => { }
464        AttrStyle::Inner(ref mut _binding_0, ) => {
465            tokens_helper(_visitor, &mut (_binding_0).0);
466        }
467    }
468}
469# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
470pub fn visit_attribute_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Attribute) {
471    tokens_helper(_visitor, &mut (& mut _i . pound_token).0);
472    _visitor.visit_attr_style_mut(& mut _i . style);
473    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
474    _visitor.visit_path_mut(& mut _i . path);
475    // Skipped field _i . tts;
476    // Skipped field _i . is_sugared_doc;
477}
478# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
479pub fn visit_bare_fn_arg_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut BareFnArg) {
480    if let Some(ref mut it) = _i . name { 
481            _visitor.visit_bare_fn_arg_name_mut(& mut ( it ) . 0);
482            tokens_helper(_visitor, &mut (& mut ( it ) . 1).0);
483         };
484    _visitor.visit_type_mut(& mut _i . ty);
485}
486# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
487pub fn visit_bare_fn_arg_name_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut BareFnArgName) {
488    match *_i {
489        BareFnArgName::Named(ref mut _binding_0, ) => {
490            _visitor.visit_ident_mut(_binding_0);
491        }
492        BareFnArgName::Wild(ref mut _binding_0, ) => {
493            tokens_helper(_visitor, &mut (_binding_0).0);
494        }
495    }
496}
497# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
498pub fn visit_bin_op_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut BinOp) {
499    match *_i {
500        BinOp::Add(ref mut _binding_0, ) => {
501            tokens_helper(_visitor, &mut (_binding_0).0);
502        }
503        BinOp::Sub(ref mut _binding_0, ) => {
504            tokens_helper(_visitor, &mut (_binding_0).0);
505        }
506        BinOp::Mul(ref mut _binding_0, ) => {
507            tokens_helper(_visitor, &mut (_binding_0).0);
508        }
509        BinOp::Div(ref mut _binding_0, ) => {
510            tokens_helper(_visitor, &mut (_binding_0).0);
511        }
512        BinOp::Rem(ref mut _binding_0, ) => {
513            tokens_helper(_visitor, &mut (_binding_0).0);
514        }
515        BinOp::And(ref mut _binding_0, ) => {
516            tokens_helper(_visitor, &mut (_binding_0).0);
517        }
518        BinOp::Or(ref mut _binding_0, ) => {
519            tokens_helper(_visitor, &mut (_binding_0).0);
520        }
521        BinOp::BitXor(ref mut _binding_0, ) => {
522            tokens_helper(_visitor, &mut (_binding_0).0);
523        }
524        BinOp::BitAnd(ref mut _binding_0, ) => {
525            tokens_helper(_visitor, &mut (_binding_0).0);
526        }
527        BinOp::BitOr(ref mut _binding_0, ) => {
528            tokens_helper(_visitor, &mut (_binding_0).0);
529        }
530        BinOp::Shl(ref mut _binding_0, ) => {
531            tokens_helper(_visitor, &mut (_binding_0).0);
532        }
533        BinOp::Shr(ref mut _binding_0, ) => {
534            tokens_helper(_visitor, &mut (_binding_0).0);
535        }
536        BinOp::Eq(ref mut _binding_0, ) => {
537            tokens_helper(_visitor, &mut (_binding_0).0);
538        }
539        BinOp::Lt(ref mut _binding_0, ) => {
540            tokens_helper(_visitor, &mut (_binding_0).0);
541        }
542        BinOp::Le(ref mut _binding_0, ) => {
543            tokens_helper(_visitor, &mut (_binding_0).0);
544        }
545        BinOp::Ne(ref mut _binding_0, ) => {
546            tokens_helper(_visitor, &mut (_binding_0).0);
547        }
548        BinOp::Ge(ref mut _binding_0, ) => {
549            tokens_helper(_visitor, &mut (_binding_0).0);
550        }
551        BinOp::Gt(ref mut _binding_0, ) => {
552            tokens_helper(_visitor, &mut (_binding_0).0);
553        }
554        BinOp::AddEq(ref mut _binding_0, ) => {
555            tokens_helper(_visitor, &mut (_binding_0).0);
556        }
557        BinOp::SubEq(ref mut _binding_0, ) => {
558            tokens_helper(_visitor, &mut (_binding_0).0);
559        }
560        BinOp::MulEq(ref mut _binding_0, ) => {
561            tokens_helper(_visitor, &mut (_binding_0).0);
562        }
563        BinOp::DivEq(ref mut _binding_0, ) => {
564            tokens_helper(_visitor, &mut (_binding_0).0);
565        }
566        BinOp::RemEq(ref mut _binding_0, ) => {
567            tokens_helper(_visitor, &mut (_binding_0).0);
568        }
569        BinOp::BitXorEq(ref mut _binding_0, ) => {
570            tokens_helper(_visitor, &mut (_binding_0).0);
571        }
572        BinOp::BitAndEq(ref mut _binding_0, ) => {
573            tokens_helper(_visitor, &mut (_binding_0).0);
574        }
575        BinOp::BitOrEq(ref mut _binding_0, ) => {
576            tokens_helper(_visitor, &mut (_binding_0).0);
577        }
578        BinOp::ShlEq(ref mut _binding_0, ) => {
579            tokens_helper(_visitor, &mut (_binding_0).0);
580        }
581        BinOp::ShrEq(ref mut _binding_0, ) => {
582            tokens_helper(_visitor, &mut (_binding_0).0);
583        }
584    }
585}
586# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
587pub fn visit_binding_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Binding) {
588    _visitor.visit_ident_mut(& mut _i . ident);
589    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
590    _visitor.visit_type_mut(& mut _i . ty);
591}
592# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
593pub fn visit_block_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Block) {
594    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
595    for it in & mut _i . stmts { _visitor.visit_stmt_mut(it) };
596}
597# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
598pub fn visit_bound_lifetimes_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut BoundLifetimes) {
599    tokens_helper(_visitor, &mut (& mut _i . for_token).0);
600    tokens_helper(_visitor, &mut (& mut _i . lt_token).0);
601    for mut el in Punctuated::pairs_mut(& mut _i . lifetimes) { let it = el.value_mut(); _visitor.visit_lifetime_def_mut(it) };
602    tokens_helper(_visitor, &mut (& mut _i . gt_token).0);
603}
604# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
605pub fn visit_const_param_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ConstParam) {
606    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
607    tokens_helper(_visitor, &mut (& mut _i . const_token).0);
608    _visitor.visit_ident_mut(& mut _i . ident);
609    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
610    _visitor.visit_type_mut(& mut _i . ty);
611    if let Some(ref mut it) = _i . eq_token { tokens_helper(_visitor, &mut (it).0) };
612    if let Some(ref mut it) = _i . default { _visitor.visit_expr_mut(it) };
613}
614# [ cfg ( feature = "derive" ) ]
615pub fn visit_data_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Data) {
616    match *_i {
617        Data::Struct(ref mut _binding_0, ) => {
618            _visitor.visit_data_struct_mut(_binding_0);
619        }
620        Data::Enum(ref mut _binding_0, ) => {
621            _visitor.visit_data_enum_mut(_binding_0);
622        }
623        Data::Union(ref mut _binding_0, ) => {
624            _visitor.visit_data_union_mut(_binding_0);
625        }
626    }
627}
628# [ cfg ( feature = "derive" ) ]
629pub fn visit_data_enum_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut DataEnum) {
630    tokens_helper(_visitor, &mut (& mut _i . enum_token).0);
631    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
632    for mut el in Punctuated::pairs_mut(& mut _i . variants) { let it = el.value_mut(); _visitor.visit_variant_mut(it) };
633}
634# [ cfg ( feature = "derive" ) ]
635pub fn visit_data_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut DataStruct) {
636    tokens_helper(_visitor, &mut (& mut _i . struct_token).0);
637    _visitor.visit_fields_mut(& mut _i . fields);
638    if let Some(ref mut it) = _i . semi_token { tokens_helper(_visitor, &mut (it).0) };
639}
640# [ cfg ( feature = "derive" ) ]
641pub fn visit_data_union_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut DataUnion) {
642    tokens_helper(_visitor, &mut (& mut _i . union_token).0);
643    _visitor.visit_fields_named_mut(& mut _i . fields);
644}
645# [ cfg ( feature = "derive" ) ]
646pub fn visit_derive_input_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut DeriveInput) {
647    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
648    _visitor.visit_visibility_mut(& mut _i . vis);
649    _visitor.visit_ident_mut(& mut _i . ident);
650    _visitor.visit_generics_mut(& mut _i . generics);
651    _visitor.visit_data_mut(& mut _i . data);
652}
653# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
654pub fn visit_expr_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Expr) {
655    match *_i {
656        Expr::Box(ref mut _binding_0, ) => {
657            full!(_visitor.visit_expr_box_mut(_binding_0));
658        }
659        Expr::InPlace(ref mut _binding_0, ) => {
660            full!(_visitor.visit_expr_in_place_mut(_binding_0));
661        }
662        Expr::Array(ref mut _binding_0, ) => {
663            full!(_visitor.visit_expr_array_mut(_binding_0));
664        }
665        Expr::Call(ref mut _binding_0, ) => {
666            _visitor.visit_expr_call_mut(_binding_0);
667        }
668        Expr::MethodCall(ref mut _binding_0, ) => {
669            full!(_visitor.visit_expr_method_call_mut(_binding_0));
670        }
671        Expr::Tuple(ref mut _binding_0, ) => {
672            full!(_visitor.visit_expr_tuple_mut(_binding_0));
673        }
674        Expr::Binary(ref mut _binding_0, ) => {
675            _visitor.visit_expr_binary_mut(_binding_0);
676        }
677        Expr::Unary(ref mut _binding_0, ) => {
678            _visitor.visit_expr_unary_mut(_binding_0);
679        }
680        Expr::Lit(ref mut _binding_0, ) => {
681            _visitor.visit_expr_lit_mut(_binding_0);
682        }
683        Expr::Cast(ref mut _binding_0, ) => {
684            _visitor.visit_expr_cast_mut(_binding_0);
685        }
686        Expr::Type(ref mut _binding_0, ) => {
687            full!(_visitor.visit_expr_type_mut(_binding_0));
688        }
689        Expr::If(ref mut _binding_0, ) => {
690            full!(_visitor.visit_expr_if_mut(_binding_0));
691        }
692        Expr::IfLet(ref mut _binding_0, ) => {
693            full!(_visitor.visit_expr_if_let_mut(_binding_0));
694        }
695        Expr::While(ref mut _binding_0, ) => {
696            full!(_visitor.visit_expr_while_mut(_binding_0));
697        }
698        Expr::WhileLet(ref mut _binding_0, ) => {
699            full!(_visitor.visit_expr_while_let_mut(_binding_0));
700        }
701        Expr::ForLoop(ref mut _binding_0, ) => {
702            full!(_visitor.visit_expr_for_loop_mut(_binding_0));
703        }
704        Expr::Loop(ref mut _binding_0, ) => {
705            full!(_visitor.visit_expr_loop_mut(_binding_0));
706        }
707        Expr::Match(ref mut _binding_0, ) => {
708            full!(_visitor.visit_expr_match_mut(_binding_0));
709        }
710        Expr::Closure(ref mut _binding_0, ) => {
711            full!(_visitor.visit_expr_closure_mut(_binding_0));
712        }
713        Expr::Unsafe(ref mut _binding_0, ) => {
714            full!(_visitor.visit_expr_unsafe_mut(_binding_0));
715        }
716        Expr::Block(ref mut _binding_0, ) => {
717            full!(_visitor.visit_expr_block_mut(_binding_0));
718        }
719        Expr::Assign(ref mut _binding_0, ) => {
720            full!(_visitor.visit_expr_assign_mut(_binding_0));
721        }
722        Expr::AssignOp(ref mut _binding_0, ) => {
723            full!(_visitor.visit_expr_assign_op_mut(_binding_0));
724        }
725        Expr::Field(ref mut _binding_0, ) => {
726            full!(_visitor.visit_expr_field_mut(_binding_0));
727        }
728        Expr::Index(ref mut _binding_0, ) => {
729            _visitor.visit_expr_index_mut(_binding_0);
730        }
731        Expr::Range(ref mut _binding_0, ) => {
732            full!(_visitor.visit_expr_range_mut(_binding_0));
733        }
734        Expr::Path(ref mut _binding_0, ) => {
735            _visitor.visit_expr_path_mut(_binding_0);
736        }
737        Expr::AddrOf(ref mut _binding_0, ) => {
738            full!(_visitor.visit_expr_addr_of_mut(_binding_0));
739        }
740        Expr::Break(ref mut _binding_0, ) => {
741            full!(_visitor.visit_expr_break_mut(_binding_0));
742        }
743        Expr::Continue(ref mut _binding_0, ) => {
744            full!(_visitor.visit_expr_continue_mut(_binding_0));
745        }
746        Expr::Return(ref mut _binding_0, ) => {
747            full!(_visitor.visit_expr_return_mut(_binding_0));
748        }
749        Expr::Macro(ref mut _binding_0, ) => {
750            full!(_visitor.visit_expr_macro_mut(_binding_0));
751        }
752        Expr::Struct(ref mut _binding_0, ) => {
753            full!(_visitor.visit_expr_struct_mut(_binding_0));
754        }
755        Expr::Repeat(ref mut _binding_0, ) => {
756            full!(_visitor.visit_expr_repeat_mut(_binding_0));
757        }
758        Expr::Paren(ref mut _binding_0, ) => {
759            _visitor.visit_expr_paren_mut(_binding_0);
760        }
761        Expr::Group(ref mut _binding_0, ) => {
762            full!(_visitor.visit_expr_group_mut(_binding_0));
763        }
764        Expr::Try(ref mut _binding_0, ) => {
765            full!(_visitor.visit_expr_try_mut(_binding_0));
766        }
767        Expr::Catch(ref mut _binding_0, ) => {
768            full!(_visitor.visit_expr_catch_mut(_binding_0));
769        }
770        Expr::Yield(ref mut _binding_0, ) => {
771            full!(_visitor.visit_expr_yield_mut(_binding_0));
772        }
773        Expr::Verbatim(ref mut _binding_0, ) => {
774            _visitor.visit_expr_verbatim_mut(_binding_0);
775        }
776    }
777}
778# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
779pub fn visit_expr_addr_of_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprAddrOf) {
780    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
781    tokens_helper(_visitor, &mut (& mut _i . and_token).0);
782    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
783    _visitor.visit_expr_mut(& mut * _i . expr);
784}
785# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
786pub fn visit_expr_array_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprArray) {
787    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
788    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
789    for mut el in Punctuated::pairs_mut(& mut _i . elems) { let it = el.value_mut(); _visitor.visit_expr_mut(it) };
790}
791# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
792pub fn visit_expr_assign_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprAssign) {
793    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
794    _visitor.visit_expr_mut(& mut * _i . left);
795    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
796    _visitor.visit_expr_mut(& mut * _i . right);
797}
798# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
799pub fn visit_expr_assign_op_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprAssignOp) {
800    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
801    _visitor.visit_expr_mut(& mut * _i . left);
802    _visitor.visit_bin_op_mut(& mut _i . op);
803    _visitor.visit_expr_mut(& mut * _i . right);
804}
805# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
806pub fn visit_expr_binary_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprBinary) {
807    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
808    _visitor.visit_expr_mut(& mut * _i . left);
809    _visitor.visit_bin_op_mut(& mut _i . op);
810    _visitor.visit_expr_mut(& mut * _i . right);
811}
812# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
813pub fn visit_expr_block_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprBlock) {
814    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
815    _visitor.visit_block_mut(& mut _i . block);
816}
817# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
818pub fn visit_expr_box_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprBox) {
819    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
820    tokens_helper(_visitor, &mut (& mut _i . box_token).0);
821    _visitor.visit_expr_mut(& mut * _i . expr);
822}
823# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
824pub fn visit_expr_break_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprBreak) {
825    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
826    tokens_helper(_visitor, &mut (& mut _i . break_token).0);
827    if let Some(ref mut it) = _i . label { _visitor.visit_lifetime_mut(it) };
828    if let Some(ref mut it) = _i . expr { _visitor.visit_expr_mut(& mut * * it) };
829}
830# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
831pub fn visit_expr_call_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprCall) {
832    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
833    _visitor.visit_expr_mut(& mut * _i . func);
834    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
835    for mut el in Punctuated::pairs_mut(& mut _i . args) { let it = el.value_mut(); _visitor.visit_expr_mut(it) };
836}
837# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
838pub fn visit_expr_cast_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprCast) {
839    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
840    _visitor.visit_expr_mut(& mut * _i . expr);
841    tokens_helper(_visitor, &mut (& mut _i . as_token).0);
842    _visitor.visit_type_mut(& mut * _i . ty);
843}
844# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
845pub fn visit_expr_catch_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprCatch) {
846    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
847    tokens_helper(_visitor, &mut (& mut _i . do_token).0);
848    tokens_helper(_visitor, &mut (& mut _i . catch_token).0);
849    _visitor.visit_block_mut(& mut _i . block);
850}
851# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
852pub fn visit_expr_closure_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprClosure) {
853    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
854    if let Some(ref mut it) = _i . capture { tokens_helper(_visitor, &mut (it).0) };
855    tokens_helper(_visitor, &mut (& mut _i . or1_token).0);
856    for mut el in Punctuated::pairs_mut(& mut _i . inputs) { let it = el.value_mut(); _visitor.visit_fn_arg_mut(it) };
857    tokens_helper(_visitor, &mut (& mut _i . or2_token).0);
858    _visitor.visit_return_type_mut(& mut _i . output);
859    _visitor.visit_expr_mut(& mut * _i . body);
860}
861# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
862pub fn visit_expr_continue_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprContinue) {
863    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
864    tokens_helper(_visitor, &mut (& mut _i . continue_token).0);
865    if let Some(ref mut it) = _i . label { _visitor.visit_lifetime_mut(it) };
866}
867# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
868pub fn visit_expr_field_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprField) {
869    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
870    _visitor.visit_expr_mut(& mut * _i . base);
871    tokens_helper(_visitor, &mut (& mut _i . dot_token).0);
872    _visitor.visit_member_mut(& mut _i . member);
873}
874# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
875pub fn visit_expr_for_loop_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprForLoop) {
876    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
877    if let Some(ref mut it) = _i . label { _visitor.visit_label_mut(it) };
878    tokens_helper(_visitor, &mut (& mut _i . for_token).0);
879    _visitor.visit_pat_mut(& mut * _i . pat);
880    tokens_helper(_visitor, &mut (& mut _i . in_token).0);
881    _visitor.visit_expr_mut(& mut * _i . expr);
882    _visitor.visit_block_mut(& mut _i . body);
883}
884# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
885pub fn visit_expr_group_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprGroup) {
886    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
887    tokens_helper(_visitor, &mut (& mut _i . group_token).0);
888    _visitor.visit_expr_mut(& mut * _i . expr);
889}
890# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
891pub fn visit_expr_if_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIf) {
892    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
893    tokens_helper(_visitor, &mut (& mut _i . if_token).0);
894    _visitor.visit_expr_mut(& mut * _i . cond);
895    _visitor.visit_block_mut(& mut _i . then_branch);
896    if let Some(ref mut it) = _i . else_branch { 
897            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
898            _visitor.visit_expr_mut(& mut * ( it ) . 1);
899         };
900}
901# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
902pub fn visit_expr_if_let_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIfLet) {
903    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
904    tokens_helper(_visitor, &mut (& mut _i . if_token).0);
905    tokens_helper(_visitor, &mut (& mut _i . let_token).0);
906    _visitor.visit_pat_mut(& mut * _i . pat);
907    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
908    _visitor.visit_expr_mut(& mut * _i . expr);
909    _visitor.visit_block_mut(& mut _i . then_branch);
910    if let Some(ref mut it) = _i . else_branch { 
911            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
912            _visitor.visit_expr_mut(& mut * ( it ) . 1);
913         };
914}
915# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
916pub fn visit_expr_in_place_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprInPlace) {
917    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
918    _visitor.visit_expr_mut(& mut * _i . place);
919    tokens_helper(_visitor, &mut (& mut _i . arrow_token).0);
920    _visitor.visit_expr_mut(& mut * _i . value);
921}
922# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
923pub fn visit_expr_index_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIndex) {
924    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
925    _visitor.visit_expr_mut(& mut * _i . expr);
926    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
927    _visitor.visit_expr_mut(& mut * _i . index);
928}
929# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
930pub fn visit_expr_lit_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprLit) {
931    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
932    _visitor.visit_lit_mut(& mut _i . lit);
933}
934# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
935pub fn visit_expr_loop_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprLoop) {
936    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
937    if let Some(ref mut it) = _i . label { _visitor.visit_label_mut(it) };
938    tokens_helper(_visitor, &mut (& mut _i . loop_token).0);
939    _visitor.visit_block_mut(& mut _i . body);
940}
941# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
942pub fn visit_expr_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprMacro) {
943    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
944    _visitor.visit_macro_mut(& mut _i . mac);
945}
946# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
947pub fn visit_expr_match_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprMatch) {
948    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
949    tokens_helper(_visitor, &mut (& mut _i . match_token).0);
950    _visitor.visit_expr_mut(& mut * _i . expr);
951    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
952    for it in & mut _i . arms { _visitor.visit_arm_mut(it) };
953}
954# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
955pub fn visit_expr_method_call_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprMethodCall) {
956    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
957    _visitor.visit_expr_mut(& mut * _i . receiver);
958    tokens_helper(_visitor, &mut (& mut _i . dot_token).0);
959    _visitor.visit_ident_mut(& mut _i . method);
960    if let Some(ref mut it) = _i . turbofish { _visitor.visit_method_turbofish_mut(it) };
961    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
962    for mut el in Punctuated::pairs_mut(& mut _i . args) { let it = el.value_mut(); _visitor.visit_expr_mut(it) };
963}
964# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
965pub fn visit_expr_paren_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprParen) {
966    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
967    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
968    _visitor.visit_expr_mut(& mut * _i . expr);
969}
970# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
971pub fn visit_expr_path_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprPath) {
972    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
973    if let Some(ref mut it) = _i . qself { _visitor.visit_qself_mut(it) };
974    _visitor.visit_path_mut(& mut _i . path);
975}
976# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
977pub fn visit_expr_range_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprRange) {
978    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
979    if let Some(ref mut it) = _i . from { _visitor.visit_expr_mut(& mut * * it) };
980    _visitor.visit_range_limits_mut(& mut _i . limits);
981    if let Some(ref mut it) = _i . to { _visitor.visit_expr_mut(& mut * * it) };
982}
983# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
984pub fn visit_expr_repeat_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprRepeat) {
985    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
986    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
987    _visitor.visit_expr_mut(& mut * _i . expr);
988    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
989    _visitor.visit_expr_mut(& mut * _i . len);
990}
991# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
992pub fn visit_expr_return_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprReturn) {
993    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
994    tokens_helper(_visitor, &mut (& mut _i . return_token).0);
995    if let Some(ref mut it) = _i . expr { _visitor.visit_expr_mut(& mut * * it) };
996}
997# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
998pub fn visit_expr_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprStruct) {
999    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1000    _visitor.visit_path_mut(& mut _i . path);
1001    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
1002    for mut el in Punctuated::pairs_mut(& mut _i . fields) { let it = el.value_mut(); _visitor.visit_field_value_mut(it) };
1003    if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
1004    if let Some(ref mut it) = _i . rest { _visitor.visit_expr_mut(& mut * * it) };
1005}
1006# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1007pub fn visit_expr_try_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprTry) {
1008    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1009    _visitor.visit_expr_mut(& mut * _i . expr);
1010    tokens_helper(_visitor, &mut (& mut _i . question_token).0);
1011}
1012# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1013pub fn visit_expr_tuple_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprTuple) {
1014    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1015    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
1016    for mut el in Punctuated::pairs_mut(& mut _i . elems) { let it = el.value_mut(); _visitor.visit_expr_mut(it) };
1017}
1018# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1019pub fn visit_expr_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprType) {
1020    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1021    _visitor.visit_expr_mut(& mut * _i . expr);
1022    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
1023    _visitor.visit_type_mut(& mut * _i . ty);
1024}
1025# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1026pub fn visit_expr_unary_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprUnary) {
1027    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1028    _visitor.visit_un_op_mut(& mut _i . op);
1029    _visitor.visit_expr_mut(& mut * _i . expr);
1030}
1031# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1032pub fn visit_expr_unsafe_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprUnsafe) {
1033    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1034    tokens_helper(_visitor, &mut (& mut _i . unsafe_token).0);
1035    _visitor.visit_block_mut(& mut _i . block);
1036}
1037# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1038pub fn visit_expr_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprVerbatim) {
1039    // Skipped field _i . tts;
1040}
1041# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1042pub fn visit_expr_while_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprWhile) {
1043    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1044    if let Some(ref mut it) = _i . label { _visitor.visit_label_mut(it) };
1045    tokens_helper(_visitor, &mut (& mut _i . while_token).0);
1046    _visitor.visit_expr_mut(& mut * _i . cond);
1047    _visitor.visit_block_mut(& mut _i . body);
1048}
1049# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1050pub fn visit_expr_while_let_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprWhileLet) {
1051    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1052    if let Some(ref mut it) = _i . label { _visitor.visit_label_mut(it) };
1053    tokens_helper(_visitor, &mut (& mut _i . while_token).0);
1054    tokens_helper(_visitor, &mut (& mut _i . let_token).0);
1055    _visitor.visit_pat_mut(& mut * _i . pat);
1056    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
1057    _visitor.visit_expr_mut(& mut * _i . expr);
1058    _visitor.visit_block_mut(& mut _i . body);
1059}
1060# [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1061pub fn visit_expr_yield_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprYield) {
1062    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1063    tokens_helper(_visitor, &mut (& mut _i . yield_token).0);
1064    if let Some(ref mut it) = _i . expr { _visitor.visit_expr_mut(& mut * * it) };
1065}
1066# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1067pub fn visit_field_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Field) {
1068    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1069    _visitor.visit_visibility_mut(& mut _i . vis);
1070    if let Some(ref mut it) = _i . ident { _visitor.visit_ident_mut(it) };
1071    if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
1072    _visitor.visit_type_mut(& mut _i . ty);
1073}
1074# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1075pub fn visit_field_pat_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FieldPat) {
1076    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1077    _visitor.visit_member_mut(& mut _i . member);
1078    if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
1079    _visitor.visit_pat_mut(& mut * _i . pat);
1080}
1081# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1082pub fn visit_field_value_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FieldValue) {
1083    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1084    _visitor.visit_member_mut(& mut _i . member);
1085    if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
1086    _visitor.visit_expr_mut(& mut _i . expr);
1087}
1088# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1089pub fn visit_fields_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Fields) {
1090    match *_i {
1091        Fields::Named(ref mut _binding_0, ) => {
1092            _visitor.visit_fields_named_mut(_binding_0);
1093        }
1094        Fields::Unnamed(ref mut _binding_0, ) => {
1095            _visitor.visit_fields_unnamed_mut(_binding_0);
1096        }
1097        Fields::Unit => { }
1098    }
1099}
1100# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1101pub fn visit_fields_named_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FieldsNamed) {
1102    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
1103    for mut el in Punctuated::pairs_mut(& mut _i . named) { let it = el.value_mut(); _visitor.visit_field_mut(it) };
1104}
1105# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1106pub fn visit_fields_unnamed_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FieldsUnnamed) {
1107    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
1108    for mut el in Punctuated::pairs_mut(& mut _i . unnamed) { let it = el.value_mut(); _visitor.visit_field_mut(it) };
1109}
1110# [ cfg ( feature = "full" ) ]
1111pub fn visit_file_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut File) {
1112    // Skipped field _i . shebang;
1113    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1114    for it in & mut _i . items { _visitor.visit_item_mut(it) };
1115}
1116# [ cfg ( feature = "full" ) ]
1117pub fn visit_fn_arg_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FnArg) {
1118    match *_i {
1119        FnArg::SelfRef(ref mut _binding_0, ) => {
1120            _visitor.visit_arg_self_ref_mut(_binding_0);
1121        }
1122        FnArg::SelfValue(ref mut _binding_0, ) => {
1123            _visitor.visit_arg_self_mut(_binding_0);
1124        }
1125        FnArg::Captured(ref mut _binding_0, ) => {
1126            _visitor.visit_arg_captured_mut(_binding_0);
1127        }
1128        FnArg::Inferred(ref mut _binding_0, ) => {
1129            _visitor.visit_pat_mut(_binding_0);
1130        }
1131        FnArg::Ignored(ref mut _binding_0, ) => {
1132            _visitor.visit_type_mut(_binding_0);
1133        }
1134    }
1135}
1136# [ cfg ( feature = "full" ) ]
1137pub fn visit_fn_decl_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FnDecl) {
1138    tokens_helper(_visitor, &mut (& mut _i . fn_token).0);
1139    _visitor.visit_generics_mut(& mut _i . generics);
1140    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
1141    for mut el in Punctuated::pairs_mut(& mut _i . inputs) { let it = el.value_mut(); _visitor.visit_fn_arg_mut(it) };
1142    if let Some(ref mut it) = _i . variadic { tokens_helper(_visitor, &mut (it).0) };
1143    _visitor.visit_return_type_mut(& mut _i . output);
1144}
1145# [ cfg ( feature = "full" ) ]
1146pub fn visit_foreign_item_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ForeignItem) {
1147    match *_i {
1148        ForeignItem::Fn(ref mut _binding_0, ) => {
1149            _visitor.visit_foreign_item_fn_mut(_binding_0);
1150        }
1151        ForeignItem::Static(ref mut _binding_0, ) => {
1152            _visitor.visit_foreign_item_static_mut(_binding_0);
1153        }
1154        ForeignItem::Type(ref mut _binding_0, ) => {
1155            _visitor.visit_foreign_item_type_mut(_binding_0);
1156        }
1157        ForeignItem::Verbatim(ref mut _binding_0, ) => {
1158            _visitor.visit_foreign_item_verbatim_mut(_binding_0);
1159        }
1160    }
1161}
1162# [ cfg ( feature = "full" ) ]
1163pub fn visit_foreign_item_fn_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ForeignItemFn) {
1164    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1165    _visitor.visit_visibility_mut(& mut _i . vis);
1166    _visitor.visit_ident_mut(& mut _i . ident);
1167    _visitor.visit_fn_decl_mut(& mut * _i . decl);
1168    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1169}
1170# [ cfg ( feature = "full" ) ]
1171pub fn visit_foreign_item_static_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ForeignItemStatic) {
1172    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1173    _visitor.visit_visibility_mut(& mut _i . vis);
1174    tokens_helper(_visitor, &mut (& mut _i . static_token).0);
1175    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
1176    _visitor.visit_ident_mut(& mut _i . ident);
1177    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
1178    _visitor.visit_type_mut(& mut * _i . ty);
1179    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1180}
1181# [ cfg ( feature = "full" ) ]
1182pub fn visit_foreign_item_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ForeignItemType) {
1183    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1184    _visitor.visit_visibility_mut(& mut _i . vis);
1185    tokens_helper(_visitor, &mut (& mut _i . type_token).0);
1186    _visitor.visit_ident_mut(& mut _i . ident);
1187    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1188}
1189# [ cfg ( feature = "full" ) ]
1190pub fn visit_foreign_item_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ForeignItemVerbatim) {
1191    // Skipped field _i . tts;
1192}
1193# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1194pub fn visit_generic_argument_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut GenericArgument) {
1195    match *_i {
1196        GenericArgument::Lifetime(ref mut _binding_0, ) => {
1197            _visitor.visit_lifetime_mut(_binding_0);
1198        }
1199        GenericArgument::Type(ref mut _binding_0, ) => {
1200            _visitor.visit_type_mut(_binding_0);
1201        }
1202        GenericArgument::Binding(ref mut _binding_0, ) => {
1203            _visitor.visit_binding_mut(_binding_0);
1204        }
1205        GenericArgument::Const(ref mut _binding_0, ) => {
1206            _visitor.visit_expr_mut(_binding_0);
1207        }
1208    }
1209}
1210# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1211pub fn visit_generic_method_argument_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut GenericMethodArgument) {
1212    match *_i {
1213        GenericMethodArgument::Type(ref mut _binding_0, ) => {
1214            _visitor.visit_type_mut(_binding_0);
1215        }
1216        GenericMethodArgument::Const(ref mut _binding_0, ) => {
1217            _visitor.visit_expr_mut(_binding_0);
1218        }
1219    }
1220}
1221# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1222pub fn visit_generic_param_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut GenericParam) {
1223    match *_i {
1224        GenericParam::Type(ref mut _binding_0, ) => {
1225            _visitor.visit_type_param_mut(_binding_0);
1226        }
1227        GenericParam::Lifetime(ref mut _binding_0, ) => {
1228            _visitor.visit_lifetime_def_mut(_binding_0);
1229        }
1230        GenericParam::Const(ref mut _binding_0, ) => {
1231            _visitor.visit_const_param_mut(_binding_0);
1232        }
1233    }
1234}
1235# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1236pub fn visit_generics_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Generics) {
1237    if let Some(ref mut it) = _i . lt_token { tokens_helper(_visitor, &mut (it).0) };
1238    for mut el in Punctuated::pairs_mut(& mut _i . params) { let it = el.value_mut(); _visitor.visit_generic_param_mut(it) };
1239    if let Some(ref mut it) = _i . gt_token { tokens_helper(_visitor, &mut (it).0) };
1240    if let Some(ref mut it) = _i . where_clause { _visitor.visit_where_clause_mut(it) };
1241}
1242
1243pub fn visit_ident_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Ident) {
1244    // Skipped field _i . term;
1245    _visitor.visit_span_mut(& mut _i . span);
1246}
1247# [ cfg ( feature = "full" ) ]
1248pub fn visit_impl_item_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ImplItem) {
1249    match *_i {
1250        ImplItem::Const(ref mut _binding_0, ) => {
1251            _visitor.visit_impl_item_const_mut(_binding_0);
1252        }
1253        ImplItem::Method(ref mut _binding_0, ) => {
1254            _visitor.visit_impl_item_method_mut(_binding_0);
1255        }
1256        ImplItem::Type(ref mut _binding_0, ) => {
1257            _visitor.visit_impl_item_type_mut(_binding_0);
1258        }
1259        ImplItem::Macro(ref mut _binding_0, ) => {
1260            _visitor.visit_impl_item_macro_mut(_binding_0);
1261        }
1262        ImplItem::Verbatim(ref mut _binding_0, ) => {
1263            _visitor.visit_impl_item_verbatim_mut(_binding_0);
1264        }
1265    }
1266}
1267# [ cfg ( feature = "full" ) ]
1268pub fn visit_impl_item_const_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ImplItemConst) {
1269    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1270    _visitor.visit_visibility_mut(& mut _i . vis);
1271    if let Some(ref mut it) = _i . defaultness { tokens_helper(_visitor, &mut (it).0) };
1272    tokens_helper(_visitor, &mut (& mut _i . const_token).0);
1273    _visitor.visit_ident_mut(& mut _i . ident);
1274    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
1275    _visitor.visit_type_mut(& mut _i . ty);
1276    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
1277    _visitor.visit_expr_mut(& mut _i . expr);
1278    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1279}
1280# [ cfg ( feature = "full" ) ]
1281pub fn visit_impl_item_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ImplItemMacro) {
1282    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1283    _visitor.visit_macro_mut(& mut _i . mac);
1284    if let Some(ref mut it) = _i . semi_token { tokens_helper(_visitor, &mut (it).0) };
1285}
1286# [ cfg ( feature = "full" ) ]
1287pub fn visit_impl_item_method_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ImplItemMethod) {
1288    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1289    _visitor.visit_visibility_mut(& mut _i . vis);
1290    if let Some(ref mut it) = _i . defaultness { tokens_helper(_visitor, &mut (it).0) };
1291    _visitor.visit_method_sig_mut(& mut _i . sig);
1292    _visitor.visit_block_mut(& mut _i . block);
1293}
1294# [ cfg ( feature = "full" ) ]
1295pub fn visit_impl_item_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ImplItemType) {
1296    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1297    _visitor.visit_visibility_mut(& mut _i . vis);
1298    if let Some(ref mut it) = _i . defaultness { tokens_helper(_visitor, &mut (it).0) };
1299    tokens_helper(_visitor, &mut (& mut _i . type_token).0);
1300    _visitor.visit_ident_mut(& mut _i . ident);
1301    _visitor.visit_generics_mut(& mut _i . generics);
1302    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
1303    _visitor.visit_type_mut(& mut _i . ty);
1304    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1305}
1306# [ cfg ( feature = "full" ) ]
1307pub fn visit_impl_item_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ImplItemVerbatim) {
1308    // Skipped field _i . tts;
1309}
1310# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1311pub fn visit_index_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Index) {
1312    // Skipped field _i . index;
1313    _visitor.visit_span_mut(& mut _i . span);
1314}
1315# [ cfg ( feature = "full" ) ]
1316pub fn visit_item_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Item) {
1317    match *_i {
1318        Item::ExternCrate(ref mut _binding_0, ) => {
1319            _visitor.visit_item_extern_crate_mut(_binding_0);
1320        }
1321        Item::Use(ref mut _binding_0, ) => {
1322            _visitor.visit_item_use_mut(_binding_0);
1323        }
1324        Item::Static(ref mut _binding_0, ) => {
1325            _visitor.visit_item_static_mut(_binding_0);
1326        }
1327        Item::Const(ref mut _binding_0, ) => {
1328            _visitor.visit_item_const_mut(_binding_0);
1329        }
1330        Item::Fn(ref mut _binding_0, ) => {
1331            _visitor.visit_item_fn_mut(_binding_0);
1332        }
1333        Item::Mod(ref mut _binding_0, ) => {
1334            _visitor.visit_item_mod_mut(_binding_0);
1335        }
1336        Item::ForeignMod(ref mut _binding_0, ) => {
1337            _visitor.visit_item_foreign_mod_mut(_binding_0);
1338        }
1339        Item::Type(ref mut _binding_0, ) => {
1340            _visitor.visit_item_type_mut(_binding_0);
1341        }
1342        Item::Struct(ref mut _binding_0, ) => {
1343            _visitor.visit_item_struct_mut(_binding_0);
1344        }
1345        Item::Enum(ref mut _binding_0, ) => {
1346            _visitor.visit_item_enum_mut(_binding_0);
1347        }
1348        Item::Union(ref mut _binding_0, ) => {
1349            _visitor.visit_item_union_mut(_binding_0);
1350        }
1351        Item::Trait(ref mut _binding_0, ) => {
1352            _visitor.visit_item_trait_mut(_binding_0);
1353        }
1354        Item::Impl(ref mut _binding_0, ) => {
1355            _visitor.visit_item_impl_mut(_binding_0);
1356        }
1357        Item::Macro(ref mut _binding_0, ) => {
1358            _visitor.visit_item_macro_mut(_binding_0);
1359        }
1360        Item::Macro2(ref mut _binding_0, ) => {
1361            _visitor.visit_item_macro2_mut(_binding_0);
1362        }
1363        Item::Verbatim(ref mut _binding_0, ) => {
1364            _visitor.visit_item_verbatim_mut(_binding_0);
1365        }
1366    }
1367}
1368# [ cfg ( feature = "full" ) ]
1369pub fn visit_item_const_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemConst) {
1370    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1371    _visitor.visit_visibility_mut(& mut _i . vis);
1372    tokens_helper(_visitor, &mut (& mut _i . const_token).0);
1373    _visitor.visit_ident_mut(& mut _i . ident);
1374    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
1375    _visitor.visit_type_mut(& mut * _i . ty);
1376    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
1377    _visitor.visit_expr_mut(& mut * _i . expr);
1378    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1379}
1380# [ cfg ( feature = "full" ) ]
1381pub fn visit_item_enum_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemEnum) {
1382    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1383    _visitor.visit_visibility_mut(& mut _i . vis);
1384    tokens_helper(_visitor, &mut (& mut _i . enum_token).0);
1385    _visitor.visit_ident_mut(& mut _i . ident);
1386    _visitor.visit_generics_mut(& mut _i . generics);
1387    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
1388    for mut el in Punctuated::pairs_mut(& mut _i . variants) { let it = el.value_mut(); _visitor.visit_variant_mut(it) };
1389}
1390# [ cfg ( feature = "full" ) ]
1391pub fn visit_item_extern_crate_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemExternCrate) {
1392    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1393    _visitor.visit_visibility_mut(& mut _i . vis);
1394    tokens_helper(_visitor, &mut (& mut _i . extern_token).0);
1395    tokens_helper(_visitor, &mut (& mut _i . crate_token).0);
1396    _visitor.visit_ident_mut(& mut _i . ident);
1397    if let Some(ref mut it) = _i . rename { 
1398            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
1399            _visitor.visit_ident_mut(& mut ( it ) . 1);
1400         };
1401    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1402}
1403# [ cfg ( feature = "full" ) ]
1404pub fn visit_item_fn_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemFn) {
1405    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1406    _visitor.visit_visibility_mut(& mut _i . vis);
1407    if let Some(ref mut it) = _i . constness { tokens_helper(_visitor, &mut (it).0) };
1408    if let Some(ref mut it) = _i . unsafety { tokens_helper(_visitor, &mut (it).0) };
1409    if let Some(ref mut it) = _i . abi { _visitor.visit_abi_mut(it) };
1410    _visitor.visit_ident_mut(& mut _i . ident);
1411    _visitor.visit_fn_decl_mut(& mut * _i . decl);
1412    _visitor.visit_block_mut(& mut * _i . block);
1413}
1414# [ cfg ( feature = "full" ) ]
1415pub fn visit_item_foreign_mod_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemForeignMod) {
1416    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1417    _visitor.visit_abi_mut(& mut _i . abi);
1418    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
1419    for it in & mut _i . items { _visitor.visit_foreign_item_mut(it) };
1420}
1421# [ cfg ( feature = "full" ) ]
1422pub fn visit_item_impl_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemImpl) {
1423    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1424    if let Some(ref mut it) = _i . defaultness { tokens_helper(_visitor, &mut (it).0) };
1425    if let Some(ref mut it) = _i . unsafety { tokens_helper(_visitor, &mut (it).0) };
1426    tokens_helper(_visitor, &mut (& mut _i . impl_token).0);
1427    _visitor.visit_generics_mut(& mut _i . generics);
1428    if let Some(ref mut it) = _i . trait_ { 
1429            if let Some(ref mut it) = ( it ) . 0 { tokens_helper(_visitor, &mut (it).0) };
1430            _visitor.visit_path_mut(& mut ( it ) . 1);
1431            tokens_helper(_visitor, &mut (& mut ( it ) . 2).0);
1432         };
1433    _visitor.visit_type_mut(& mut * _i . self_ty);
1434    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
1435    for it in & mut _i . items { _visitor.visit_impl_item_mut(it) };
1436}
1437# [ cfg ( feature = "full" ) ]
1438pub fn visit_item_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemMacro) {
1439    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1440    if let Some(ref mut it) = _i . ident { _visitor.visit_ident_mut(it) };
1441    _visitor.visit_macro_mut(& mut _i . mac);
1442    if let Some(ref mut it) = _i . semi_token { tokens_helper(_visitor, &mut (it).0) };
1443}
1444# [ cfg ( feature = "full" ) ]
1445pub fn visit_item_macro2_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemMacro2) {
1446    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1447    _visitor.visit_visibility_mut(& mut _i . vis);
1448    tokens_helper(_visitor, &mut (& mut _i . macro_token).0);
1449    _visitor.visit_ident_mut(& mut _i . ident);
1450    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
1451    // Skipped field _i . args;
1452    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
1453    // Skipped field _i . body;
1454}
1455# [ cfg ( feature = "full" ) ]
1456pub fn visit_item_mod_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemMod) {
1457    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1458    _visitor.visit_visibility_mut(& mut _i . vis);
1459    tokens_helper(_visitor, &mut (& mut _i . mod_token).0);
1460    _visitor.visit_ident_mut(& mut _i . ident);
1461    if let Some(ref mut it) = _i . content { 
1462            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
1463            for it in & mut ( it ) . 1 { _visitor.visit_item_mut(it) };
1464         };
1465    if let Some(ref mut it) = _i . semi { tokens_helper(_visitor, &mut (it).0) };
1466}
1467# [ cfg ( feature = "full" ) ]
1468pub fn visit_item_static_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemStatic) {
1469    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1470    _visitor.visit_visibility_mut(& mut _i . vis);
1471    tokens_helper(_visitor, &mut (& mut _i . static_token).0);
1472    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
1473    _visitor.visit_ident_mut(& mut _i . ident);
1474    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
1475    _visitor.visit_type_mut(& mut * _i . ty);
1476    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
1477    _visitor.visit_expr_mut(& mut * _i . expr);
1478    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1479}
1480# [ cfg ( feature = "full" ) ]
1481pub fn visit_item_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemStruct) {
1482    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1483    _visitor.visit_visibility_mut(& mut _i . vis);
1484    tokens_helper(_visitor, &mut (& mut _i . struct_token).0);
1485    _visitor.visit_ident_mut(& mut _i . ident);
1486    _visitor.visit_generics_mut(& mut _i . generics);
1487    _visitor.visit_fields_mut(& mut _i . fields);
1488    if let Some(ref mut it) = _i . semi_token { tokens_helper(_visitor, &mut (it).0) };
1489}
1490# [ cfg ( feature = "full" ) ]
1491pub fn visit_item_trait_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemTrait) {
1492    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1493    _visitor.visit_visibility_mut(& mut _i . vis);
1494    if let Some(ref mut it) = _i . unsafety { tokens_helper(_visitor, &mut (it).0) };
1495    if let Some(ref mut it) = _i . auto_token { tokens_helper(_visitor, &mut (it).0) };
1496    tokens_helper(_visitor, &mut (& mut _i . trait_token).0);
1497    _visitor.visit_ident_mut(& mut _i . ident);
1498    _visitor.visit_generics_mut(& mut _i . generics);
1499    if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
1500    for mut el in Punctuated::pairs_mut(& mut _i . supertraits) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
1501    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
1502    for it in & mut _i . items { _visitor.visit_trait_item_mut(it) };
1503}
1504# [ cfg ( feature = "full" ) ]
1505pub fn visit_item_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemType) {
1506    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1507    _visitor.visit_visibility_mut(& mut _i . vis);
1508    tokens_helper(_visitor, &mut (& mut _i . type_token).0);
1509    _visitor.visit_ident_mut(& mut _i . ident);
1510    _visitor.visit_generics_mut(& mut _i . generics);
1511    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
1512    _visitor.visit_type_mut(& mut * _i . ty);
1513    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1514}
1515# [ cfg ( feature = "full" ) ]
1516pub fn visit_item_union_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemUnion) {
1517    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1518    _visitor.visit_visibility_mut(& mut _i . vis);
1519    tokens_helper(_visitor, &mut (& mut _i . union_token).0);
1520    _visitor.visit_ident_mut(& mut _i . ident);
1521    _visitor.visit_generics_mut(& mut _i . generics);
1522    _visitor.visit_fields_named_mut(& mut _i . fields);
1523}
1524# [ cfg ( feature = "full" ) ]
1525pub fn visit_item_use_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemUse) {
1526    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1527    _visitor.visit_visibility_mut(& mut _i . vis);
1528    tokens_helper(_visitor, &mut (& mut _i . use_token).0);
1529    if let Some(ref mut it) = _i . leading_colon { tokens_helper(_visitor, &mut (it).0) };
1530    for mut el in Punctuated::pairs_mut(& mut _i . prefix) { let it = el.value_mut(); _visitor.visit_ident_mut(it) };
1531    _visitor.visit_use_tree_mut(& mut _i . tree);
1532    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1533}
1534# [ cfg ( feature = "full" ) ]
1535pub fn visit_item_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemVerbatim) {
1536    // Skipped field _i . tts;
1537}
1538# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1539pub fn visit_label_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Label) {
1540    _visitor.visit_lifetime_mut(& mut _i . name);
1541    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
1542}
1543# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1544pub fn visit_lifetime_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Lifetime) {
1545    // Skipped field _i . term;
1546    _visitor.visit_span_mut(& mut _i . span);
1547}
1548# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1549pub fn visit_lifetime_def_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LifetimeDef) {
1550    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1551    _visitor.visit_lifetime_mut(& mut _i . lifetime);
1552    if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
1553    for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_lifetime_mut(it) };
1554}
1555# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1556pub fn visit_lit_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Lit) {
1557    match *_i {
1558        Lit::Str(ref mut _binding_0, ) => {
1559            _visitor.visit_lit_str_mut(_binding_0);
1560        }
1561        Lit::ByteStr(ref mut _binding_0, ) => {
1562            _visitor.visit_lit_byte_str_mut(_binding_0);
1563        }
1564        Lit::Byte(ref mut _binding_0, ) => {
1565            _visitor.visit_lit_byte_mut(_binding_0);
1566        }
1567        Lit::Char(ref mut _binding_0, ) => {
1568            _visitor.visit_lit_char_mut(_binding_0);
1569        }
1570        Lit::Int(ref mut _binding_0, ) => {
1571            _visitor.visit_lit_int_mut(_binding_0);
1572        }
1573        Lit::Float(ref mut _binding_0, ) => {
1574            _visitor.visit_lit_float_mut(_binding_0);
1575        }
1576        Lit::Bool(ref mut _binding_0, ) => {
1577            _visitor.visit_lit_bool_mut(_binding_0);
1578        }
1579        Lit::Verbatim(ref mut _binding_0, ) => {
1580            _visitor.visit_lit_verbatim_mut(_binding_0);
1581        }
1582    }
1583}
1584# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1585pub fn visit_lit_bool_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LitBool) {
1586    // Skipped field _i . value;
1587    _visitor.visit_span_mut(& mut _i . span);
1588}
1589# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1590pub fn visit_lit_byte_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LitByte) {
1591    // Skipped field _i . token;
1592    _visitor.visit_span_mut(& mut _i . span);
1593}
1594# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1595pub fn visit_lit_byte_str_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LitByteStr) {
1596    // Skipped field _i . token;
1597    _visitor.visit_span_mut(& mut _i . span);
1598}
1599# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1600pub fn visit_lit_char_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LitChar) {
1601    // Skipped field _i . token;
1602    _visitor.visit_span_mut(& mut _i . span);
1603}
1604# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1605pub fn visit_lit_float_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LitFloat) {
1606    // Skipped field _i . token;
1607    _visitor.visit_span_mut(& mut _i . span);
1608}
1609# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1610pub fn visit_lit_int_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LitInt) {
1611    // Skipped field _i . token;
1612    _visitor.visit_span_mut(& mut _i . span);
1613}
1614# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1615pub fn visit_lit_str_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LitStr) {
1616    // Skipped field _i . token;
1617    _visitor.visit_span_mut(& mut _i . span);
1618}
1619# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1620pub fn visit_lit_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut LitVerbatim) {
1621    // Skipped field _i . token;
1622    _visitor.visit_span_mut(& mut _i . span);
1623}
1624# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1625pub fn visit_local_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Local) {
1626    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1627    tokens_helper(_visitor, &mut (& mut _i . let_token).0);
1628    _visitor.visit_pat_mut(& mut * _i . pat);
1629    if let Some(ref mut it) = _i . ty { 
1630            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
1631            _visitor.visit_type_mut(& mut * ( it ) . 1);
1632         };
1633    if let Some(ref mut it) = _i . init { 
1634            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
1635            _visitor.visit_expr_mut(& mut * ( it ) . 1);
1636         };
1637    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1638}
1639# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1640pub fn visit_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Macro) {
1641    _visitor.visit_path_mut(& mut _i . path);
1642    tokens_helper(_visitor, &mut (& mut _i . bang_token).0);
1643    _visitor.visit_macro_delimiter_mut(& mut _i . delimiter);
1644    // Skipped field _i . tts;
1645}
1646# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1647pub fn visit_macro_delimiter_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut MacroDelimiter) {
1648    match *_i {
1649        MacroDelimiter::Paren(ref mut _binding_0, ) => {
1650            tokens_helper(_visitor, &mut (_binding_0).0);
1651        }
1652        MacroDelimiter::Brace(ref mut _binding_0, ) => {
1653            tokens_helper(_visitor, &mut (_binding_0).0);
1654        }
1655        MacroDelimiter::Bracket(ref mut _binding_0, ) => {
1656            tokens_helper(_visitor, &mut (_binding_0).0);
1657        }
1658    }
1659}
1660# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1661pub fn visit_member_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Member) {
1662    match *_i {
1663        Member::Named(ref mut _binding_0, ) => {
1664            _visitor.visit_ident_mut(_binding_0);
1665        }
1666        Member::Unnamed(ref mut _binding_0, ) => {
1667            _visitor.visit_index_mut(_binding_0);
1668        }
1669    }
1670}
1671# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1672pub fn visit_meta_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Meta) {
1673    match *_i {
1674        Meta::Word(ref mut _binding_0, ) => {
1675            _visitor.visit_ident_mut(_binding_0);
1676        }
1677        Meta::List(ref mut _binding_0, ) => {
1678            _visitor.visit_meta_list_mut(_binding_0);
1679        }
1680        Meta::NameValue(ref mut _binding_0, ) => {
1681            _visitor.visit_meta_name_value_mut(_binding_0);
1682        }
1683    }
1684}
1685# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1686pub fn visit_meta_list_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut MetaList) {
1687    _visitor.visit_ident_mut(& mut _i . ident);
1688    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
1689    for mut el in Punctuated::pairs_mut(& mut _i . nested) { let it = el.value_mut(); _visitor.visit_nested_meta_mut(it) };
1690}
1691# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1692pub fn visit_meta_name_value_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut MetaNameValue) {
1693    _visitor.visit_ident_mut(& mut _i . ident);
1694    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
1695    _visitor.visit_lit_mut(& mut _i . lit);
1696}
1697# [ cfg ( feature = "full" ) ]
1698pub fn visit_method_sig_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut MethodSig) {
1699    if let Some(ref mut it) = _i . constness { tokens_helper(_visitor, &mut (it).0) };
1700    if let Some(ref mut it) = _i . unsafety { tokens_helper(_visitor, &mut (it).0) };
1701    if let Some(ref mut it) = _i . abi { _visitor.visit_abi_mut(it) };
1702    _visitor.visit_ident_mut(& mut _i . ident);
1703    _visitor.visit_fn_decl_mut(& mut _i . decl);
1704}
1705# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1706pub fn visit_method_turbofish_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut MethodTurbofish) {
1707    tokens_helper(_visitor, &mut (& mut _i . colon2_token).0);
1708    tokens_helper(_visitor, &mut (& mut _i . lt_token).0);
1709    for mut el in Punctuated::pairs_mut(& mut _i . args) { let it = el.value_mut(); _visitor.visit_generic_method_argument_mut(it) };
1710    tokens_helper(_visitor, &mut (& mut _i . gt_token).0);
1711}
1712# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1713pub fn visit_nested_meta_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut NestedMeta) {
1714    match *_i {
1715        NestedMeta::Meta(ref mut _binding_0, ) => {
1716            _visitor.visit_meta_mut(_binding_0);
1717        }
1718        NestedMeta::Literal(ref mut _binding_0, ) => {
1719            _visitor.visit_lit_mut(_binding_0);
1720        }
1721    }
1722}
1723# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1724pub fn visit_parenthesized_generic_arguments_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ParenthesizedGenericArguments) {
1725    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
1726    for mut el in Punctuated::pairs_mut(& mut _i . inputs) { let it = el.value_mut(); _visitor.visit_type_mut(it) };
1727    _visitor.visit_return_type_mut(& mut _i . output);
1728}
1729# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1730pub fn visit_pat_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Pat) {
1731    match *_i {
1732        Pat::Wild(ref mut _binding_0, ) => {
1733            _visitor.visit_pat_wild_mut(_binding_0);
1734        }
1735        Pat::Ident(ref mut _binding_0, ) => {
1736            _visitor.visit_pat_ident_mut(_binding_0);
1737        }
1738        Pat::Struct(ref mut _binding_0, ) => {
1739            _visitor.visit_pat_struct_mut(_binding_0);
1740        }
1741        Pat::TupleStruct(ref mut _binding_0, ) => {
1742            _visitor.visit_pat_tuple_struct_mut(_binding_0);
1743        }
1744        Pat::Path(ref mut _binding_0, ) => {
1745            _visitor.visit_pat_path_mut(_binding_0);
1746        }
1747        Pat::Tuple(ref mut _binding_0, ) => {
1748            _visitor.visit_pat_tuple_mut(_binding_0);
1749        }
1750        Pat::Box(ref mut _binding_0, ) => {
1751            _visitor.visit_pat_box_mut(_binding_0);
1752        }
1753        Pat::Ref(ref mut _binding_0, ) => {
1754            _visitor.visit_pat_ref_mut(_binding_0);
1755        }
1756        Pat::Lit(ref mut _binding_0, ) => {
1757            _visitor.visit_pat_lit_mut(_binding_0);
1758        }
1759        Pat::Range(ref mut _binding_0, ) => {
1760            _visitor.visit_pat_range_mut(_binding_0);
1761        }
1762        Pat::Slice(ref mut _binding_0, ) => {
1763            _visitor.visit_pat_slice_mut(_binding_0);
1764        }
1765        Pat::Macro(ref mut _binding_0, ) => {
1766            _visitor.visit_pat_macro_mut(_binding_0);
1767        }
1768        Pat::Verbatim(ref mut _binding_0, ) => {
1769            _visitor.visit_pat_verbatim_mut(_binding_0);
1770        }
1771    }
1772}
1773# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1774pub fn visit_pat_box_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatBox) {
1775    tokens_helper(_visitor, &mut (& mut _i . box_token).0);
1776    _visitor.visit_pat_mut(& mut * _i . pat);
1777}
1778# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1779pub fn visit_pat_ident_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatIdent) {
1780    if let Some(ref mut it) = _i . by_ref { tokens_helper(_visitor, &mut (it).0) };
1781    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
1782    _visitor.visit_ident_mut(& mut _i . ident);
1783    if let Some(ref mut it) = _i . subpat { 
1784            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
1785            _visitor.visit_pat_mut(& mut * ( it ) . 1);
1786         };
1787}
1788# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1789pub fn visit_pat_lit_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatLit) {
1790    _visitor.visit_expr_mut(& mut * _i . expr);
1791}
1792# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1793pub fn visit_pat_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatMacro) {
1794    _visitor.visit_macro_mut(& mut _i . mac);
1795}
1796# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1797pub fn visit_pat_path_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatPath) {
1798    if let Some(ref mut it) = _i . qself { _visitor.visit_qself_mut(it) };
1799    _visitor.visit_path_mut(& mut _i . path);
1800}
1801# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1802pub fn visit_pat_range_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatRange) {
1803    _visitor.visit_expr_mut(& mut * _i . lo);
1804    _visitor.visit_range_limits_mut(& mut _i . limits);
1805    _visitor.visit_expr_mut(& mut * _i . hi);
1806}
1807# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1808pub fn visit_pat_ref_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatRef) {
1809    tokens_helper(_visitor, &mut (& mut _i . and_token).0);
1810    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
1811    _visitor.visit_pat_mut(& mut * _i . pat);
1812}
1813# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1814pub fn visit_pat_slice_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatSlice) {
1815    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
1816    for mut el in Punctuated::pairs_mut(& mut _i . front) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
1817    if let Some(ref mut it) = _i . middle { _visitor.visit_pat_mut(& mut * * it) };
1818    if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
1819    if let Some(ref mut it) = _i . comma_token { tokens_helper(_visitor, &mut (it).0) };
1820    for mut el in Punctuated::pairs_mut(& mut _i . back) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
1821}
1822# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1823pub fn visit_pat_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatStruct) {
1824    _visitor.visit_path_mut(& mut _i . path);
1825    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
1826    for mut el in Punctuated::pairs_mut(& mut _i . fields) { let it = el.value_mut(); _visitor.visit_field_pat_mut(it) };
1827    if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
1828}
1829# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1830pub fn visit_pat_tuple_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatTuple) {
1831    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
1832    for mut el in Punctuated::pairs_mut(& mut _i . front) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
1833    if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
1834    if let Some(ref mut it) = _i . comma_token { tokens_helper(_visitor, &mut (it).0) };
1835    for mut el in Punctuated::pairs_mut(& mut _i . back) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
1836}
1837# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1838pub fn visit_pat_tuple_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatTupleStruct) {
1839    _visitor.visit_path_mut(& mut _i . path);
1840    _visitor.visit_pat_tuple_mut(& mut _i . pat);
1841}
1842# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1843pub fn visit_pat_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatVerbatim) {
1844    // Skipped field _i . tts;
1845}
1846# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1847pub fn visit_pat_wild_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatWild) {
1848    tokens_helper(_visitor, &mut (& mut _i . underscore_token).0);
1849}
1850# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1851pub fn visit_path_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Path) {
1852    if let Some(ref mut it) = _i . leading_colon { tokens_helper(_visitor, &mut (it).0) };
1853    for mut el in Punctuated::pairs_mut(& mut _i . segments) { let it = el.value_mut(); _visitor.visit_path_segment_mut(it) };
1854}
1855# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1856pub fn visit_path_arguments_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PathArguments) {
1857    match *_i {
1858        PathArguments::None => { }
1859        PathArguments::AngleBracketed(ref mut _binding_0, ) => {
1860            _visitor.visit_angle_bracketed_generic_arguments_mut(_binding_0);
1861        }
1862        PathArguments::Parenthesized(ref mut _binding_0, ) => {
1863            _visitor.visit_parenthesized_generic_arguments_mut(_binding_0);
1864        }
1865    }
1866}
1867# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1868pub fn visit_path_segment_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PathSegment) {
1869    _visitor.visit_ident_mut(& mut _i . ident);
1870    _visitor.visit_path_arguments_mut(& mut _i . arguments);
1871}
1872# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1873pub fn visit_predicate_eq_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PredicateEq) {
1874    _visitor.visit_type_mut(& mut _i . lhs_ty);
1875    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
1876    _visitor.visit_type_mut(& mut _i . rhs_ty);
1877}
1878# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1879pub fn visit_predicate_lifetime_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PredicateLifetime) {
1880    _visitor.visit_lifetime_mut(& mut _i . lifetime);
1881    if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
1882    for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_lifetime_mut(it) };
1883}
1884# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1885pub fn visit_predicate_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PredicateType) {
1886    if let Some(ref mut it) = _i . lifetimes { _visitor.visit_bound_lifetimes_mut(it) };
1887    _visitor.visit_type_mut(& mut _i . bounded_ty);
1888    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
1889    for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
1890}
1891# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1892pub fn visit_qself_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut QSelf) {
1893    tokens_helper(_visitor, &mut (& mut _i . lt_token).0);
1894    _visitor.visit_type_mut(& mut * _i . ty);
1895    // Skipped field _i . position;
1896    if let Some(ref mut it) = _i . as_token { tokens_helper(_visitor, &mut (it).0) };
1897    tokens_helper(_visitor, &mut (& mut _i . gt_token).0);
1898}
1899# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1900pub fn visit_range_limits_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut RangeLimits) {
1901    match *_i {
1902        RangeLimits::HalfOpen(ref mut _binding_0, ) => {
1903            tokens_helper(_visitor, &mut (_binding_0).0);
1904        }
1905        RangeLimits::Closed(ref mut _binding_0, ) => {
1906            tokens_helper(_visitor, &mut (_binding_0).0);
1907        }
1908    }
1909}
1910# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1911pub fn visit_return_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ReturnType) {
1912    match *_i {
1913        ReturnType::Default => { }
1914        ReturnType::Type(ref mut _binding_0, ref mut _binding_1, ) => {
1915            tokens_helper(_visitor, &mut (_binding_0).0);
1916            _visitor.visit_type_mut(& mut * * _binding_1);
1917        }
1918    }
1919}
1920
1921pub fn visit_span_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Span) {
1922}
1923# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
1924pub fn visit_stmt_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Stmt) {
1925    match *_i {
1926        Stmt::Local(ref mut _binding_0, ) => {
1927            _visitor.visit_local_mut(_binding_0);
1928        }
1929        Stmt::Item(ref mut _binding_0, ) => {
1930            _visitor.visit_item_mut(_binding_0);
1931        }
1932        Stmt::Expr(ref mut _binding_0, ) => {
1933            _visitor.visit_expr_mut(_binding_0);
1934        }
1935        Stmt::Semi(ref mut _binding_0, ref mut _binding_1, ) => {
1936            _visitor.visit_expr_mut(_binding_0);
1937            tokens_helper(_visitor, &mut (_binding_1).0);
1938        }
1939    }
1940}
1941# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1942pub fn visit_trait_bound_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitBound) {
1943    _visitor.visit_trait_bound_modifier_mut(& mut _i . modifier);
1944    if let Some(ref mut it) = _i . lifetimes { _visitor.visit_bound_lifetimes_mut(it) };
1945    _visitor.visit_path_mut(& mut _i . path);
1946}
1947# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
1948pub fn visit_trait_bound_modifier_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitBoundModifier) {
1949    match *_i {
1950        TraitBoundModifier::None => { }
1951        TraitBoundModifier::Maybe(ref mut _binding_0, ) => {
1952            tokens_helper(_visitor, &mut (_binding_0).0);
1953        }
1954    }
1955}
1956# [ cfg ( feature = "full" ) ]
1957pub fn visit_trait_item_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItem) {
1958    match *_i {
1959        TraitItem::Const(ref mut _binding_0, ) => {
1960            _visitor.visit_trait_item_const_mut(_binding_0);
1961        }
1962        TraitItem::Method(ref mut _binding_0, ) => {
1963            _visitor.visit_trait_item_method_mut(_binding_0);
1964        }
1965        TraitItem::Type(ref mut _binding_0, ) => {
1966            _visitor.visit_trait_item_type_mut(_binding_0);
1967        }
1968        TraitItem::Macro(ref mut _binding_0, ) => {
1969            _visitor.visit_trait_item_macro_mut(_binding_0);
1970        }
1971        TraitItem::Verbatim(ref mut _binding_0, ) => {
1972            _visitor.visit_trait_item_verbatim_mut(_binding_0);
1973        }
1974    }
1975}
1976# [ cfg ( feature = "full" ) ]
1977pub fn visit_trait_item_const_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemConst) {
1978    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1979    tokens_helper(_visitor, &mut (& mut _i . const_token).0);
1980    _visitor.visit_ident_mut(& mut _i . ident);
1981    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
1982    _visitor.visit_type_mut(& mut _i . ty);
1983    if let Some(ref mut it) = _i . default { 
1984            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
1985            _visitor.visit_expr_mut(& mut ( it ) . 1);
1986         };
1987    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
1988}
1989# [ cfg ( feature = "full" ) ]
1990pub fn visit_trait_item_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemMacro) {
1991    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1992    _visitor.visit_macro_mut(& mut _i . mac);
1993    if let Some(ref mut it) = _i . semi_token { tokens_helper(_visitor, &mut (it).0) };
1994}
1995# [ cfg ( feature = "full" ) ]
1996pub fn visit_trait_item_method_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemMethod) {
1997    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
1998    _visitor.visit_method_sig_mut(& mut _i . sig);
1999    if let Some(ref mut it) = _i . default { _visitor.visit_block_mut(it) };
2000    if let Some(ref mut it) = _i . semi_token { tokens_helper(_visitor, &mut (it).0) };
2001}
2002# [ cfg ( feature = "full" ) ]
2003pub fn visit_trait_item_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemType) {
2004    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
2005    tokens_helper(_visitor, &mut (& mut _i . type_token).0);
2006    _visitor.visit_ident_mut(& mut _i . ident);
2007    _visitor.visit_generics_mut(& mut _i . generics);
2008    if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
2009    for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
2010    if let Some(ref mut it) = _i . default { 
2011            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
2012            _visitor.visit_type_mut(& mut ( it ) . 1);
2013         };
2014    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
2015}
2016# [ cfg ( feature = "full" ) ]
2017pub fn visit_trait_item_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemVerbatim) {
2018    // Skipped field _i . tts;
2019}
2020# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2021pub fn visit_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Type) {
2022    match *_i {
2023        Type::Slice(ref mut _binding_0, ) => {
2024            _visitor.visit_type_slice_mut(_binding_0);
2025        }
2026        Type::Array(ref mut _binding_0, ) => {
2027            _visitor.visit_type_array_mut(_binding_0);
2028        }
2029        Type::Ptr(ref mut _binding_0, ) => {
2030            _visitor.visit_type_ptr_mut(_binding_0);
2031        }
2032        Type::Reference(ref mut _binding_0, ) => {
2033            _visitor.visit_type_reference_mut(_binding_0);
2034        }
2035        Type::BareFn(ref mut _binding_0, ) => {
2036            _visitor.visit_type_bare_fn_mut(_binding_0);
2037        }
2038        Type::Never(ref mut _binding_0, ) => {
2039            _visitor.visit_type_never_mut(_binding_0);
2040        }
2041        Type::Tuple(ref mut _binding_0, ) => {
2042            _visitor.visit_type_tuple_mut(_binding_0);
2043        }
2044        Type::Path(ref mut _binding_0, ) => {
2045            _visitor.visit_type_path_mut(_binding_0);
2046        }
2047        Type::TraitObject(ref mut _binding_0, ) => {
2048            _visitor.visit_type_trait_object_mut(_binding_0);
2049        }
2050        Type::ImplTrait(ref mut _binding_0, ) => {
2051            _visitor.visit_type_impl_trait_mut(_binding_0);
2052        }
2053        Type::Paren(ref mut _binding_0, ) => {
2054            _visitor.visit_type_paren_mut(_binding_0);
2055        }
2056        Type::Group(ref mut _binding_0, ) => {
2057            _visitor.visit_type_group_mut(_binding_0);
2058        }
2059        Type::Infer(ref mut _binding_0, ) => {
2060            _visitor.visit_type_infer_mut(_binding_0);
2061        }
2062        Type::Macro(ref mut _binding_0, ) => {
2063            _visitor.visit_type_macro_mut(_binding_0);
2064        }
2065        Type::Verbatim(ref mut _binding_0, ) => {
2066            _visitor.visit_type_verbatim_mut(_binding_0);
2067        }
2068    }
2069}
2070# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2071pub fn visit_type_array_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeArray) {
2072    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
2073    _visitor.visit_type_mut(& mut * _i . elem);
2074    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
2075    _visitor.visit_expr_mut(& mut _i . len);
2076}
2077# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2078pub fn visit_type_bare_fn_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeBareFn) {
2079    if let Some(ref mut it) = _i . unsafety { tokens_helper(_visitor, &mut (it).0) };
2080    if let Some(ref mut it) = _i . abi { _visitor.visit_abi_mut(it) };
2081    tokens_helper(_visitor, &mut (& mut _i . fn_token).0);
2082    if let Some(ref mut it) = _i . lifetimes { _visitor.visit_bound_lifetimes_mut(it) };
2083    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
2084    for mut el in Punctuated::pairs_mut(& mut _i . inputs) { let it = el.value_mut(); _visitor.visit_bare_fn_arg_mut(it) };
2085    if let Some(ref mut it) = _i . variadic { tokens_helper(_visitor, &mut (it).0) };
2086    _visitor.visit_return_type_mut(& mut _i . output);
2087}
2088# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2089pub fn visit_type_group_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeGroup) {
2090    tokens_helper(_visitor, &mut (& mut _i . group_token).0);
2091    _visitor.visit_type_mut(& mut * _i . elem);
2092}
2093# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2094pub fn visit_type_impl_trait_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeImplTrait) {
2095    tokens_helper(_visitor, &mut (& mut _i . impl_token).0);
2096    for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
2097}
2098# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2099pub fn visit_type_infer_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeInfer) {
2100    tokens_helper(_visitor, &mut (& mut _i . underscore_token).0);
2101}
2102# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2103pub fn visit_type_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeMacro) {
2104    _visitor.visit_macro_mut(& mut _i . mac);
2105}
2106# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2107pub fn visit_type_never_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeNever) {
2108    tokens_helper(_visitor, &mut (& mut _i . bang_token).0);
2109}
2110# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2111pub fn visit_type_param_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeParam) {
2112    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
2113    _visitor.visit_ident_mut(& mut _i . ident);
2114    if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
2115    for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
2116    if let Some(ref mut it) = _i . eq_token { tokens_helper(_visitor, &mut (it).0) };
2117    if let Some(ref mut it) = _i . default { _visitor.visit_type_mut(it) };
2118}
2119# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2120pub fn visit_type_param_bound_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeParamBound) {
2121    match *_i {
2122        TypeParamBound::Trait(ref mut _binding_0, ) => {
2123            _visitor.visit_trait_bound_mut(_binding_0);
2124        }
2125        TypeParamBound::Lifetime(ref mut _binding_0, ) => {
2126            _visitor.visit_lifetime_mut(_binding_0);
2127        }
2128    }
2129}
2130# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2131pub fn visit_type_paren_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeParen) {
2132    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
2133    _visitor.visit_type_mut(& mut * _i . elem);
2134}
2135# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2136pub fn visit_type_path_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypePath) {
2137    if let Some(ref mut it) = _i . qself { _visitor.visit_qself_mut(it) };
2138    _visitor.visit_path_mut(& mut _i . path);
2139}
2140# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2141pub fn visit_type_ptr_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypePtr) {
2142    tokens_helper(_visitor, &mut (& mut _i . star_token).0);
2143    if let Some(ref mut it) = _i . const_token { tokens_helper(_visitor, &mut (it).0) };
2144    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
2145    _visitor.visit_type_mut(& mut * _i . elem);
2146}
2147# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2148pub fn visit_type_reference_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeReference) {
2149    tokens_helper(_visitor, &mut (& mut _i . and_token).0);
2150    if let Some(ref mut it) = _i . lifetime { _visitor.visit_lifetime_mut(it) };
2151    if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
2152    _visitor.visit_type_mut(& mut * _i . elem);
2153}
2154# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2155pub fn visit_type_slice_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeSlice) {
2156    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
2157    _visitor.visit_type_mut(& mut * _i . elem);
2158}
2159# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2160pub fn visit_type_trait_object_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeTraitObject) {
2161    if let Some(ref mut it) = _i . dyn_token { tokens_helper(_visitor, &mut (it).0) };
2162    for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
2163}
2164# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2165pub fn visit_type_tuple_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeTuple) {
2166    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
2167    for mut el in Punctuated::pairs_mut(& mut _i . elems) { let it = el.value_mut(); _visitor.visit_type_mut(it) };
2168}
2169# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2170pub fn visit_type_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeVerbatim) {
2171    // Skipped field _i . tts;
2172}
2173# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2174pub fn visit_un_op_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UnOp) {
2175    match *_i {
2176        UnOp::Deref(ref mut _binding_0, ) => {
2177            tokens_helper(_visitor, &mut (_binding_0).0);
2178        }
2179        UnOp::Not(ref mut _binding_0, ) => {
2180            tokens_helper(_visitor, &mut (_binding_0).0);
2181        }
2182        UnOp::Neg(ref mut _binding_0, ) => {
2183            tokens_helper(_visitor, &mut (_binding_0).0);
2184        }
2185    }
2186}
2187# [ cfg ( feature = "full" ) ]
2188pub fn visit_use_glob_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UseGlob) {
2189    tokens_helper(_visitor, &mut (& mut _i . star_token).0);
2190}
2191# [ cfg ( feature = "full" ) ]
2192pub fn visit_use_list_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UseList) {
2193    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
2194    for mut el in Punctuated::pairs_mut(& mut _i . items) { let it = el.value_mut(); _visitor.visit_use_tree_mut(it) };
2195}
2196# [ cfg ( feature = "full" ) ]
2197pub fn visit_use_path_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UsePath) {
2198    _visitor.visit_ident_mut(& mut _i . ident);
2199    if let Some(ref mut it) = _i . rename { 
2200            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
2201            _visitor.visit_ident_mut(& mut ( it ) . 1);
2202         };
2203}
2204# [ cfg ( feature = "full" ) ]
2205pub fn visit_use_tree_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UseTree) {
2206    match *_i {
2207        UseTree::Path(ref mut _binding_0, ) => {
2208            _visitor.visit_use_path_mut(_binding_0);
2209        }
2210        UseTree::Glob(ref mut _binding_0, ) => {
2211            _visitor.visit_use_glob_mut(_binding_0);
2212        }
2213        UseTree::List(ref mut _binding_0, ) => {
2214            _visitor.visit_use_list_mut(_binding_0);
2215        }
2216    }
2217}
2218# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2219pub fn visit_variant_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Variant) {
2220    for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
2221    _visitor.visit_ident_mut(& mut _i . ident);
2222    _visitor.visit_fields_mut(& mut _i . fields);
2223    if let Some(ref mut it) = _i . discriminant { 
2224            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
2225            _visitor.visit_expr_mut(& mut ( it ) . 1);
2226         };
2227}
2228# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2229pub fn visit_vis_crate_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut VisCrate) {
2230    tokens_helper(_visitor, &mut (& mut _i . pub_token).0);
2231    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
2232    tokens_helper(_visitor, &mut (& mut _i . crate_token).0);
2233}
2234# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2235pub fn visit_vis_public_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut VisPublic) {
2236    tokens_helper(_visitor, &mut (& mut _i . pub_token).0);
2237}
2238# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2239pub fn visit_vis_restricted_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut VisRestricted) {
2240    tokens_helper(_visitor, &mut (& mut _i . pub_token).0);
2241    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
2242    if let Some(ref mut it) = _i . in_token { tokens_helper(_visitor, &mut (it).0) };
2243    _visitor.visit_path_mut(& mut * _i . path);
2244}
2245# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2246pub fn visit_visibility_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Visibility) {
2247    match *_i {
2248        Visibility::Public(ref mut _binding_0, ) => {
2249            _visitor.visit_vis_public_mut(_binding_0);
2250        }
2251        Visibility::Crate(ref mut _binding_0, ) => {
2252            _visitor.visit_vis_crate_mut(_binding_0);
2253        }
2254        Visibility::Restricted(ref mut _binding_0, ) => {
2255            _visitor.visit_vis_restricted_mut(_binding_0);
2256        }
2257        Visibility::Inherited => { }
2258    }
2259}
2260# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2261pub fn visit_where_clause_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut WhereClause) {
2262    tokens_helper(_visitor, &mut (& mut _i . where_token).0);
2263    for mut el in Punctuated::pairs_mut(& mut _i . predicates) { let it = el.value_mut(); _visitor.visit_where_predicate_mut(it) };
2264}
2265# [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
2266pub fn visit_where_predicate_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut WherePredicate) {
2267    match *_i {
2268        WherePredicate::Type(ref mut _binding_0, ) => {
2269            _visitor.visit_predicate_type_mut(_binding_0);
2270        }
2271        WherePredicate::Lifetime(ref mut _binding_0, ) => {
2272            _visitor.visit_predicate_lifetime_mut(_binding_0);
2273        }
2274        WherePredicate::Eq(ref mut _binding_0, ) => {
2275            _visitor.visit_predicate_eq_mut(_binding_0);
2276        }
2277    }
2278}
2279