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