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