blob: 31e7e7a051ab4c8ec23790203114606bcfa93f04 [file] [log] [blame]
Nika Layzell27726662017-10-24 23:16:35 -04001
2// THIS FILE IS AUTOMATICALLY GENERATED; DO NOT EDIT
3
4//! A Folder represents an AST->AST fold; it accepts an AST piece,
5//! and returns a piece of the same type.
6
7// Unreachable code is generated sometimes without the full feature.
8#![allow(unreachable_code)]
9
Nika Layzella6f46c42017-10-26 15:26:16 -040010use *;
Nika Layzell27726662017-10-24 23:16:35 -040011use synom::delimited::Delimited;
12
13trait FoldHelper {
14 type Item;
15 fn lift<F>(self, f: F) -> Self where F: FnMut(Self::Item) -> Self::Item;
16}
17
18impl<T> FoldHelper for Vec<T> {
19 type Item = T;
20 fn lift<F>(self, f: F) -> Self where F: FnMut(Self::Item) -> Self::Item {
21 self.into_iter().map(f).collect()
22 }
23}
24
25impl<T, U> FoldHelper for Delimited<T, U> {
26 type Item = T;
27 fn lift<F>(self, mut f: F) -> Self where F: FnMut(Self::Item) -> Self::Item {
28 self.into_iter().map(|elem| {
29 let (t, u) = elem.into_tuple();
30 (f(t), u)
31 }).collect::<Vec<(T, Option<U>)>>().into()
32 }
33}
34
Nika Layzell4ab8d6e2017-10-26 09:45:49 -040035
36#[cfg(feature = "full")]
37macro_rules! full {
38 ($e:expr) => { $e }
39}
40
41#[cfg(not(feature = "full"))]
42macro_rules! full {
43 ($e:expr) => { unreachable!() }
44}
45
46
Nika Layzell27726662017-10-24 23:16:35 -040047/// AST->AST fold.
48///
49/// Each method of the Folder trait is a hook to be potentially overridden. Each
50/// method's default implementation recursively visits the substructure of the
51/// input via the `walk` functions, which perform an "identity fold", that
52/// is, they return the same structure that they are given (for example the
53/// `fold_file` method by default calls `fold::walk_file`).
54///
55/// If you want to ensure that your code handles every variant
56/// explicitly, you need to override each method. (And you also need
57/// to monitor future changes to `Folder` in case a new method with a
58/// new default implementation gets introduced.)
59pub trait Folder {
60
Nika Layzella6f46c42017-10-26 15:26:16 -040061fn fold_abi(&mut self, i: Abi) -> Abi { fold_abi(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040062
Nika Layzella6f46c42017-10-26 15:26:16 -040063fn fold_abi_kind(&mut self, i: AbiKind) -> AbiKind { fold_abi_kind(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040064
Nika Layzella6f46c42017-10-26 15:26:16 -040065fn fold_angle_bracketed_parameter_data(&mut self, i: AngleBracketedParameterData) -> AngleBracketedParameterData { fold_angle_bracketed_parameter_data(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040066# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -040067fn fold_arg_captured(&mut self, i: ArgCaptured) -> ArgCaptured { fold_arg_captured(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040068# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -040069fn fold_arg_self(&mut self, i: ArgSelf) -> ArgSelf { fold_arg_self(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040070# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -040071fn fold_arg_self_ref(&mut self, i: ArgSelfRef) -> ArgSelfRef { fold_arg_self_ref(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040072# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -040073fn fold_arm(&mut self, i: Arm) -> Arm { fold_arm(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040074
Nika Layzella6f46c42017-10-26 15:26:16 -040075fn fold_attr_style(&mut self, i: AttrStyle) -> AttrStyle { fold_attr_style(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040076
Nika Layzella6f46c42017-10-26 15:26:16 -040077fn fold_attribute(&mut self, i: Attribute) -> Attribute { fold_attribute(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040078
Nika Layzella6f46c42017-10-26 15:26:16 -040079fn fold_bare_fn_arg(&mut self, i: BareFnArg) -> BareFnArg { fold_bare_fn_arg(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040080
Nika Layzella6f46c42017-10-26 15:26:16 -040081fn fold_bare_fn_arg_name(&mut self, i: BareFnArgName) -> BareFnArgName { fold_bare_fn_arg_name(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040082
Nika Layzella6f46c42017-10-26 15:26:16 -040083fn fold_bare_fn_ty(&mut self, i: BareFnTy) -> BareFnTy { fold_bare_fn_ty(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040084
Nika Layzella6f46c42017-10-26 15:26:16 -040085fn fold_bin_op(&mut self, i: BinOp) -> BinOp { fold_bin_op(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040086# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -040087fn fold_binding_mode(&mut self, i: BindingMode) -> BindingMode { fold_binding_mode(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040088# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -040089fn fold_block(&mut self, i: Block) -> Block { fold_block(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040090
Nika Layzella6f46c42017-10-26 15:26:16 -040091fn fold_body(&mut self, i: Body) -> Body { fold_body(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040092
Nika Layzella6f46c42017-10-26 15:26:16 -040093fn fold_body_enum(&mut self, i: BodyEnum) -> BodyEnum { fold_body_enum(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040094
Nika Layzella6f46c42017-10-26 15:26:16 -040095fn fold_body_struct(&mut self, i: BodyStruct) -> BodyStruct { fold_body_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040096
Nika Layzella6f46c42017-10-26 15:26:16 -040097fn fold_bound_lifetimes(&mut self, i: BoundLifetimes) -> BoundLifetimes { fold_bound_lifetimes(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040098# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -040099fn fold_capture_by(&mut self, i: CaptureBy) -> CaptureBy { fold_capture_by(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400100# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400101fn fold_constness(&mut self, i: Constness) -> Constness { fold_constness(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400102# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400103fn fold_defaultness(&mut self, i: Defaultness) -> Defaultness { fold_defaultness(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400104
Nika Layzella6f46c42017-10-26 15:26:16 -0400105fn fold_derive_input(&mut self, i: DeriveInput) -> DeriveInput { fold_derive_input(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400106
Nika Layzella6f46c42017-10-26 15:26:16 -0400107fn fold_expr(&mut self, i: Expr) -> Expr { fold_expr(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400108# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400109fn fold_expr_addr_of(&mut self, i: ExprAddrOf) -> ExprAddrOf { fold_expr_addr_of(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400110# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400111fn fold_expr_array(&mut self, i: ExprArray) -> ExprArray { fold_expr_array(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400112# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400113fn fold_expr_assign(&mut self, i: ExprAssign) -> ExprAssign { fold_expr_assign(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400114# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400115fn fold_expr_assign_op(&mut self, i: ExprAssignOp) -> ExprAssignOp { fold_expr_assign_op(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400116
Nika Layzella6f46c42017-10-26 15:26:16 -0400117fn fold_expr_binary(&mut self, i: ExprBinary) -> ExprBinary { fold_expr_binary(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400118# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400119fn fold_expr_block(&mut self, i: ExprBlock) -> ExprBlock { fold_expr_block(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400120# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400121fn fold_expr_box(&mut self, i: ExprBox) -> ExprBox { fold_expr_box(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400122# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400123fn fold_expr_break(&mut self, i: ExprBreak) -> ExprBreak { fold_expr_break(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400124
Nika Layzella6f46c42017-10-26 15:26:16 -0400125fn fold_expr_call(&mut self, i: ExprCall) -> ExprCall { fold_expr_call(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400126
Nika Layzella6f46c42017-10-26 15:26:16 -0400127fn fold_expr_cast(&mut self, i: ExprCast) -> ExprCast { fold_expr_cast(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400128# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400129fn fold_expr_catch(&mut self, i: ExprCatch) -> ExprCatch { fold_expr_catch(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400130# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400131fn fold_expr_closure(&mut self, i: ExprClosure) -> ExprClosure { fold_expr_closure(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400132# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400133fn fold_expr_continue(&mut self, i: ExprContinue) -> ExprContinue { fold_expr_continue(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400134# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400135fn fold_expr_field(&mut self, i: ExprField) -> ExprField { fold_expr_field(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400136# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400137fn fold_expr_for_loop(&mut self, i: ExprForLoop) -> ExprForLoop { fold_expr_for_loop(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400138
Nika Layzella6f46c42017-10-26 15:26:16 -0400139fn fold_expr_group(&mut self, i: ExprGroup) -> ExprGroup { fold_expr_group(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400140# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400141fn fold_expr_if(&mut self, i: ExprIf) -> ExprIf { fold_expr_if(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400142# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400143fn fold_expr_if_let(&mut self, i: ExprIfLet) -> ExprIfLet { fold_expr_if_let(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400144# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400145fn fold_expr_in_place(&mut self, i: ExprInPlace) -> ExprInPlace { fold_expr_in_place(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400146
Nika Layzella6f46c42017-10-26 15:26:16 -0400147fn fold_expr_index(&mut self, i: ExprIndex) -> ExprIndex { fold_expr_index(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400148
Nika Layzella6f46c42017-10-26 15:26:16 -0400149fn fold_expr_kind(&mut self, i: ExprKind) -> ExprKind { fold_expr_kind(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400150# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400151fn fold_expr_loop(&mut self, i: ExprLoop) -> ExprLoop { fold_expr_loop(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400152# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400153fn fold_expr_match(&mut self, i: ExprMatch) -> ExprMatch { fold_expr_match(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400154# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400155fn fold_expr_method_call(&mut self, i: ExprMethodCall) -> ExprMethodCall { fold_expr_method_call(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400156
Nika Layzella6f46c42017-10-26 15:26:16 -0400157fn fold_expr_paren(&mut self, i: ExprParen) -> ExprParen { fold_expr_paren(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400158
Nika Layzella6f46c42017-10-26 15:26:16 -0400159fn fold_expr_path(&mut self, i: ExprPath) -> ExprPath { fold_expr_path(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400160# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400161fn fold_expr_range(&mut self, i: ExprRange) -> ExprRange { fold_expr_range(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400162# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400163fn fold_expr_repeat(&mut self, i: ExprRepeat) -> ExprRepeat { fold_expr_repeat(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400164# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400165fn fold_expr_ret(&mut self, i: ExprRet) -> ExprRet { fold_expr_ret(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400166# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400167fn fold_expr_struct(&mut self, i: ExprStruct) -> ExprStruct { fold_expr_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400168# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400169fn fold_expr_try(&mut self, i: ExprTry) -> ExprTry { fold_expr_try(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400170# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400171fn fold_expr_tup(&mut self, i: ExprTup) -> ExprTup { fold_expr_tup(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400172# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400173fn fold_expr_tup_field(&mut self, i: ExprTupField) -> ExprTupField { fold_expr_tup_field(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400174
Nika Layzella6f46c42017-10-26 15:26:16 -0400175fn fold_expr_type(&mut self, i: ExprType) -> ExprType { fold_expr_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400176
Nika Layzella6f46c42017-10-26 15:26:16 -0400177fn fold_expr_unary(&mut self, i: ExprUnary) -> ExprUnary { fold_expr_unary(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400178# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400179fn fold_expr_while(&mut self, i: ExprWhile) -> ExprWhile { fold_expr_while(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400180# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400181fn fold_expr_while_let(&mut self, i: ExprWhileLet) -> ExprWhileLet { fold_expr_while_let(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400182# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400183fn fold_expr_yield(&mut self, i: ExprYield) -> ExprYield { fold_expr_yield(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400184
Nika Layzella6f46c42017-10-26 15:26:16 -0400185fn fold_field(&mut self, i: Field) -> Field { fold_field(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400186# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400187fn fold_field_pat(&mut self, i: FieldPat) -> FieldPat { fold_field_pat(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400188# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400189fn fold_field_value(&mut self, i: FieldValue) -> FieldValue { fold_field_value(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400190# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400191fn fold_file(&mut self, i: File) -> File { fold_file(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400192# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400193fn fold_fn_arg(&mut self, i: FnArg) -> FnArg { fold_fn_arg(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400194# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400195fn fold_fn_decl(&mut self, i: FnDecl) -> FnDecl { fold_fn_decl(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400196# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400197fn fold_foreign_item(&mut self, i: ForeignItem) -> ForeignItem { fold_foreign_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400198# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400199fn fold_foreign_item_fn(&mut self, i: ForeignItemFn) -> ForeignItemFn { fold_foreign_item_fn(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400200# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400201fn fold_foreign_item_static(&mut self, i: ForeignItemStatic) -> ForeignItemStatic { fold_foreign_item_static(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400202
Nika Layzella6f46c42017-10-26 15:26:16 -0400203fn fold_function_ret_ty(&mut self, i: FunctionRetTy) -> FunctionRetTy { fold_function_ret_ty(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400204
Nika Layzella6f46c42017-10-26 15:26:16 -0400205fn fold_generics(&mut self, i: Generics) -> Generics { fold_generics(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400206# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400207fn fold_impl_item(&mut self, i: ImplItem) -> ImplItem { fold_impl_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400208# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400209fn fold_impl_item_const(&mut self, i: ImplItemConst) -> ImplItemConst { fold_impl_item_const(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400210# [ cfg ( feature = "full" ) ]
David Tolnay857628c2017-11-11 12:25:31 -0800211fn fold_impl_item_macro(&mut self, i: ImplItemMacro) -> ImplItemMacro { fold_impl_item_macro(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400212# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400213fn fold_impl_item_method(&mut self, i: ImplItemMethod) -> ImplItemMethod { fold_impl_item_method(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400214# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400215fn fold_impl_item_type(&mut self, i: ImplItemType) -> ImplItemType { fold_impl_item_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400216# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400217fn fold_impl_polarity(&mut self, i: ImplPolarity) -> ImplPolarity { fold_impl_polarity(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400218# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400219fn fold_in_place_kind(&mut self, i: InPlaceKind) -> InPlaceKind { fold_in_place_kind(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400220# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400221fn fold_item(&mut self, i: Item) -> Item { fold_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400222# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400223fn fold_item_const(&mut self, i: ItemConst) -> ItemConst { fold_item_const(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400224# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400225fn fold_item_default_impl(&mut self, i: ItemDefaultImpl) -> ItemDefaultImpl { fold_item_default_impl(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400226# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400227fn fold_item_enum(&mut self, i: ItemEnum) -> ItemEnum { fold_item_enum(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400228# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400229fn fold_item_extern_crate(&mut self, i: ItemExternCrate) -> ItemExternCrate { fold_item_extern_crate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400230# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400231fn fold_item_fn(&mut self, i: ItemFn) -> ItemFn { fold_item_fn(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400232# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400233fn fold_item_foreign_mod(&mut self, i: ItemForeignMod) -> ItemForeignMod { fold_item_foreign_mod(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400234# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400235fn fold_item_impl(&mut self, i: ItemImpl) -> ItemImpl { fold_item_impl(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400236# [ cfg ( feature = "full" ) ]
David Tolnaydecf28d2017-11-11 11:56:45 -0800237fn fold_item_macro(&mut self, i: ItemMacro) -> ItemMacro { fold_item_macro(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400238# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400239fn fold_item_mod(&mut self, i: ItemMod) -> ItemMod { fold_item_mod(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400240# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400241fn fold_item_static(&mut self, i: ItemStatic) -> ItemStatic { fold_item_static(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400242# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400243fn fold_item_struct(&mut self, i: ItemStruct) -> ItemStruct { fold_item_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400244# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400245fn fold_item_trait(&mut self, i: ItemTrait) -> ItemTrait { fold_item_trait(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400246# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400247fn fold_item_ty(&mut self, i: ItemTy) -> ItemTy { fold_item_ty(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400248# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400249fn fold_item_union(&mut self, i: ItemUnion) -> ItemUnion { fold_item_union(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400250# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400251fn fold_item_use(&mut self, i: ItemUse) -> ItemUse { fold_item_use(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400252
Nika Layzella6f46c42017-10-26 15:26:16 -0400253fn fold_lifetime_def(&mut self, i: LifetimeDef) -> LifetimeDef { fold_lifetime_def(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400254# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400255fn fold_local(&mut self, i: Local) -> Local { fold_local(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400256# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400257fn fold_mac_stmt_style(&mut self, i: MacStmtStyle) -> MacStmtStyle { fold_mac_stmt_style(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400258
David Tolnaydecf28d2017-11-11 11:56:45 -0800259fn fold_macro(&mut self, i: Macro) -> Macro { fold_macro(self, i) }
260
Nika Layzella6f46c42017-10-26 15:26:16 -0400261fn fold_meta_item(&mut self, i: MetaItem) -> MetaItem { fold_meta_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400262
Nika Layzella6f46c42017-10-26 15:26:16 -0400263fn fold_meta_item_list(&mut self, i: MetaItemList) -> MetaItemList { fold_meta_item_list(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400264
Nika Layzella6f46c42017-10-26 15:26:16 -0400265fn fold_meta_name_value(&mut self, i: MetaNameValue) -> MetaNameValue { fold_meta_name_value(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400266# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400267fn fold_method_sig(&mut self, i: MethodSig) -> MethodSig { fold_method_sig(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400268
Nika Layzella6f46c42017-10-26 15:26:16 -0400269fn fold_mut_ty(&mut self, i: MutTy) -> MutTy { fold_mut_ty(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400270
Nika Layzella6f46c42017-10-26 15:26:16 -0400271fn fold_mutability(&mut self, i: Mutability) -> Mutability { fold_mutability(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400272
Nika Layzella6f46c42017-10-26 15:26:16 -0400273fn fold_nested_meta_item(&mut self, i: NestedMetaItem) -> NestedMetaItem { fold_nested_meta_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400274
Nika Layzella6f46c42017-10-26 15:26:16 -0400275fn fold_parenthesized_parameter_data(&mut self, i: ParenthesizedParameterData) -> ParenthesizedParameterData { fold_parenthesized_parameter_data(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400276# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400277fn fold_pat(&mut self, i: Pat) -> Pat { fold_pat(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400278# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400279fn fold_pat_box(&mut self, i: PatBox) -> PatBox { fold_pat_box(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400280# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400281fn fold_pat_ident(&mut self, i: PatIdent) -> PatIdent { fold_pat_ident(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400282# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400283fn fold_pat_lit(&mut self, i: PatLit) -> PatLit { fold_pat_lit(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400284# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400285fn fold_pat_path(&mut self, i: PatPath) -> PatPath { fold_pat_path(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400286# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400287fn fold_pat_range(&mut self, i: PatRange) -> PatRange { fold_pat_range(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400288# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400289fn fold_pat_ref(&mut self, i: PatRef) -> PatRef { fold_pat_ref(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400290# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400291fn fold_pat_slice(&mut self, i: PatSlice) -> PatSlice { fold_pat_slice(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400292# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400293fn fold_pat_struct(&mut self, i: PatStruct) -> PatStruct { fold_pat_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400294# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400295fn fold_pat_tuple(&mut self, i: PatTuple) -> PatTuple { fold_pat_tuple(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400296# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400297fn fold_pat_tuple_struct(&mut self, i: PatTupleStruct) -> PatTupleStruct { fold_pat_tuple_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400298# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400299fn fold_pat_wild(&mut self, i: PatWild) -> PatWild { fold_pat_wild(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400300
Nika Layzella6f46c42017-10-26 15:26:16 -0400301fn fold_path(&mut self, i: Path) -> Path { fold_path(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400302# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400303fn fold_path_glob(&mut self, i: PathGlob) -> PathGlob { fold_path_glob(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400304# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400305fn fold_path_list(&mut self, i: PathList) -> PathList { fold_path_list(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400306# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400307fn fold_path_list_item(&mut self, i: PathListItem) -> PathListItem { fold_path_list_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400308
Nika Layzella6f46c42017-10-26 15:26:16 -0400309fn fold_path_parameters(&mut self, i: PathParameters) -> PathParameters { fold_path_parameters(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400310
Nika Layzella6f46c42017-10-26 15:26:16 -0400311fn fold_path_segment(&mut self, i: PathSegment) -> PathSegment { fold_path_segment(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400312# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400313fn fold_path_simple(&mut self, i: PathSimple) -> PathSimple { fold_path_simple(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400314
Nika Layzella6f46c42017-10-26 15:26:16 -0400315fn fold_poly_trait_ref(&mut self, i: PolyTraitRef) -> PolyTraitRef { fold_poly_trait_ref(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400316
Nika Layzella6f46c42017-10-26 15:26:16 -0400317fn fold_qself(&mut self, i: QSelf) -> QSelf { fold_qself(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400318# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400319fn fold_range_limits(&mut self, i: RangeLimits) -> RangeLimits { fold_range_limits(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400320# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400321fn fold_stmt(&mut self, i: Stmt) -> Stmt { fold_stmt(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400322
Nika Layzella6f46c42017-10-26 15:26:16 -0400323fn fold_trait_bound_modifier(&mut self, i: TraitBoundModifier) -> TraitBoundModifier { fold_trait_bound_modifier(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400324# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400325fn fold_trait_item(&mut self, i: TraitItem) -> TraitItem { fold_trait_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400326# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400327fn fold_trait_item_const(&mut self, i: TraitItemConst) -> TraitItemConst { fold_trait_item_const(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400328# [ cfg ( feature = "full" ) ]
David Tolnaydecf28d2017-11-11 11:56:45 -0800329fn fold_trait_item_macro(&mut self, i: TraitItemMacro) -> TraitItemMacro { fold_trait_item_macro(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400330# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400331fn fold_trait_item_method(&mut self, i: TraitItemMethod) -> TraitItemMethod { fold_trait_item_method(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400332# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400333fn fold_trait_item_type(&mut self, i: TraitItemType) -> TraitItemType { fold_trait_item_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400334
Nika Layzella6f46c42017-10-26 15:26:16 -0400335fn fold_ty(&mut self, i: Ty) -> Ty { fold_ty(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400336
Nika Layzella6f46c42017-10-26 15:26:16 -0400337fn fold_ty_array(&mut self, i: TyArray) -> TyArray { fold_ty_array(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400338
Nika Layzella6f46c42017-10-26 15:26:16 -0400339fn fold_ty_bare_fn(&mut self, i: TyBareFn) -> TyBareFn { fold_ty_bare_fn(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400340
Nika Layzella6f46c42017-10-26 15:26:16 -0400341fn fold_ty_group(&mut self, i: TyGroup) -> TyGroup { fold_ty_group(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400342
Nika Layzella6f46c42017-10-26 15:26:16 -0400343fn fold_ty_impl_trait(&mut self, i: TyImplTrait) -> TyImplTrait { fold_ty_impl_trait(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400344
Nika Layzella6f46c42017-10-26 15:26:16 -0400345fn fold_ty_infer(&mut self, i: TyInfer) -> TyInfer { fold_ty_infer(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400346
Nika Layzella6f46c42017-10-26 15:26:16 -0400347fn fold_ty_never(&mut self, i: TyNever) -> TyNever { fold_ty_never(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400348
Nika Layzella6f46c42017-10-26 15:26:16 -0400349fn fold_ty_param(&mut self, i: TyParam) -> TyParam { fold_ty_param(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400350
Nika Layzella6f46c42017-10-26 15:26:16 -0400351fn fold_ty_param_bound(&mut self, i: TyParamBound) -> TyParamBound { fold_ty_param_bound(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400352
Nika Layzella6f46c42017-10-26 15:26:16 -0400353fn fold_ty_paren(&mut self, i: TyParen) -> TyParen { fold_ty_paren(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400354
Nika Layzella6f46c42017-10-26 15:26:16 -0400355fn fold_ty_path(&mut self, i: TyPath) -> TyPath { fold_ty_path(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400356
Nika Layzella6f46c42017-10-26 15:26:16 -0400357fn fold_ty_ptr(&mut self, i: TyPtr) -> TyPtr { fold_ty_ptr(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400358
Nika Layzella6f46c42017-10-26 15:26:16 -0400359fn fold_ty_rptr(&mut self, i: TyRptr) -> TyRptr { fold_ty_rptr(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400360
Nika Layzella6f46c42017-10-26 15:26:16 -0400361fn fold_ty_slice(&mut self, i: TySlice) -> TySlice { fold_ty_slice(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400362
Nika Layzella6f46c42017-10-26 15:26:16 -0400363fn fold_ty_trait_object(&mut self, i: TyTraitObject) -> TyTraitObject { fold_ty_trait_object(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400364
Nika Layzella6f46c42017-10-26 15:26:16 -0400365fn fold_ty_tup(&mut self, i: TyTup) -> TyTup { fold_ty_tup(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400366
Nika Layzella6f46c42017-10-26 15:26:16 -0400367fn fold_type_binding(&mut self, i: TypeBinding) -> TypeBinding { fold_type_binding(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400368
Nika Layzella6f46c42017-10-26 15:26:16 -0400369fn fold_un_op(&mut self, i: UnOp) -> UnOp { fold_un_op(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400370
Nika Layzella6f46c42017-10-26 15:26:16 -0400371fn fold_unsafety(&mut self, i: Unsafety) -> Unsafety { fold_unsafety(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400372
Nika Layzella6f46c42017-10-26 15:26:16 -0400373fn fold_variant(&mut self, i: Variant) -> Variant { fold_variant(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400374
Nika Layzella6f46c42017-10-26 15:26:16 -0400375fn fold_variant_data(&mut self, i: VariantData) -> VariantData { fold_variant_data(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400376# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400377fn fold_view_path(&mut self, i: ViewPath) -> ViewPath { fold_view_path(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400378
Nika Layzella6f46c42017-10-26 15:26:16 -0400379fn fold_vis_crate(&mut self, i: VisCrate) -> VisCrate { fold_vis_crate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400380
Nika Layzella6f46c42017-10-26 15:26:16 -0400381fn fold_vis_inherited(&mut self, i: VisInherited) -> VisInherited { fold_vis_inherited(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400382
Nika Layzella6f46c42017-10-26 15:26:16 -0400383fn fold_vis_public(&mut self, i: VisPublic) -> VisPublic { fold_vis_public(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400384
Nika Layzella6f46c42017-10-26 15:26:16 -0400385fn fold_vis_restricted(&mut self, i: VisRestricted) -> VisRestricted { fold_vis_restricted(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400386
Nika Layzella6f46c42017-10-26 15:26:16 -0400387fn fold_visibility(&mut self, i: Visibility) -> Visibility { fold_visibility(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400388
Nika Layzella6f46c42017-10-26 15:26:16 -0400389fn fold_where_bound_predicate(&mut self, i: WhereBoundPredicate) -> WhereBoundPredicate { fold_where_bound_predicate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400390
Nika Layzella6f46c42017-10-26 15:26:16 -0400391fn fold_where_clause(&mut self, i: WhereClause) -> WhereClause { fold_where_clause(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400392
Nika Layzella6f46c42017-10-26 15:26:16 -0400393fn fold_where_eq_predicate(&mut self, i: WhereEqPredicate) -> WhereEqPredicate { fold_where_eq_predicate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400394
Nika Layzella6f46c42017-10-26 15:26:16 -0400395fn fold_where_predicate(&mut self, i: WherePredicate) -> WherePredicate { fold_where_predicate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400396
Nika Layzella6f46c42017-10-26 15:26:16 -0400397fn fold_where_region_predicate(&mut self, i: WhereRegionPredicate) -> WhereRegionPredicate { fold_where_region_predicate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400398
399}
400
401
Nika Layzella6f46c42017-10-26 15:26:16 -0400402pub fn fold_abi<V: Folder + ?Sized>(_visitor: &mut V, _i: Abi) -> Abi {
Nika Layzell27726662017-10-24 23:16:35 -0400403 Abi {
404 extern_token: _i . extern_token,
405 kind: _visitor.fold_abi_kind(_i . kind),
406 }
407}
408
Nika Layzella6f46c42017-10-26 15:26:16 -0400409pub fn fold_abi_kind<V: Folder + ?Sized>(_visitor: &mut V, _i: AbiKind) -> AbiKind {
Nika Layzell27726662017-10-24 23:16:35 -0400410 use ::AbiKind::*;
411 match _i {
412 Named(_binding_0, ) => {
413 Named (
414 _binding_0,
415 )
416 }
417 Default => { Default }
418 }
419}
420
Nika Layzella6f46c42017-10-26 15:26:16 -0400421pub fn fold_angle_bracketed_parameter_data<V: Folder + ?Sized>(_visitor: &mut V, _i: AngleBracketedParameterData) -> AngleBracketedParameterData {
Nika Layzell27726662017-10-24 23:16:35 -0400422 AngleBracketedParameterData {
423 turbofish: _i . turbofish,
424 lt_token: _i . lt_token,
425 lifetimes: _i . lifetimes,
426 types: FoldHelper::lift(_i . types, |it| { _visitor.fold_ty(it) }),
427 bindings: FoldHelper::lift(_i . bindings, |it| { _visitor.fold_type_binding(it) }),
428 gt_token: _i . gt_token,
429 }
430}
431# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400432pub fn fold_arg_captured<V: Folder + ?Sized>(_visitor: &mut V, _i: ArgCaptured) -> ArgCaptured {
Nika Layzell27726662017-10-24 23:16:35 -0400433 ArgCaptured {
434 pat: _visitor.fold_pat(_i . pat),
435 colon_token: _i . colon_token,
436 ty: _visitor.fold_ty(_i . ty),
437 }
438}
439# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400440pub fn fold_arg_self<V: Folder + ?Sized>(_visitor: &mut V, _i: ArgSelf) -> ArgSelf {
Nika Layzell27726662017-10-24 23:16:35 -0400441 ArgSelf {
442 mutbl: _visitor.fold_mutability(_i . mutbl),
443 self_token: _i . self_token,
444 }
445}
446# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400447pub fn fold_arg_self_ref<V: Folder + ?Sized>(_visitor: &mut V, _i: ArgSelfRef) -> ArgSelfRef {
Nika Layzell27726662017-10-24 23:16:35 -0400448 ArgSelfRef {
449 and_token: _i . and_token,
450 self_token: _i . self_token,
451 lifetime: _i . lifetime,
452 mutbl: _visitor.fold_mutability(_i . mutbl),
453 }
454}
455# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400456pub fn fold_arm<V: Folder + ?Sized>(_visitor: &mut V, _i: Arm) -> Arm {
Nika Layzell27726662017-10-24 23:16:35 -0400457 Arm {
458 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
459 pats: FoldHelper::lift(_i . pats, |it| { _visitor.fold_pat(it) }),
460 if_token: _i . if_token,
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400461 guard: (_i . guard).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -0400462 rocket_token: _i . rocket_token,
463 body: Box::new(_visitor.fold_expr(* _i . body)),
464 comma: _i . comma,
465 }
466}
467
Nika Layzella6f46c42017-10-26 15:26:16 -0400468pub fn fold_attr_style<V: Folder + ?Sized>(_visitor: &mut V, _i: AttrStyle) -> AttrStyle {
Nika Layzell27726662017-10-24 23:16:35 -0400469 use ::AttrStyle::*;
470 match _i {
471 Outer => { Outer }
472 Inner(_binding_0, ) => {
473 Inner (
474 _binding_0,
475 )
476 }
477 }
478}
479
Nika Layzella6f46c42017-10-26 15:26:16 -0400480pub fn fold_attribute<V: Folder + ?Sized>(_visitor: &mut V, _i: Attribute) -> Attribute {
Nika Layzell27726662017-10-24 23:16:35 -0400481 Attribute {
482 style: _visitor.fold_attr_style(_i . style),
483 pound_token: _i . pound_token,
484 bracket_token: _i . bracket_token,
485 path: _visitor.fold_path(_i . path),
486 tts: _i . tts,
487 is_sugared_doc: _i . is_sugared_doc,
488 }
489}
490
Nika Layzella6f46c42017-10-26 15:26:16 -0400491pub fn fold_bare_fn_arg<V: Folder + ?Sized>(_visitor: &mut V, _i: BareFnArg) -> BareFnArg {
Nika Layzell27726662017-10-24 23:16:35 -0400492 BareFnArg {
493 name: _i . name,
494 ty: _visitor.fold_ty(_i . ty),
495 }
496}
497
Nika Layzella6f46c42017-10-26 15:26:16 -0400498pub fn fold_bare_fn_arg_name<V: Folder + ?Sized>(_visitor: &mut V, _i: BareFnArgName) -> BareFnArgName {
Nika Layzell27726662017-10-24 23:16:35 -0400499 use ::BareFnArgName::*;
500 match _i {
501 Named(_binding_0, ) => {
502 Named (
503 _binding_0,
504 )
505 }
506 Wild(_binding_0, ) => {
507 Wild (
508 _binding_0,
509 )
510 }
511 }
512}
513
Nika Layzella6f46c42017-10-26 15:26:16 -0400514pub fn fold_bare_fn_ty<V: Folder + ?Sized>(_visitor: &mut V, _i: BareFnTy) -> BareFnTy {
Nika Layzell27726662017-10-24 23:16:35 -0400515 BareFnTy {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400516 lifetimes: (_i . lifetimes).map(|it| { _visitor.fold_bound_lifetimes(it) }),
Nika Layzell27726662017-10-24 23:16:35 -0400517 unsafety: _visitor.fold_unsafety(_i . unsafety),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400518 abi: (_i . abi).map(|it| { _visitor.fold_abi(it) }),
Nika Layzell27726662017-10-24 23:16:35 -0400519 fn_token: _i . fn_token,
520 paren_token: _i . paren_token,
521 inputs: FoldHelper::lift(_i . inputs, |it| { _visitor.fold_bare_fn_arg(it) }),
522 variadic: _i . variadic,
523 output: _visitor.fold_function_ret_ty(_i . output),
524 }
525}
526
Nika Layzella6f46c42017-10-26 15:26:16 -0400527pub fn fold_bin_op<V: Folder + ?Sized>(_visitor: &mut V, _i: BinOp) -> BinOp {
Nika Layzell27726662017-10-24 23:16:35 -0400528 use ::BinOp::*;
529 match _i {
530 Add(_binding_0, ) => {
531 Add (
532 _binding_0,
533 )
534 }
535 Sub(_binding_0, ) => {
536 Sub (
537 _binding_0,
538 )
539 }
540 Mul(_binding_0, ) => {
541 Mul (
542 _binding_0,
543 )
544 }
545 Div(_binding_0, ) => {
546 Div (
547 _binding_0,
548 )
549 }
550 Rem(_binding_0, ) => {
551 Rem (
552 _binding_0,
553 )
554 }
555 And(_binding_0, ) => {
556 And (
557 _binding_0,
558 )
559 }
560 Or(_binding_0, ) => {
561 Or (
562 _binding_0,
563 )
564 }
565 BitXor(_binding_0, ) => {
566 BitXor (
567 _binding_0,
568 )
569 }
570 BitAnd(_binding_0, ) => {
571 BitAnd (
572 _binding_0,
573 )
574 }
575 BitOr(_binding_0, ) => {
576 BitOr (
577 _binding_0,
578 )
579 }
580 Shl(_binding_0, ) => {
581 Shl (
582 _binding_0,
583 )
584 }
585 Shr(_binding_0, ) => {
586 Shr (
587 _binding_0,
588 )
589 }
590 Eq(_binding_0, ) => {
591 Eq (
592 _binding_0,
593 )
594 }
595 Lt(_binding_0, ) => {
596 Lt (
597 _binding_0,
598 )
599 }
600 Le(_binding_0, ) => {
601 Le (
602 _binding_0,
603 )
604 }
605 Ne(_binding_0, ) => {
606 Ne (
607 _binding_0,
608 )
609 }
610 Ge(_binding_0, ) => {
611 Ge (
612 _binding_0,
613 )
614 }
615 Gt(_binding_0, ) => {
616 Gt (
617 _binding_0,
618 )
619 }
620 AddEq(_binding_0, ) => {
621 AddEq (
622 _binding_0,
623 )
624 }
625 SubEq(_binding_0, ) => {
626 SubEq (
627 _binding_0,
628 )
629 }
630 MulEq(_binding_0, ) => {
631 MulEq (
632 _binding_0,
633 )
634 }
635 DivEq(_binding_0, ) => {
636 DivEq (
637 _binding_0,
638 )
639 }
640 RemEq(_binding_0, ) => {
641 RemEq (
642 _binding_0,
643 )
644 }
645 BitXorEq(_binding_0, ) => {
646 BitXorEq (
647 _binding_0,
648 )
649 }
650 BitAndEq(_binding_0, ) => {
651 BitAndEq (
652 _binding_0,
653 )
654 }
655 BitOrEq(_binding_0, ) => {
656 BitOrEq (
657 _binding_0,
658 )
659 }
660 ShlEq(_binding_0, ) => {
661 ShlEq (
662 _binding_0,
663 )
664 }
665 ShrEq(_binding_0, ) => {
666 ShrEq (
667 _binding_0,
668 )
669 }
670 }
671}
672# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400673pub fn fold_binding_mode<V: Folder + ?Sized>(_visitor: &mut V, _i: BindingMode) -> BindingMode {
Nika Layzell27726662017-10-24 23:16:35 -0400674 use ::BindingMode::*;
675 match _i {
676 ByRef(_binding_0, _binding_1, ) => {
677 ByRef (
678 _binding_0,
679 _visitor.fold_mutability(_binding_1),
680 )
681 }
682 ByValue(_binding_0, ) => {
683 ByValue (
684 _visitor.fold_mutability(_binding_0),
685 )
686 }
687 }
688}
689# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400690pub fn fold_block<V: Folder + ?Sized>(_visitor: &mut V, _i: Block) -> Block {
Nika Layzell27726662017-10-24 23:16:35 -0400691 Block {
692 brace_token: _i . brace_token,
693 stmts: FoldHelper::lift(_i . stmts, |it| { _visitor.fold_stmt(it) }),
694 }
695}
696
Nika Layzella6f46c42017-10-26 15:26:16 -0400697pub fn fold_body<V: Folder + ?Sized>(_visitor: &mut V, _i: Body) -> Body {
Nika Layzell27726662017-10-24 23:16:35 -0400698 use ::Body::*;
699 match _i {
700 Enum(_binding_0, ) => {
701 Enum (
702 _visitor.fold_body_enum(_binding_0),
703 )
704 }
705 Struct(_binding_0, ) => {
706 Struct (
707 _visitor.fold_body_struct(_binding_0),
708 )
709 }
710 }
711}
712
Nika Layzella6f46c42017-10-26 15:26:16 -0400713pub fn fold_body_enum<V: Folder + ?Sized>(_visitor: &mut V, _i: BodyEnum) -> BodyEnum {
Nika Layzell27726662017-10-24 23:16:35 -0400714 BodyEnum {
715 enum_token: _i . enum_token,
716 brace_token: _i . brace_token,
717 variants: FoldHelper::lift(_i . variants, |it| { _visitor.fold_variant(it) }),
718 }
719}
720
Nika Layzella6f46c42017-10-26 15:26:16 -0400721pub fn fold_body_struct<V: Folder + ?Sized>(_visitor: &mut V, _i: BodyStruct) -> BodyStruct {
Nika Layzell27726662017-10-24 23:16:35 -0400722 BodyStruct {
723 data: _visitor.fold_variant_data(_i . data),
724 struct_token: _i . struct_token,
725 semi_token: _i . semi_token,
726 }
727}
728
Nika Layzella6f46c42017-10-26 15:26:16 -0400729pub fn fold_bound_lifetimes<V: Folder + ?Sized>(_visitor: &mut V, _i: BoundLifetimes) -> BoundLifetimes {
Nika Layzell27726662017-10-24 23:16:35 -0400730 BoundLifetimes {
731 for_token: _i . for_token,
732 lt_token: _i . lt_token,
733 lifetimes: FoldHelper::lift(_i . lifetimes, |it| { _visitor.fold_lifetime_def(it) }),
734 gt_token: _i . gt_token,
735 }
736}
737# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400738pub fn fold_capture_by<V: Folder + ?Sized>(_visitor: &mut V, _i: CaptureBy) -> CaptureBy {
Nika Layzell27726662017-10-24 23:16:35 -0400739 use ::CaptureBy::*;
740 match _i {
741 Value(_binding_0, ) => {
742 Value (
743 _binding_0,
744 )
745 }
746 Ref => { Ref }
747 }
748}
749# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400750pub fn fold_constness<V: Folder + ?Sized>(_visitor: &mut V, _i: Constness) -> Constness {
Nika Layzell27726662017-10-24 23:16:35 -0400751 use ::Constness::*;
752 match _i {
753 Const(_binding_0, ) => {
754 Const (
755 _binding_0,
756 )
757 }
758 NotConst => { NotConst }
759 }
760}
761# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400762pub fn fold_defaultness<V: Folder + ?Sized>(_visitor: &mut V, _i: Defaultness) -> Defaultness {
Nika Layzell27726662017-10-24 23:16:35 -0400763 use ::Defaultness::*;
764 match _i {
765 Default(_binding_0, ) => {
766 Default (
767 _binding_0,
768 )
769 }
770 Final => { Final }
771 }
772}
773
Nika Layzella6f46c42017-10-26 15:26:16 -0400774pub fn fold_derive_input<V: Folder + ?Sized>(_visitor: &mut V, _i: DeriveInput) -> DeriveInput {
Nika Layzell27726662017-10-24 23:16:35 -0400775 DeriveInput {
776 ident: _i . ident,
777 vis: _visitor.fold_visibility(_i . vis),
778 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
779 generics: _visitor.fold_generics(_i . generics),
780 body: _visitor.fold_body(_i . body),
781 }
782}
783
Nika Layzella6f46c42017-10-26 15:26:16 -0400784pub fn fold_expr<V: Folder + ?Sized>(_visitor: &mut V, _i: Expr) -> Expr {
Nika Layzell27726662017-10-24 23:16:35 -0400785 Expr {
786 node: _visitor.fold_expr_kind(_i . node),
787 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
788 }
789}
790# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400791pub fn fold_expr_addr_of<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprAddrOf) -> ExprAddrOf {
Nika Layzell27726662017-10-24 23:16:35 -0400792 ExprAddrOf {
793 and_token: _i . and_token,
794 mutbl: _visitor.fold_mutability(_i . mutbl),
795 expr: Box::new(_visitor.fold_expr(* _i . expr)),
796 }
797}
798# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400799pub fn fold_expr_array<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprArray) -> ExprArray {
Nika Layzell27726662017-10-24 23:16:35 -0400800 ExprArray {
801 exprs: FoldHelper::lift(_i . exprs, |it| { _visitor.fold_expr(it) }),
802 bracket_token: _i . bracket_token,
803 }
804}
805# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400806pub fn fold_expr_assign<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprAssign) -> ExprAssign {
Nika Layzell27726662017-10-24 23:16:35 -0400807 ExprAssign {
808 left: Box::new(_visitor.fold_expr(* _i . left)),
809 right: Box::new(_visitor.fold_expr(* _i . right)),
810 eq_token: _i . eq_token,
811 }
812}
813# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400814pub fn fold_expr_assign_op<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprAssignOp) -> ExprAssignOp {
Nika Layzell27726662017-10-24 23:16:35 -0400815 ExprAssignOp {
816 op: _visitor.fold_bin_op(_i . op),
817 left: Box::new(_visitor.fold_expr(* _i . left)),
818 right: Box::new(_visitor.fold_expr(* _i . right)),
819 }
820}
821
Nika Layzella6f46c42017-10-26 15:26:16 -0400822pub fn fold_expr_binary<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprBinary) -> ExprBinary {
Nika Layzell27726662017-10-24 23:16:35 -0400823 ExprBinary {
824 op: _visitor.fold_bin_op(_i . op),
825 left: Box::new(_visitor.fold_expr(* _i . left)),
826 right: Box::new(_visitor.fold_expr(* _i . right)),
827 }
828}
829# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400830pub fn fold_expr_block<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprBlock) -> ExprBlock {
Nika Layzell27726662017-10-24 23:16:35 -0400831 ExprBlock {
832 unsafety: _visitor.fold_unsafety(_i . unsafety),
833 block: _visitor.fold_block(_i . block),
834 }
835}
836# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400837pub fn fold_expr_box<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprBox) -> ExprBox {
Nika Layzell27726662017-10-24 23:16:35 -0400838 ExprBox {
839 expr: Box::new(_visitor.fold_expr(* _i . expr)),
840 box_token: _i . box_token,
841 }
842}
843# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400844pub fn fold_expr_break<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprBreak) -> ExprBreak {
Nika Layzell27726662017-10-24 23:16:35 -0400845 ExprBreak {
846 label: _i . label,
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400847 expr: (_i . expr).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -0400848 break_token: _i . break_token,
849 }
850}
851
Nika Layzella6f46c42017-10-26 15:26:16 -0400852pub fn fold_expr_call<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprCall) -> ExprCall {
Nika Layzell27726662017-10-24 23:16:35 -0400853 ExprCall {
854 func: Box::new(_visitor.fold_expr(* _i . func)),
855 args: FoldHelper::lift(_i . args, |it| { _visitor.fold_expr(it) }),
856 paren_token: _i . paren_token,
857 }
858}
859
Nika Layzella6f46c42017-10-26 15:26:16 -0400860pub fn fold_expr_cast<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprCast) -> ExprCast {
Nika Layzell27726662017-10-24 23:16:35 -0400861 ExprCast {
862 expr: Box::new(_visitor.fold_expr(* _i . expr)),
863 as_token: _i . as_token,
864 ty: Box::new(_visitor.fold_ty(* _i . ty)),
865 }
866}
867# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400868pub fn fold_expr_catch<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprCatch) -> ExprCatch {
Nika Layzell27726662017-10-24 23:16:35 -0400869 ExprCatch {
870 do_token: _i . do_token,
871 catch_token: _i . catch_token,
872 block: _visitor.fold_block(_i . block),
873 }
874}
875# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400876pub fn fold_expr_closure<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprClosure) -> ExprClosure {
Nika Layzell27726662017-10-24 23:16:35 -0400877 ExprClosure {
878 capture: _visitor.fold_capture_by(_i . capture),
879 decl: Box::new(_visitor.fold_fn_decl(* _i . decl)),
880 body: Box::new(_visitor.fold_expr(* _i . body)),
881 or1_token: _i . or1_token,
882 or2_token: _i . or2_token,
883 }
884}
885# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400886pub fn fold_expr_continue<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprContinue) -> ExprContinue {
Nika Layzell27726662017-10-24 23:16:35 -0400887 ExprContinue {
888 label: _i . label,
889 continue_token: _i . continue_token,
890 }
891}
892# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400893pub fn fold_expr_field<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprField) -> ExprField {
Nika Layzell27726662017-10-24 23:16:35 -0400894 ExprField {
895 expr: Box::new(_visitor.fold_expr(* _i . expr)),
896 field: _i . field,
897 dot_token: _i . dot_token,
898 }
899}
900# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400901pub fn fold_expr_for_loop<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprForLoop) -> ExprForLoop {
Nika Layzell27726662017-10-24 23:16:35 -0400902 ExprForLoop {
903 pat: Box::new(_visitor.fold_pat(* _i . pat)),
904 expr: Box::new(_visitor.fold_expr(* _i . expr)),
905 body: _visitor.fold_block(_i . body),
906 label: _i . label,
907 for_token: _i . for_token,
908 colon_token: _i . colon_token,
909 in_token: _i . in_token,
910 }
911}
912
Nika Layzella6f46c42017-10-26 15:26:16 -0400913pub fn fold_expr_group<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprGroup) -> ExprGroup {
Nika Layzell27726662017-10-24 23:16:35 -0400914 ExprGroup {
915 expr: Box::new(_visitor.fold_expr(* _i . expr)),
916 group_token: _i . group_token,
917 }
918}
919# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400920pub fn fold_expr_if<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprIf) -> ExprIf {
Nika Layzell27726662017-10-24 23:16:35 -0400921 ExprIf {
922 cond: Box::new(_visitor.fold_expr(* _i . cond)),
923 if_true: _visitor.fold_block(_i . if_true),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400924 if_false: (_i . if_false).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -0400925 if_token: _i . if_token,
926 else_token: _i . else_token,
927 }
928}
929# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400930pub fn fold_expr_if_let<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprIfLet) -> ExprIfLet {
Nika Layzell27726662017-10-24 23:16:35 -0400931 ExprIfLet {
932 pat: Box::new(_visitor.fold_pat(* _i . pat)),
933 expr: Box::new(_visitor.fold_expr(* _i . expr)),
934 if_true: _visitor.fold_block(_i . if_true),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400935 if_false: (_i . if_false).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -0400936 if_token: _i . if_token,
937 let_token: _i . let_token,
938 eq_token: _i . eq_token,
939 else_token: _i . else_token,
940 }
941}
942# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -0400943pub fn fold_expr_in_place<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprInPlace) -> ExprInPlace {
Nika Layzell27726662017-10-24 23:16:35 -0400944 ExprInPlace {
945 place: Box::new(_visitor.fold_expr(* _i . place)),
946 kind: _visitor.fold_in_place_kind(_i . kind),
947 value: Box::new(_visitor.fold_expr(* _i . value)),
948 }
949}
950
Nika Layzella6f46c42017-10-26 15:26:16 -0400951pub fn fold_expr_index<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprIndex) -> ExprIndex {
Nika Layzell27726662017-10-24 23:16:35 -0400952 ExprIndex {
953 expr: Box::new(_visitor.fold_expr(* _i . expr)),
954 index: Box::new(_visitor.fold_expr(* _i . index)),
955 bracket_token: _i . bracket_token,
956 }
957}
958
Nika Layzella6f46c42017-10-26 15:26:16 -0400959pub fn fold_expr_kind<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprKind) -> ExprKind {
Nika Layzell27726662017-10-24 23:16:35 -0400960 use ::ExprKind::*;
961 match _i {
962 Box(_binding_0, ) => {
963 Box (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400964 full!(_visitor.fold_expr_box(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -0400965 )
966 }
967 InPlace(_binding_0, ) => {
968 InPlace (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400969 full!(_visitor.fold_expr_in_place(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -0400970 )
971 }
972 Array(_binding_0, ) => {
973 Array (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400974 full!(_visitor.fold_expr_array(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -0400975 )
976 }
977 Call(_binding_0, ) => {
978 Call (
979 _visitor.fold_expr_call(_binding_0),
980 )
981 }
982 MethodCall(_binding_0, ) => {
983 MethodCall (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400984 full!(_visitor.fold_expr_method_call(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -0400985 )
986 }
987 Tup(_binding_0, ) => {
988 Tup (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400989 full!(_visitor.fold_expr_tup(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -0400990 )
991 }
992 Binary(_binding_0, ) => {
993 Binary (
994 _visitor.fold_expr_binary(_binding_0),
995 )
996 }
997 Unary(_binding_0, ) => {
998 Unary (
999 _visitor.fold_expr_unary(_binding_0),
1000 )
1001 }
1002 Lit(_binding_0, ) => {
1003 Lit (
1004 _binding_0,
1005 )
1006 }
1007 Cast(_binding_0, ) => {
1008 Cast (
1009 _visitor.fold_expr_cast(_binding_0),
1010 )
1011 }
1012 Type(_binding_0, ) => {
1013 Type (
1014 _visitor.fold_expr_type(_binding_0),
1015 )
1016 }
1017 If(_binding_0, ) => {
1018 If (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001019 full!(_visitor.fold_expr_if(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001020 )
1021 }
1022 IfLet(_binding_0, ) => {
1023 IfLet (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001024 full!(_visitor.fold_expr_if_let(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001025 )
1026 }
1027 While(_binding_0, ) => {
1028 While (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001029 full!(_visitor.fold_expr_while(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001030 )
1031 }
1032 WhileLet(_binding_0, ) => {
1033 WhileLet (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001034 full!(_visitor.fold_expr_while_let(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001035 )
1036 }
1037 ForLoop(_binding_0, ) => {
1038 ForLoop (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001039 full!(_visitor.fold_expr_for_loop(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001040 )
1041 }
1042 Loop(_binding_0, ) => {
1043 Loop (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001044 full!(_visitor.fold_expr_loop(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001045 )
1046 }
1047 Match(_binding_0, ) => {
1048 Match (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001049 full!(_visitor.fold_expr_match(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001050 )
1051 }
1052 Closure(_binding_0, ) => {
1053 Closure (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001054 full!(_visitor.fold_expr_closure(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001055 )
1056 }
1057 Block(_binding_0, ) => {
1058 Block (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001059 full!(_visitor.fold_expr_block(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001060 )
1061 }
1062 Assign(_binding_0, ) => {
1063 Assign (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001064 full!(_visitor.fold_expr_assign(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001065 )
1066 }
1067 AssignOp(_binding_0, ) => {
1068 AssignOp (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001069 full!(_visitor.fold_expr_assign_op(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001070 )
1071 }
1072 Field(_binding_0, ) => {
1073 Field (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001074 full!(_visitor.fold_expr_field(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001075 )
1076 }
1077 TupField(_binding_0, ) => {
1078 TupField (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001079 full!(_visitor.fold_expr_tup_field(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001080 )
1081 }
1082 Index(_binding_0, ) => {
1083 Index (
1084 _visitor.fold_expr_index(_binding_0),
1085 )
1086 }
1087 Range(_binding_0, ) => {
1088 Range (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001089 full!(_visitor.fold_expr_range(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001090 )
1091 }
1092 Path(_binding_0, ) => {
1093 Path (
1094 _visitor.fold_expr_path(_binding_0),
1095 )
1096 }
1097 AddrOf(_binding_0, ) => {
1098 AddrOf (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001099 full!(_visitor.fold_expr_addr_of(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001100 )
1101 }
1102 Break(_binding_0, ) => {
1103 Break (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001104 full!(_visitor.fold_expr_break(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001105 )
1106 }
1107 Continue(_binding_0, ) => {
1108 Continue (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001109 full!(_visitor.fold_expr_continue(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001110 )
1111 }
1112 Ret(_binding_0, ) => {
1113 Ret (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001114 full!(_visitor.fold_expr_ret(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001115 )
1116 }
David Tolnaydecf28d2017-11-11 11:56:45 -08001117 Macro(_binding_0, ) => {
1118 Macro (
1119 _visitor.fold_macro(_binding_0),
Nika Layzell27726662017-10-24 23:16:35 -04001120 )
1121 }
1122 Struct(_binding_0, ) => {
1123 Struct (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001124 full!(_visitor.fold_expr_struct(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001125 )
1126 }
1127 Repeat(_binding_0, ) => {
1128 Repeat (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001129 full!(_visitor.fold_expr_repeat(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001130 )
1131 }
1132 Paren(_binding_0, ) => {
1133 Paren (
1134 _visitor.fold_expr_paren(_binding_0),
1135 )
1136 }
1137 Group(_binding_0, ) => {
1138 Group (
1139 _visitor.fold_expr_group(_binding_0),
1140 )
1141 }
1142 Try(_binding_0, ) => {
1143 Try (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001144 full!(_visitor.fold_expr_try(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001145 )
1146 }
1147 Catch(_binding_0, ) => {
1148 Catch (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001149 full!(_visitor.fold_expr_catch(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001150 )
1151 }
1152 Yield(_binding_0, ) => {
1153 Yield (
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001154 full!(_visitor.fold_expr_yield(_binding_0)),
Nika Layzell27726662017-10-24 23:16:35 -04001155 )
1156 }
1157 }
1158}
1159# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001160pub fn fold_expr_loop<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprLoop) -> ExprLoop {
Nika Layzell27726662017-10-24 23:16:35 -04001161 ExprLoop {
1162 body: _visitor.fold_block(_i . body),
1163 label: _i . label,
1164 loop_token: _i . loop_token,
1165 colon_token: _i . colon_token,
1166 }
1167}
1168# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001169pub fn fold_expr_match<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprMatch) -> ExprMatch {
Nika Layzell27726662017-10-24 23:16:35 -04001170 ExprMatch {
1171 match_token: _i . match_token,
1172 brace_token: _i . brace_token,
1173 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1174 arms: FoldHelper::lift(_i . arms, |it| { _visitor.fold_arm(it) }),
1175 }
1176}
1177# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001178pub fn fold_expr_method_call<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprMethodCall) -> ExprMethodCall {
Nika Layzell27726662017-10-24 23:16:35 -04001179 ExprMethodCall {
1180 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1181 method: _i . method,
1182 typarams: FoldHelper::lift(_i . typarams, |it| { _visitor.fold_ty(it) }),
1183 args: FoldHelper::lift(_i . args, |it| { _visitor.fold_expr(it) }),
1184 paren_token: _i . paren_token,
1185 dot_token: _i . dot_token,
1186 lt_token: _i . lt_token,
1187 colon2_token: _i . colon2_token,
1188 gt_token: _i . gt_token,
1189 }
1190}
1191
Nika Layzella6f46c42017-10-26 15:26:16 -04001192pub fn fold_expr_paren<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprParen) -> ExprParen {
Nika Layzell27726662017-10-24 23:16:35 -04001193 ExprParen {
1194 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1195 paren_token: _i . paren_token,
1196 }
1197}
1198
Nika Layzella6f46c42017-10-26 15:26:16 -04001199pub fn fold_expr_path<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprPath) -> ExprPath {
Nika Layzell27726662017-10-24 23:16:35 -04001200 ExprPath {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001201 qself: (_i . qself).map(|it| { _visitor.fold_qself(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001202 path: _visitor.fold_path(_i . path),
1203 }
1204}
1205# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001206pub fn fold_expr_range<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprRange) -> ExprRange {
Nika Layzell27726662017-10-24 23:16:35 -04001207 ExprRange {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001208 from: (_i . from).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
1209 to: (_i . to).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -04001210 limits: _visitor.fold_range_limits(_i . limits),
1211 }
1212}
1213# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001214pub fn fold_expr_repeat<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprRepeat) -> ExprRepeat {
Nika Layzell27726662017-10-24 23:16:35 -04001215 ExprRepeat {
1216 bracket_token: _i . bracket_token,
1217 semi_token: _i . semi_token,
1218 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1219 amt: Box::new(_visitor.fold_expr(* _i . amt)),
1220 }
1221}
1222# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001223pub fn fold_expr_ret<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprRet) -> ExprRet {
Nika Layzell27726662017-10-24 23:16:35 -04001224 ExprRet {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001225 expr: (_i . expr).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -04001226 return_token: _i . return_token,
1227 }
1228}
1229# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001230pub fn fold_expr_struct<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprStruct) -> ExprStruct {
Nika Layzell27726662017-10-24 23:16:35 -04001231 ExprStruct {
1232 path: _visitor.fold_path(_i . path),
1233 fields: FoldHelper::lift(_i . fields, |it| { _visitor.fold_field_value(it) }),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001234 rest: (_i . rest).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -04001235 dot2_token: _i . dot2_token,
1236 brace_token: _i . brace_token,
1237 }
1238}
1239# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001240pub fn fold_expr_try<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprTry) -> ExprTry {
Nika Layzell27726662017-10-24 23:16:35 -04001241 ExprTry {
1242 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1243 question_token: _i . question_token,
1244 }
1245}
1246# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001247pub fn fold_expr_tup<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprTup) -> ExprTup {
Nika Layzell27726662017-10-24 23:16:35 -04001248 ExprTup {
1249 args: FoldHelper::lift(_i . args, |it| { _visitor.fold_expr(it) }),
1250 paren_token: _i . paren_token,
1251 lone_comma: _i . lone_comma,
1252 }
1253}
1254# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001255pub fn fold_expr_tup_field<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprTupField) -> ExprTupField {
Nika Layzell27726662017-10-24 23:16:35 -04001256 ExprTupField {
1257 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1258 field: _i . field,
1259 dot_token: _i . dot_token,
1260 }
1261}
1262
Nika Layzella6f46c42017-10-26 15:26:16 -04001263pub fn fold_expr_type<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprType) -> ExprType {
Nika Layzell27726662017-10-24 23:16:35 -04001264 ExprType {
1265 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1266 colon_token: _i . colon_token,
1267 ty: Box::new(_visitor.fold_ty(* _i . ty)),
1268 }
1269}
1270
Nika Layzella6f46c42017-10-26 15:26:16 -04001271pub fn fold_expr_unary<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprUnary) -> ExprUnary {
Nika Layzell27726662017-10-24 23:16:35 -04001272 ExprUnary {
1273 op: _visitor.fold_un_op(_i . op),
1274 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1275 }
1276}
1277# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001278pub fn fold_expr_while<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprWhile) -> ExprWhile {
Nika Layzell27726662017-10-24 23:16:35 -04001279 ExprWhile {
1280 cond: Box::new(_visitor.fold_expr(* _i . cond)),
1281 body: _visitor.fold_block(_i . body),
1282 label: _i . label,
1283 colon_token: _i . colon_token,
1284 while_token: _i . while_token,
1285 }
1286}
1287# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001288pub fn fold_expr_while_let<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprWhileLet) -> ExprWhileLet {
Nika Layzell27726662017-10-24 23:16:35 -04001289 ExprWhileLet {
1290 pat: Box::new(_visitor.fold_pat(* _i . pat)),
1291 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1292 body: _visitor.fold_block(_i . body),
1293 label: _i . label,
1294 colon_token: _i . colon_token,
1295 while_token: _i . while_token,
1296 let_token: _i . let_token,
1297 eq_token: _i . eq_token,
1298 }
1299}
1300# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001301pub fn fold_expr_yield<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprYield) -> ExprYield {
Nika Layzell27726662017-10-24 23:16:35 -04001302 ExprYield {
1303 yield_token: _i . yield_token,
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001304 expr: (_i . expr).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -04001305 }
1306}
1307
Nika Layzella6f46c42017-10-26 15:26:16 -04001308pub fn fold_field<V: Folder + ?Sized>(_visitor: &mut V, _i: Field) -> Field {
Nika Layzell27726662017-10-24 23:16:35 -04001309 Field {
1310 ident: _i . ident,
1311 vis: _visitor.fold_visibility(_i . vis),
1312 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1313 ty: _visitor.fold_ty(_i . ty),
1314 colon_token: _i . colon_token,
1315 }
1316}
1317# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001318pub fn fold_field_pat<V: Folder + ?Sized>(_visitor: &mut V, _i: FieldPat) -> FieldPat {
Nika Layzell27726662017-10-24 23:16:35 -04001319 FieldPat {
1320 ident: _i . ident,
1321 pat: Box::new(_visitor.fold_pat(* _i . pat)),
1322 is_shorthand: _i . is_shorthand,
1323 colon_token: _i . colon_token,
1324 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1325 }
1326}
1327# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001328pub fn fold_field_value<V: Folder + ?Sized>(_visitor: &mut V, _i: FieldValue) -> FieldValue {
Nika Layzell27726662017-10-24 23:16:35 -04001329 FieldValue {
1330 ident: _i . ident,
1331 expr: _visitor.fold_expr(_i . expr),
1332 is_shorthand: _i . is_shorthand,
1333 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1334 colon_token: _i . colon_token,
1335 }
1336}
1337# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001338pub fn fold_file<V: Folder + ?Sized>(_visitor: &mut V, _i: File) -> File {
Nika Layzell27726662017-10-24 23:16:35 -04001339 File {
1340 shebang: _i . shebang,
1341 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1342 items: FoldHelper::lift(_i . items, |it| { _visitor.fold_item(it) }),
1343 }
1344}
1345# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001346pub fn fold_fn_arg<V: Folder + ?Sized>(_visitor: &mut V, _i: FnArg) -> FnArg {
Nika Layzell27726662017-10-24 23:16:35 -04001347 use ::FnArg::*;
1348 match _i {
1349 SelfRef(_binding_0, ) => {
1350 SelfRef (
1351 _visitor.fold_arg_self_ref(_binding_0),
1352 )
1353 }
1354 SelfValue(_binding_0, ) => {
1355 SelfValue (
1356 _visitor.fold_arg_self(_binding_0),
1357 )
1358 }
1359 Captured(_binding_0, ) => {
1360 Captured (
1361 _visitor.fold_arg_captured(_binding_0),
1362 )
1363 }
1364 Ignored(_binding_0, ) => {
1365 Ignored (
1366 _visitor.fold_ty(_binding_0),
1367 )
1368 }
1369 }
1370}
1371# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001372pub fn fold_fn_decl<V: Folder + ?Sized>(_visitor: &mut V, _i: FnDecl) -> FnDecl {
Nika Layzell27726662017-10-24 23:16:35 -04001373 FnDecl {
1374 fn_token: _i . fn_token,
1375 paren_token: _i . paren_token,
1376 inputs: FoldHelper::lift(_i . inputs, |it| { _visitor.fold_fn_arg(it) }),
1377 output: _visitor.fold_function_ret_ty(_i . output),
1378 generics: _visitor.fold_generics(_i . generics),
1379 variadic: _i . variadic,
1380 dot_tokens: _i . dot_tokens,
1381 }
1382}
1383# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001384pub fn fold_foreign_item<V: Folder + ?Sized>(_visitor: &mut V, _i: ForeignItem) -> ForeignItem {
David Tolnay8894f602017-11-11 12:11:04 -08001385 use ::ForeignItem::*;
Nika Layzell27726662017-10-24 23:16:35 -04001386 match _i {
1387 Fn(_binding_0, ) => {
1388 Fn (
1389 _visitor.fold_foreign_item_fn(_binding_0),
1390 )
1391 }
1392 Static(_binding_0, ) => {
1393 Static (
1394 _visitor.fold_foreign_item_static(_binding_0),
1395 )
1396 }
1397 }
1398}
1399# [ cfg ( feature = "full" ) ]
David Tolnay8894f602017-11-11 12:11:04 -08001400pub fn fold_foreign_item_fn<V: Folder + ?Sized>(_visitor: &mut V, _i: ForeignItemFn) -> ForeignItemFn {
1401 ForeignItemFn {
1402 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1403 vis: _visitor.fold_visibility(_i . vis),
1404 ident: _i . ident,
1405 decl: Box::new(_visitor.fold_fn_decl(* _i . decl)),
1406 semi_token: _i . semi_token,
1407 }
1408}
1409# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001410pub fn fold_foreign_item_static<V: Folder + ?Sized>(_visitor: &mut V, _i: ForeignItemStatic) -> ForeignItemStatic {
Nika Layzell27726662017-10-24 23:16:35 -04001411 ForeignItemStatic {
David Tolnay8894f602017-11-11 12:11:04 -08001412 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1413 vis: _visitor.fold_visibility(_i . vis),
Nika Layzell27726662017-10-24 23:16:35 -04001414 static_token: _i . static_token,
Nika Layzell27726662017-10-24 23:16:35 -04001415 mutbl: _visitor.fold_mutability(_i . mutbl),
David Tolnay8894f602017-11-11 12:11:04 -08001416 ident: _i . ident,
1417 colon_token: _i . colon_token,
1418 ty: Box::new(_visitor.fold_ty(* _i . ty)),
1419 semi_token: _i . semi_token,
Nika Layzell27726662017-10-24 23:16:35 -04001420 }
1421}
1422
Nika Layzella6f46c42017-10-26 15:26:16 -04001423pub fn fold_function_ret_ty<V: Folder + ?Sized>(_visitor: &mut V, _i: FunctionRetTy) -> FunctionRetTy {
Nika Layzell27726662017-10-24 23:16:35 -04001424 use ::FunctionRetTy::*;
1425 match _i {
1426 Default => { Default }
1427 Ty(_binding_0, _binding_1, ) => {
1428 Ty (
1429 _visitor.fold_ty(_binding_0),
1430 _binding_1,
1431 )
1432 }
1433 }
1434}
1435
Nika Layzella6f46c42017-10-26 15:26:16 -04001436pub fn fold_generics<V: Folder + ?Sized>(_visitor: &mut V, _i: Generics) -> Generics {
Nika Layzell27726662017-10-24 23:16:35 -04001437 Generics {
1438 lt_token: _i . lt_token,
1439 gt_token: _i . gt_token,
1440 lifetimes: FoldHelper::lift(_i . lifetimes, |it| { _visitor.fold_lifetime_def(it) }),
1441 ty_params: FoldHelper::lift(_i . ty_params, |it| { _visitor.fold_ty_param(it) }),
1442 where_clause: _visitor.fold_where_clause(_i . where_clause),
1443 }
1444}
1445# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001446pub fn fold_impl_item<V: Folder + ?Sized>(_visitor: &mut V, _i: ImplItem) -> ImplItem {
David Tolnay857628c2017-11-11 12:25:31 -08001447 use ::ImplItem::*;
Nika Layzell27726662017-10-24 23:16:35 -04001448 match _i {
1449 Const(_binding_0, ) => {
1450 Const (
1451 _visitor.fold_impl_item_const(_binding_0),
1452 )
1453 }
1454 Method(_binding_0, ) => {
1455 Method (
1456 _visitor.fold_impl_item_method(_binding_0),
1457 )
1458 }
1459 Type(_binding_0, ) => {
1460 Type (
1461 _visitor.fold_impl_item_type(_binding_0),
1462 )
1463 }
1464 Macro(_binding_0, ) => {
1465 Macro (
David Tolnay857628c2017-11-11 12:25:31 -08001466 _visitor.fold_impl_item_macro(_binding_0),
Nika Layzell27726662017-10-24 23:16:35 -04001467 )
1468 }
1469 }
1470}
1471# [ cfg ( feature = "full" ) ]
David Tolnay857628c2017-11-11 12:25:31 -08001472pub fn fold_impl_item_const<V: Folder + ?Sized>(_visitor: &mut V, _i: ImplItemConst) -> ImplItemConst {
1473 ImplItemConst {
1474 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1475 vis: _visitor.fold_visibility(_i . vis),
1476 defaultness: _visitor.fold_defaultness(_i . defaultness),
1477 const_token: _i . const_token,
1478 ident: _i . ident,
1479 colon_token: _i . colon_token,
1480 ty: _visitor.fold_ty(_i . ty),
1481 eq_token: _i . eq_token,
1482 expr: _visitor.fold_expr(_i . expr),
1483 semi_token: _i . semi_token,
1484 }
1485}
1486# [ cfg ( feature = "full" ) ]
1487pub fn fold_impl_item_macro<V: Folder + ?Sized>(_visitor: &mut V, _i: ImplItemMacro) -> ImplItemMacro {
1488 ImplItemMacro {
1489 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1490 mac: _visitor.fold_macro(_i . mac),
1491 }
1492}
1493# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001494pub fn fold_impl_item_method<V: Folder + ?Sized>(_visitor: &mut V, _i: ImplItemMethod) -> ImplItemMethod {
Nika Layzell27726662017-10-24 23:16:35 -04001495 ImplItemMethod {
David Tolnay857628c2017-11-11 12:25:31 -08001496 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001497 vis: _visitor.fold_visibility(_i . vis),
1498 defaultness: _visitor.fold_defaultness(_i . defaultness),
1499 sig: _visitor.fold_method_sig(_i . sig),
1500 block: _visitor.fold_block(_i . block),
1501 }
1502}
1503# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001504pub fn fold_impl_item_type<V: Folder + ?Sized>(_visitor: &mut V, _i: ImplItemType) -> ImplItemType {
Nika Layzell27726662017-10-24 23:16:35 -04001505 ImplItemType {
David Tolnay857628c2017-11-11 12:25:31 -08001506 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001507 vis: _visitor.fold_visibility(_i . vis),
1508 defaultness: _visitor.fold_defaultness(_i . defaultness),
1509 type_token: _i . type_token,
1510 ident: _i . ident,
1511 eq_token: _i . eq_token,
1512 ty: _visitor.fold_ty(_i . ty),
1513 semi_token: _i . semi_token,
1514 }
1515}
1516# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001517pub fn fold_impl_polarity<V: Folder + ?Sized>(_visitor: &mut V, _i: ImplPolarity) -> ImplPolarity {
Nika Layzell27726662017-10-24 23:16:35 -04001518 use ::ImplPolarity::*;
1519 match _i {
1520 Positive => { Positive }
1521 Negative(_binding_0, ) => {
1522 Negative (
1523 _binding_0,
1524 )
1525 }
1526 }
1527}
1528# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001529pub fn fold_in_place_kind<V: Folder + ?Sized>(_visitor: &mut V, _i: InPlaceKind) -> InPlaceKind {
Nika Layzell27726662017-10-24 23:16:35 -04001530 use ::InPlaceKind::*;
1531 match _i {
1532 Arrow(_binding_0, ) => {
1533 Arrow (
1534 _binding_0,
1535 )
1536 }
1537 In(_binding_0, ) => {
1538 In (
1539 _binding_0,
1540 )
1541 }
1542 }
1543}
1544# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001545pub fn fold_item<V: Folder + ?Sized>(_visitor: &mut V, _i: Item) -> Item {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001546 use ::Item::*;
Nika Layzell27726662017-10-24 23:16:35 -04001547 match _i {
1548 ExternCrate(_binding_0, ) => {
1549 ExternCrate (
1550 _visitor.fold_item_extern_crate(_binding_0),
1551 )
1552 }
1553 Use(_binding_0, ) => {
1554 Use (
1555 _visitor.fold_item_use(_binding_0),
1556 )
1557 }
1558 Static(_binding_0, ) => {
1559 Static (
1560 _visitor.fold_item_static(_binding_0),
1561 )
1562 }
1563 Const(_binding_0, ) => {
1564 Const (
1565 _visitor.fold_item_const(_binding_0),
1566 )
1567 }
1568 Fn(_binding_0, ) => {
1569 Fn (
1570 _visitor.fold_item_fn(_binding_0),
1571 )
1572 }
1573 Mod(_binding_0, ) => {
1574 Mod (
1575 _visitor.fold_item_mod(_binding_0),
1576 )
1577 }
1578 ForeignMod(_binding_0, ) => {
1579 ForeignMod (
1580 _visitor.fold_item_foreign_mod(_binding_0),
1581 )
1582 }
1583 Ty(_binding_0, ) => {
1584 Ty (
1585 _visitor.fold_item_ty(_binding_0),
1586 )
1587 }
1588 Enum(_binding_0, ) => {
1589 Enum (
1590 _visitor.fold_item_enum(_binding_0),
1591 )
1592 }
1593 Struct(_binding_0, ) => {
1594 Struct (
1595 _visitor.fold_item_struct(_binding_0),
1596 )
1597 }
1598 Union(_binding_0, ) => {
1599 Union (
1600 _visitor.fold_item_union(_binding_0),
1601 )
1602 }
1603 Trait(_binding_0, ) => {
1604 Trait (
1605 _visitor.fold_item_trait(_binding_0),
1606 )
1607 }
1608 DefaultImpl(_binding_0, ) => {
1609 DefaultImpl (
1610 _visitor.fold_item_default_impl(_binding_0),
1611 )
1612 }
1613 Impl(_binding_0, ) => {
1614 Impl (
1615 _visitor.fold_item_impl(_binding_0),
1616 )
1617 }
David Tolnaydecf28d2017-11-11 11:56:45 -08001618 Macro(_binding_0, ) => {
1619 Macro (
1620 _visitor.fold_item_macro(_binding_0),
Nika Layzell27726662017-10-24 23:16:35 -04001621 )
1622 }
1623 }
1624}
1625# [ cfg ( feature = "full" ) ]
David Tolnayc6b55bc2017-11-09 22:48:38 -08001626pub fn fold_item_const<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemConst) -> ItemConst {
1627 ItemConst {
1628 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1629 vis: _visitor.fold_visibility(_i . vis),
1630 const_token: _i . const_token,
1631 ident: _i . ident,
1632 colon_token: _i . colon_token,
1633 ty: Box::new(_visitor.fold_ty(* _i . ty)),
1634 eq_token: _i . eq_token,
1635 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1636 semi_token: _i . semi_token,
1637 }
1638}
1639# [ cfg ( feature = "full" ) ]
1640pub fn fold_item_default_impl<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemDefaultImpl) -> ItemDefaultImpl {
1641 ItemDefaultImpl {
1642 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1643 unsafety: _visitor.fold_unsafety(_i . unsafety),
1644 impl_token: _i . impl_token,
1645 path: _visitor.fold_path(_i . path),
1646 for_token: _i . for_token,
1647 dot2_token: _i . dot2_token,
1648 brace_token: _i . brace_token,
1649 }
1650}
1651# [ cfg ( feature = "full" ) ]
1652pub fn fold_item_enum<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemEnum) -> ItemEnum {
1653 ItemEnum {
1654 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1655 vis: _visitor.fold_visibility(_i . vis),
1656 enum_token: _i . enum_token,
1657 ident: _i . ident,
1658 generics: _visitor.fold_generics(_i . generics),
1659 brace_token: _i . brace_token,
1660 variants: FoldHelper::lift(_i . variants, |it| { _visitor.fold_variant(it) }),
1661 }
1662}
1663# [ cfg ( feature = "full" ) ]
1664pub fn fold_item_extern_crate<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemExternCrate) -> ItemExternCrate {
1665 ItemExternCrate {
1666 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1667 vis: _visitor.fold_visibility(_i . vis),
1668 extern_token: _i . extern_token,
1669 crate_token: _i . crate_token,
1670 ident: _i . ident,
1671 rename: _i . rename,
1672 semi_token: _i . semi_token,
1673 }
1674}
1675# [ cfg ( feature = "full" ) ]
1676pub fn fold_item_fn<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemFn) -> ItemFn {
1677 ItemFn {
1678 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1679 vis: _visitor.fold_visibility(_i . vis),
1680 constness: _visitor.fold_constness(_i . constness),
1681 unsafety: _visitor.fold_unsafety(_i . unsafety),
1682 abi: (_i . abi).map(|it| { _visitor.fold_abi(it) }),
1683 decl: Box::new(_visitor.fold_fn_decl(* _i . decl)),
1684 ident: _i . ident,
1685 block: Box::new(_visitor.fold_block(* _i . block)),
1686 }
1687}
1688# [ cfg ( feature = "full" ) ]
1689pub fn fold_item_foreign_mod<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemForeignMod) -> ItemForeignMod {
1690 ItemForeignMod {
1691 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1692 abi: _visitor.fold_abi(_i . abi),
1693 brace_token: _i . brace_token,
1694 items: FoldHelper::lift(_i . items, |it| { _visitor.fold_foreign_item(it) }),
1695 }
1696}
1697# [ cfg ( feature = "full" ) ]
1698pub fn fold_item_impl<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemImpl) -> ItemImpl {
1699 ItemImpl {
1700 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1701 defaultness: _visitor.fold_defaultness(_i . defaultness),
1702 unsafety: _visitor.fold_unsafety(_i . unsafety),
1703 impl_token: _i . impl_token,
1704 generics: _visitor.fold_generics(_i . generics),
1705 trait_: _i . trait_,
1706 self_ty: Box::new(_visitor.fold_ty(* _i . self_ty)),
1707 brace_token: _i . brace_token,
1708 items: FoldHelper::lift(_i . items, |it| { _visitor.fold_impl_item(it) }),
1709 }
1710}
1711# [ cfg ( feature = "full" ) ]
David Tolnaydecf28d2017-11-11 11:56:45 -08001712pub fn fold_item_macro<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemMacro) -> ItemMacro {
1713 ItemMacro {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001714 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
David Tolnaydecf28d2017-11-11 11:56:45 -08001715 mac: _visitor.fold_macro(_i . mac),
David Tolnayc6b55bc2017-11-09 22:48:38 -08001716 }
1717}
1718# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001719pub fn fold_item_mod<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemMod) -> ItemMod {
Nika Layzell27726662017-10-24 23:16:35 -04001720 ItemMod {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001721 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001722 vis: _visitor.fold_visibility(_i . vis),
1723 mod_token: _i . mod_token,
1724 ident: _i . ident,
1725 content: _i . content,
1726 semi: _i . semi,
1727 }
1728}
1729# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001730pub fn fold_item_static<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemStatic) -> ItemStatic {
Nika Layzell27726662017-10-24 23:16:35 -04001731 ItemStatic {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001732 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001733 vis: _visitor.fold_visibility(_i . vis),
1734 static_token: _i . static_token,
1735 mutbl: _visitor.fold_mutability(_i . mutbl),
1736 ident: _i . ident,
1737 colon_token: _i . colon_token,
1738 ty: Box::new(_visitor.fold_ty(* _i . ty)),
1739 eq_token: _i . eq_token,
1740 expr: Box::new(_visitor.fold_expr(* _i . expr)),
1741 semi_token: _i . semi_token,
1742 }
1743}
1744# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001745pub fn fold_item_struct<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemStruct) -> ItemStruct {
Nika Layzell27726662017-10-24 23:16:35 -04001746 ItemStruct {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001747 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001748 vis: _visitor.fold_visibility(_i . vis),
1749 struct_token: _i . struct_token,
1750 ident: _i . ident,
1751 generics: _visitor.fold_generics(_i . generics),
1752 data: _visitor.fold_variant_data(_i . data),
1753 semi_token: _i . semi_token,
1754 }
1755}
1756# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001757pub fn fold_item_trait<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemTrait) -> ItemTrait {
Nika Layzell27726662017-10-24 23:16:35 -04001758 ItemTrait {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001759 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001760 vis: _visitor.fold_visibility(_i . vis),
1761 unsafety: _visitor.fold_unsafety(_i . unsafety),
1762 trait_token: _i . trait_token,
1763 ident: _i . ident,
1764 generics: _visitor.fold_generics(_i . generics),
1765 colon_token: _i . colon_token,
1766 supertraits: FoldHelper::lift(_i . supertraits, |it| { _visitor.fold_ty_param_bound(it) }),
1767 brace_token: _i . brace_token,
1768 items: FoldHelper::lift(_i . items, |it| { _visitor.fold_trait_item(it) }),
1769 }
1770}
1771# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001772pub fn fold_item_ty<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemTy) -> ItemTy {
Nika Layzell27726662017-10-24 23:16:35 -04001773 ItemTy {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001774 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001775 vis: _visitor.fold_visibility(_i . vis),
1776 type_token: _i . type_token,
1777 ident: _i . ident,
1778 generics: _visitor.fold_generics(_i . generics),
1779 eq_token: _i . eq_token,
1780 ty: Box::new(_visitor.fold_ty(* _i . ty)),
1781 semi_token: _i . semi_token,
1782 }
1783}
1784# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001785pub fn fold_item_union<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemUnion) -> ItemUnion {
Nika Layzell27726662017-10-24 23:16:35 -04001786 ItemUnion {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001787 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001788 vis: _visitor.fold_visibility(_i . vis),
1789 union_token: _i . union_token,
1790 ident: _i . ident,
1791 generics: _visitor.fold_generics(_i . generics),
1792 data: _visitor.fold_variant_data(_i . data),
1793 }
1794}
1795# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001796pub fn fold_item_use<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemUse) -> ItemUse {
Nika Layzell27726662017-10-24 23:16:35 -04001797 ItemUse {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001798 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001799 vis: _visitor.fold_visibility(_i . vis),
1800 use_token: _i . use_token,
1801 path: Box::new(_visitor.fold_view_path(* _i . path)),
1802 semi_token: _i . semi_token,
1803 }
1804}
1805
Nika Layzella6f46c42017-10-26 15:26:16 -04001806pub fn fold_lifetime_def<V: Folder + ?Sized>(_visitor: &mut V, _i: LifetimeDef) -> LifetimeDef {
Nika Layzell27726662017-10-24 23:16:35 -04001807 LifetimeDef {
1808 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1809 lifetime: _i . lifetime,
1810 colon_token: _i . colon_token,
1811 bounds: _i . bounds,
1812 }
1813}
1814# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001815pub fn fold_local<V: Folder + ?Sized>(_visitor: &mut V, _i: Local) -> Local {
Nika Layzell27726662017-10-24 23:16:35 -04001816 Local {
1817 let_token: _i . let_token,
1818 colon_token: _i . colon_token,
1819 eq_token: _i . eq_token,
1820 semi_token: _i . semi_token,
1821 pat: Box::new(_visitor.fold_pat(* _i . pat)),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001822 ty: (_i . ty).map(|it| { Box::new(_visitor.fold_ty(* it)) }),
1823 init: (_i . init).map(|it| { Box::new(_visitor.fold_expr(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -04001824 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
1825 }
1826}
Nika Layzell27726662017-10-24 23:16:35 -04001827# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001828pub fn fold_mac_stmt_style<V: Folder + ?Sized>(_visitor: &mut V, _i: MacStmtStyle) -> MacStmtStyle {
Nika Layzell27726662017-10-24 23:16:35 -04001829 use ::MacStmtStyle::*;
1830 match _i {
1831 Semicolon(_binding_0, ) => {
1832 Semicolon (
1833 _binding_0,
1834 )
1835 }
1836 Braces => { Braces }
1837 NoBraces => { NoBraces }
1838 }
1839}
1840
David Tolnaydecf28d2017-11-11 11:56:45 -08001841pub fn fold_macro<V: Folder + ?Sized>(_visitor: &mut V, _i: Macro) -> Macro {
1842 Macro {
1843 path: _visitor.fold_path(_i . path),
1844 bang_token: _i . bang_token,
1845 ident: _i . ident,
1846 tokens: _i . tokens,
1847 }
1848}
1849
Nika Layzella6f46c42017-10-26 15:26:16 -04001850pub fn fold_meta_item<V: Folder + ?Sized>(_visitor: &mut V, _i: MetaItem) -> MetaItem {
Nika Layzell27726662017-10-24 23:16:35 -04001851 use ::MetaItem::*;
1852 match _i {
1853 Term(_binding_0, ) => {
1854 Term (
1855 _binding_0,
1856 )
1857 }
1858 List(_binding_0, ) => {
1859 List (
1860 _visitor.fold_meta_item_list(_binding_0),
1861 )
1862 }
1863 NameValue(_binding_0, ) => {
1864 NameValue (
1865 _visitor.fold_meta_name_value(_binding_0),
1866 )
1867 }
1868 }
1869}
1870
Nika Layzella6f46c42017-10-26 15:26:16 -04001871pub fn fold_meta_item_list<V: Folder + ?Sized>(_visitor: &mut V, _i: MetaItemList) -> MetaItemList {
Nika Layzell27726662017-10-24 23:16:35 -04001872 MetaItemList {
1873 ident: _i . ident,
1874 paren_token: _i . paren_token,
1875 nested: FoldHelper::lift(_i . nested, |it| { _visitor.fold_nested_meta_item(it) }),
1876 }
1877}
1878
Nika Layzella6f46c42017-10-26 15:26:16 -04001879pub fn fold_meta_name_value<V: Folder + ?Sized>(_visitor: &mut V, _i: MetaNameValue) -> MetaNameValue {
Nika Layzell27726662017-10-24 23:16:35 -04001880 MetaNameValue {
1881 ident: _i . ident,
1882 eq_token: _i . eq_token,
1883 lit: _i . lit,
1884 }
1885}
1886# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001887pub fn fold_method_sig<V: Folder + ?Sized>(_visitor: &mut V, _i: MethodSig) -> MethodSig {
Nika Layzell27726662017-10-24 23:16:35 -04001888 MethodSig {
1889 constness: _visitor.fold_constness(_i . constness),
1890 unsafety: _visitor.fold_unsafety(_i . unsafety),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001891 abi: (_i . abi).map(|it| { _visitor.fold_abi(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04001892 ident: _i . ident,
1893 decl: _visitor.fold_fn_decl(_i . decl),
1894 }
1895}
1896
Nika Layzella6f46c42017-10-26 15:26:16 -04001897pub fn fold_mut_ty<V: Folder + ?Sized>(_visitor: &mut V, _i: MutTy) -> MutTy {
Nika Layzell27726662017-10-24 23:16:35 -04001898 MutTy {
1899 ty: _visitor.fold_ty(_i . ty),
1900 mutability: _visitor.fold_mutability(_i . mutability),
1901 }
1902}
1903
Nika Layzella6f46c42017-10-26 15:26:16 -04001904pub fn fold_mutability<V: Folder + ?Sized>(_visitor: &mut V, _i: Mutability) -> Mutability {
Nika Layzell27726662017-10-24 23:16:35 -04001905 use ::Mutability::*;
1906 match _i {
1907 Mutable(_binding_0, ) => {
1908 Mutable (
1909 _binding_0,
1910 )
1911 }
1912 Immutable => { Immutable }
1913 }
1914}
1915
Nika Layzella6f46c42017-10-26 15:26:16 -04001916pub fn fold_nested_meta_item<V: Folder + ?Sized>(_visitor: &mut V, _i: NestedMetaItem) -> NestedMetaItem {
Nika Layzell27726662017-10-24 23:16:35 -04001917 use ::NestedMetaItem::*;
1918 match _i {
1919 MetaItem(_binding_0, ) => {
1920 MetaItem (
1921 _visitor.fold_meta_item(_binding_0),
1922 )
1923 }
1924 Literal(_binding_0, ) => {
1925 Literal (
1926 _binding_0,
1927 )
1928 }
1929 }
1930}
1931
Nika Layzella6f46c42017-10-26 15:26:16 -04001932pub fn fold_parenthesized_parameter_data<V: Folder + ?Sized>(_visitor: &mut V, _i: ParenthesizedParameterData) -> ParenthesizedParameterData {
Nika Layzell27726662017-10-24 23:16:35 -04001933 ParenthesizedParameterData {
1934 paren_token: _i . paren_token,
1935 inputs: FoldHelper::lift(_i . inputs, |it| { _visitor.fold_ty(it) }),
1936 output: _visitor.fold_function_ret_ty(_i . output),
1937 }
1938}
1939# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04001940pub fn fold_pat<V: Folder + ?Sized>(_visitor: &mut V, _i: Pat) -> Pat {
Nika Layzell27726662017-10-24 23:16:35 -04001941 use ::Pat::*;
1942 match _i {
1943 Wild(_binding_0, ) => {
1944 Wild (
1945 _visitor.fold_pat_wild(_binding_0),
1946 )
1947 }
1948 Ident(_binding_0, ) => {
1949 Ident (
1950 _visitor.fold_pat_ident(_binding_0),
1951 )
1952 }
1953 Struct(_binding_0, ) => {
1954 Struct (
1955 _visitor.fold_pat_struct(_binding_0),
1956 )
1957 }
1958 TupleStruct(_binding_0, ) => {
1959 TupleStruct (
1960 _visitor.fold_pat_tuple_struct(_binding_0),
1961 )
1962 }
1963 Path(_binding_0, ) => {
1964 Path (
1965 _visitor.fold_pat_path(_binding_0),
1966 )
1967 }
1968 Tuple(_binding_0, ) => {
1969 Tuple (
1970 _visitor.fold_pat_tuple(_binding_0),
1971 )
1972 }
1973 Box(_binding_0, ) => {
1974 Box (
1975 _visitor.fold_pat_box(_binding_0),
1976 )
1977 }
1978 Ref(_binding_0, ) => {
1979 Ref (
1980 _visitor.fold_pat_ref(_binding_0),
1981 )
1982 }
1983 Lit(_binding_0, ) => {
1984 Lit (
1985 _visitor.fold_pat_lit(_binding_0),
1986 )
1987 }
1988 Range(_binding_0, ) => {
1989 Range (
1990 _visitor.fold_pat_range(_binding_0),
1991 )
1992 }
1993 Slice(_binding_0, ) => {
1994 Slice (
1995 _visitor.fold_pat_slice(_binding_0),
1996 )
1997 }
David Tolnaydecf28d2017-11-11 11:56:45 -08001998 Macro(_binding_0, ) => {
1999 Macro (
2000 _visitor.fold_macro(_binding_0),
Nika Layzell27726662017-10-24 23:16:35 -04002001 )
2002 }
2003 }
2004}
2005# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002006pub fn fold_pat_box<V: Folder + ?Sized>(_visitor: &mut V, _i: PatBox) -> PatBox {
Nika Layzell27726662017-10-24 23:16:35 -04002007 PatBox {
2008 pat: Box::new(_visitor.fold_pat(* _i . pat)),
2009 box_token: _i . box_token,
2010 }
2011}
2012# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002013pub fn fold_pat_ident<V: Folder + ?Sized>(_visitor: &mut V, _i: PatIdent) -> PatIdent {
Nika Layzell27726662017-10-24 23:16:35 -04002014 PatIdent {
2015 mode: _visitor.fold_binding_mode(_i . mode),
2016 ident: _i . ident,
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002017 subpat: (_i . subpat).map(|it| { Box::new(_visitor.fold_pat(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -04002018 at_token: _i . at_token,
2019 }
2020}
2021# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002022pub fn fold_pat_lit<V: Folder + ?Sized>(_visitor: &mut V, _i: PatLit) -> PatLit {
Nika Layzell27726662017-10-24 23:16:35 -04002023 PatLit {
2024 expr: Box::new(_visitor.fold_expr(* _i . expr)),
2025 }
2026}
2027# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002028pub fn fold_pat_path<V: Folder + ?Sized>(_visitor: &mut V, _i: PatPath) -> PatPath {
Nika Layzell27726662017-10-24 23:16:35 -04002029 PatPath {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002030 qself: (_i . qself).map(|it| { _visitor.fold_qself(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002031 path: _visitor.fold_path(_i . path),
2032 }
2033}
2034# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002035pub fn fold_pat_range<V: Folder + ?Sized>(_visitor: &mut V, _i: PatRange) -> PatRange {
Nika Layzell27726662017-10-24 23:16:35 -04002036 PatRange {
2037 lo: Box::new(_visitor.fold_expr(* _i . lo)),
2038 hi: Box::new(_visitor.fold_expr(* _i . hi)),
2039 limits: _visitor.fold_range_limits(_i . limits),
2040 }
2041}
2042# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002043pub fn fold_pat_ref<V: Folder + ?Sized>(_visitor: &mut V, _i: PatRef) -> PatRef {
Nika Layzell27726662017-10-24 23:16:35 -04002044 PatRef {
2045 pat: Box::new(_visitor.fold_pat(* _i . pat)),
2046 mutbl: _visitor.fold_mutability(_i . mutbl),
2047 and_token: _i . and_token,
2048 }
2049}
2050# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002051pub fn fold_pat_slice<V: Folder + ?Sized>(_visitor: &mut V, _i: PatSlice) -> PatSlice {
Nika Layzell27726662017-10-24 23:16:35 -04002052 PatSlice {
2053 front: FoldHelper::lift(_i . front, |it| { _visitor.fold_pat(it) }),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002054 middle: (_i . middle).map(|it| { Box::new(_visitor.fold_pat(* it)) }),
Nika Layzell27726662017-10-24 23:16:35 -04002055 back: FoldHelper::lift(_i . back, |it| { _visitor.fold_pat(it) }),
2056 dot2_token: _i . dot2_token,
2057 comma_token: _i . comma_token,
2058 bracket_token: _i . bracket_token,
2059 }
2060}
2061# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002062pub fn fold_pat_struct<V: Folder + ?Sized>(_visitor: &mut V, _i: PatStruct) -> PatStruct {
Nika Layzell27726662017-10-24 23:16:35 -04002063 PatStruct {
2064 path: _visitor.fold_path(_i . path),
2065 fields: FoldHelper::lift(_i . fields, |it| { _visitor.fold_field_pat(it) }),
2066 brace_token: _i . brace_token,
2067 dot2_token: _i . dot2_token,
2068 }
2069}
2070# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002071pub fn fold_pat_tuple<V: Folder + ?Sized>(_visitor: &mut V, _i: PatTuple) -> PatTuple {
Nika Layzell27726662017-10-24 23:16:35 -04002072 PatTuple {
2073 pats: FoldHelper::lift(_i . pats, |it| { _visitor.fold_pat(it) }),
2074 dots_pos: _i . dots_pos,
2075 paren_token: _i . paren_token,
2076 dot2_token: _i . dot2_token,
2077 comma_token: _i . comma_token,
2078 }
2079}
2080# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002081pub fn fold_pat_tuple_struct<V: Folder + ?Sized>(_visitor: &mut V, _i: PatTupleStruct) -> PatTupleStruct {
Nika Layzell27726662017-10-24 23:16:35 -04002082 PatTupleStruct {
2083 path: _visitor.fold_path(_i . path),
2084 pat: _visitor.fold_pat_tuple(_i . pat),
2085 }
2086}
2087# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002088pub fn fold_pat_wild<V: Folder + ?Sized>(_visitor: &mut V, _i: PatWild) -> PatWild {
Nika Layzell27726662017-10-24 23:16:35 -04002089 PatWild {
2090 underscore_token: _i . underscore_token,
2091 }
2092}
2093
Nika Layzella6f46c42017-10-26 15:26:16 -04002094pub fn fold_path<V: Folder + ?Sized>(_visitor: &mut V, _i: Path) -> Path {
Nika Layzell27726662017-10-24 23:16:35 -04002095 Path {
2096 leading_colon: _i . leading_colon,
2097 segments: FoldHelper::lift(_i . segments, |it| { _visitor.fold_path_segment(it) }),
2098 }
2099}
2100# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002101pub fn fold_path_glob<V: Folder + ?Sized>(_visitor: &mut V, _i: PathGlob) -> PathGlob {
Nika Layzell27726662017-10-24 23:16:35 -04002102 PathGlob {
2103 path: _visitor.fold_path(_i . path),
2104 colon2_token: _i . colon2_token,
2105 star_token: _i . star_token,
2106 }
2107}
2108# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002109pub fn fold_path_list<V: Folder + ?Sized>(_visitor: &mut V, _i: PathList) -> PathList {
Nika Layzell27726662017-10-24 23:16:35 -04002110 PathList {
2111 path: _visitor.fold_path(_i . path),
2112 colon2_token: _i . colon2_token,
2113 brace_token: _i . brace_token,
2114 items: FoldHelper::lift(_i . items, |it| { _visitor.fold_path_list_item(it) }),
2115 }
2116}
2117# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002118pub fn fold_path_list_item<V: Folder + ?Sized>(_visitor: &mut V, _i: PathListItem) -> PathListItem {
Nika Layzell27726662017-10-24 23:16:35 -04002119 PathListItem {
2120 name: _i . name,
2121 rename: _i . rename,
2122 as_token: _i . as_token,
2123 }
2124}
2125
Nika Layzella6f46c42017-10-26 15:26:16 -04002126pub fn fold_path_parameters<V: Folder + ?Sized>(_visitor: &mut V, _i: PathParameters) -> PathParameters {
Nika Layzell27726662017-10-24 23:16:35 -04002127 use ::PathParameters::*;
2128 match _i {
2129 None => { None }
2130 AngleBracketed(_binding_0, ) => {
2131 AngleBracketed (
2132 _visitor.fold_angle_bracketed_parameter_data(_binding_0),
2133 )
2134 }
2135 Parenthesized(_binding_0, ) => {
2136 Parenthesized (
2137 _visitor.fold_parenthesized_parameter_data(_binding_0),
2138 )
2139 }
2140 }
2141}
2142
Nika Layzella6f46c42017-10-26 15:26:16 -04002143pub fn fold_path_segment<V: Folder + ?Sized>(_visitor: &mut V, _i: PathSegment) -> PathSegment {
Nika Layzell27726662017-10-24 23:16:35 -04002144 PathSegment {
2145 ident: _i . ident,
2146 parameters: _visitor.fold_path_parameters(_i . parameters),
2147 }
2148}
2149# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002150pub fn fold_path_simple<V: Folder + ?Sized>(_visitor: &mut V, _i: PathSimple) -> PathSimple {
Nika Layzell27726662017-10-24 23:16:35 -04002151 PathSimple {
2152 path: _visitor.fold_path(_i . path),
2153 as_token: _i . as_token,
2154 rename: _i . rename,
2155 }
2156}
2157
Nika Layzella6f46c42017-10-26 15:26:16 -04002158pub fn fold_poly_trait_ref<V: Folder + ?Sized>(_visitor: &mut V, _i: PolyTraitRef) -> PolyTraitRef {
Nika Layzell27726662017-10-24 23:16:35 -04002159 PolyTraitRef {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002160 bound_lifetimes: (_i . bound_lifetimes).map(|it| { _visitor.fold_bound_lifetimes(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002161 trait_ref: _visitor.fold_path(_i . trait_ref),
2162 }
2163}
2164
Nika Layzella6f46c42017-10-26 15:26:16 -04002165pub fn fold_qself<V: Folder + ?Sized>(_visitor: &mut V, _i: QSelf) -> QSelf {
Nika Layzell27726662017-10-24 23:16:35 -04002166 QSelf {
2167 lt_token: _i . lt_token,
2168 ty: Box::new(_visitor.fold_ty(* _i . ty)),
2169 position: _i . position,
2170 as_token: _i . as_token,
2171 gt_token: _i . gt_token,
2172 }
2173}
2174# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002175pub fn fold_range_limits<V: Folder + ?Sized>(_visitor: &mut V, _i: RangeLimits) -> RangeLimits {
Nika Layzell27726662017-10-24 23:16:35 -04002176 use ::RangeLimits::*;
2177 match _i {
2178 HalfOpen(_binding_0, ) => {
2179 HalfOpen (
2180 _binding_0,
2181 )
2182 }
2183 Closed(_binding_0, ) => {
2184 Closed (
2185 _binding_0,
2186 )
2187 }
2188 }
2189}
2190# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002191pub fn fold_stmt<V: Folder + ?Sized>(_visitor: &mut V, _i: Stmt) -> Stmt {
Nika Layzell27726662017-10-24 23:16:35 -04002192 use ::Stmt::*;
2193 match _i {
2194 Local(_binding_0, ) => {
2195 Local (
2196 Box::new(_visitor.fold_local(* _binding_0)),
2197 )
2198 }
2199 Item(_binding_0, ) => {
2200 Item (
2201 Box::new(_visitor.fold_item(* _binding_0)),
2202 )
2203 }
2204 Expr(_binding_0, ) => {
2205 Expr (
2206 Box::new(_visitor.fold_expr(* _binding_0)),
2207 )
2208 }
2209 Semi(_binding_0, _binding_1, ) => {
2210 Semi (
2211 Box::new(_visitor.fold_expr(* _binding_0)),
2212 _binding_1,
2213 )
2214 }
David Tolnaydecf28d2017-11-11 11:56:45 -08002215 Macro(_binding_0, ) => {
2216 Macro (
Nika Layzell27726662017-10-24 23:16:35 -04002217 _binding_0,
2218 )
2219 }
2220 }
2221}
2222
Nika Layzella6f46c42017-10-26 15:26:16 -04002223pub fn fold_trait_bound_modifier<V: Folder + ?Sized>(_visitor: &mut V, _i: TraitBoundModifier) -> TraitBoundModifier {
Nika Layzell27726662017-10-24 23:16:35 -04002224 use ::TraitBoundModifier::*;
2225 match _i {
2226 None => { None }
2227 Maybe(_binding_0, ) => {
2228 Maybe (
2229 _binding_0,
2230 )
2231 }
2232 }
2233}
2234# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002235pub fn fold_trait_item<V: Folder + ?Sized>(_visitor: &mut V, _i: TraitItem) -> TraitItem {
David Tolnayda705bd2017-11-10 21:58:05 -08002236 use ::TraitItem::*;
Nika Layzell27726662017-10-24 23:16:35 -04002237 match _i {
2238 Const(_binding_0, ) => {
2239 Const (
2240 _visitor.fold_trait_item_const(_binding_0),
2241 )
2242 }
2243 Method(_binding_0, ) => {
2244 Method (
2245 _visitor.fold_trait_item_method(_binding_0),
2246 )
2247 }
2248 Type(_binding_0, ) => {
2249 Type (
2250 _visitor.fold_trait_item_type(_binding_0),
2251 )
2252 }
2253 Macro(_binding_0, ) => {
2254 Macro (
David Tolnaydecf28d2017-11-11 11:56:45 -08002255 _visitor.fold_trait_item_macro(_binding_0),
Nika Layzell27726662017-10-24 23:16:35 -04002256 )
2257 }
2258 }
2259}
2260# [ cfg ( feature = "full" ) ]
David Tolnayda705bd2017-11-10 21:58:05 -08002261pub fn fold_trait_item_const<V: Folder + ?Sized>(_visitor: &mut V, _i: TraitItemConst) -> TraitItemConst {
2262 TraitItemConst {
2263 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
2264 const_token: _i . const_token,
2265 ident: _i . ident,
2266 colon_token: _i . colon_token,
2267 ty: _visitor.fold_ty(_i . ty),
2268 default: _i . default,
2269 semi_token: _i . semi_token,
2270 }
2271}
2272# [ cfg ( feature = "full" ) ]
David Tolnaydecf28d2017-11-11 11:56:45 -08002273pub fn fold_trait_item_macro<V: Folder + ?Sized>(_visitor: &mut V, _i: TraitItemMacro) -> TraitItemMacro {
2274 TraitItemMacro {
David Tolnayda705bd2017-11-10 21:58:05 -08002275 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
David Tolnaydecf28d2017-11-11 11:56:45 -08002276 mac: _visitor.fold_macro(_i . mac),
David Tolnayda705bd2017-11-10 21:58:05 -08002277 }
2278}
2279# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002280pub fn fold_trait_item_method<V: Folder + ?Sized>(_visitor: &mut V, _i: TraitItemMethod) -> TraitItemMethod {
Nika Layzell27726662017-10-24 23:16:35 -04002281 TraitItemMethod {
David Tolnayda705bd2017-11-10 21:58:05 -08002282 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002283 sig: _visitor.fold_method_sig(_i . sig),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002284 default: (_i . default).map(|it| { _visitor.fold_block(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002285 semi_token: _i . semi_token,
2286 }
2287}
2288# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002289pub fn fold_trait_item_type<V: Folder + ?Sized>(_visitor: &mut V, _i: TraitItemType) -> TraitItemType {
Nika Layzell27726662017-10-24 23:16:35 -04002290 TraitItemType {
David Tolnayda705bd2017-11-10 21:58:05 -08002291 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002292 type_token: _i . type_token,
2293 ident: _i . ident,
2294 colon_token: _i . colon_token,
2295 bounds: FoldHelper::lift(_i . bounds, |it| { _visitor.fold_ty_param_bound(it) }),
2296 default: _i . default,
2297 semi_token: _i . semi_token,
2298 }
2299}
2300
Nika Layzella6f46c42017-10-26 15:26:16 -04002301pub fn fold_ty<V: Folder + ?Sized>(_visitor: &mut V, _i: Ty) -> Ty {
Nika Layzell27726662017-10-24 23:16:35 -04002302 use ::Ty::*;
2303 match _i {
2304 Slice(_binding_0, ) => {
2305 Slice (
2306 _visitor.fold_ty_slice(_binding_0),
2307 )
2308 }
2309 Array(_binding_0, ) => {
2310 Array (
2311 _visitor.fold_ty_array(_binding_0),
2312 )
2313 }
2314 Ptr(_binding_0, ) => {
2315 Ptr (
2316 _visitor.fold_ty_ptr(_binding_0),
2317 )
2318 }
2319 Rptr(_binding_0, ) => {
2320 Rptr (
2321 _visitor.fold_ty_rptr(_binding_0),
2322 )
2323 }
2324 BareFn(_binding_0, ) => {
2325 BareFn (
2326 _visitor.fold_ty_bare_fn(_binding_0),
2327 )
2328 }
2329 Never(_binding_0, ) => {
2330 Never (
2331 _visitor.fold_ty_never(_binding_0),
2332 )
2333 }
2334 Tup(_binding_0, ) => {
2335 Tup (
2336 _visitor.fold_ty_tup(_binding_0),
2337 )
2338 }
2339 Path(_binding_0, ) => {
2340 Path (
2341 _visitor.fold_ty_path(_binding_0),
2342 )
2343 }
2344 TraitObject(_binding_0, ) => {
2345 TraitObject (
2346 _visitor.fold_ty_trait_object(_binding_0),
2347 )
2348 }
2349 ImplTrait(_binding_0, ) => {
2350 ImplTrait (
2351 _visitor.fold_ty_impl_trait(_binding_0),
2352 )
2353 }
2354 Paren(_binding_0, ) => {
2355 Paren (
2356 _visitor.fold_ty_paren(_binding_0),
2357 )
2358 }
2359 Group(_binding_0, ) => {
2360 Group (
2361 _visitor.fold_ty_group(_binding_0),
2362 )
2363 }
2364 Infer(_binding_0, ) => {
2365 Infer (
2366 _visitor.fold_ty_infer(_binding_0),
2367 )
2368 }
David Tolnaydecf28d2017-11-11 11:56:45 -08002369 Macro(_binding_0, ) => {
2370 Macro (
2371 _visitor.fold_macro(_binding_0),
Nika Layzell27726662017-10-24 23:16:35 -04002372 )
2373 }
2374 }
2375}
2376
Nika Layzella6f46c42017-10-26 15:26:16 -04002377pub fn fold_ty_array<V: Folder + ?Sized>(_visitor: &mut V, _i: TyArray) -> TyArray {
Nika Layzell27726662017-10-24 23:16:35 -04002378 TyArray {
2379 bracket_token: _i . bracket_token,
2380 ty: Box::new(_visitor.fold_ty(* _i . ty)),
2381 semi_token: _i . semi_token,
2382 amt: _visitor.fold_expr(_i . amt),
2383 }
2384}
2385
Nika Layzella6f46c42017-10-26 15:26:16 -04002386pub fn fold_ty_bare_fn<V: Folder + ?Sized>(_visitor: &mut V, _i: TyBareFn) -> TyBareFn {
Nika Layzell27726662017-10-24 23:16:35 -04002387 TyBareFn {
2388 ty: Box::new(_visitor.fold_bare_fn_ty(* _i . ty)),
2389 }
2390}
2391
Nika Layzella6f46c42017-10-26 15:26:16 -04002392pub fn fold_ty_group<V: Folder + ?Sized>(_visitor: &mut V, _i: TyGroup) -> TyGroup {
Nika Layzell27726662017-10-24 23:16:35 -04002393 TyGroup {
2394 group_token: _i . group_token,
2395 ty: Box::new(_visitor.fold_ty(* _i . ty)),
2396 }
2397}
2398
Nika Layzella6f46c42017-10-26 15:26:16 -04002399pub fn fold_ty_impl_trait<V: Folder + ?Sized>(_visitor: &mut V, _i: TyImplTrait) -> TyImplTrait {
Nika Layzell27726662017-10-24 23:16:35 -04002400 TyImplTrait {
2401 impl_token: _i . impl_token,
2402 bounds: FoldHelper::lift(_i . bounds, |it| { _visitor.fold_ty_param_bound(it) }),
2403 }
2404}
2405
Nika Layzella6f46c42017-10-26 15:26:16 -04002406pub fn fold_ty_infer<V: Folder + ?Sized>(_visitor: &mut V, _i: TyInfer) -> TyInfer {
Nika Layzell27726662017-10-24 23:16:35 -04002407 TyInfer {
2408 underscore_token: _i . underscore_token,
2409 }
2410}
2411
Nika Layzella6f46c42017-10-26 15:26:16 -04002412pub fn fold_ty_never<V: Folder + ?Sized>(_visitor: &mut V, _i: TyNever) -> TyNever {
Nika Layzell27726662017-10-24 23:16:35 -04002413 TyNever {
2414 bang_token: _i . bang_token,
2415 }
2416}
2417
Nika Layzella6f46c42017-10-26 15:26:16 -04002418pub fn fold_ty_param<V: Folder + ?Sized>(_visitor: &mut V, _i: TyParam) -> TyParam {
Nika Layzell27726662017-10-24 23:16:35 -04002419 TyParam {
2420 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
2421 ident: _i . ident,
2422 colon_token: _i . colon_token,
2423 bounds: FoldHelper::lift(_i . bounds, |it| { _visitor.fold_ty_param_bound(it) }),
2424 eq_token: _i . eq_token,
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002425 default: (_i . default).map(|it| { _visitor.fold_ty(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002426 }
2427}
2428
Nika Layzella6f46c42017-10-26 15:26:16 -04002429pub fn fold_ty_param_bound<V: Folder + ?Sized>(_visitor: &mut V, _i: TyParamBound) -> TyParamBound {
Nika Layzell27726662017-10-24 23:16:35 -04002430 use ::TyParamBound::*;
2431 match _i {
2432 Trait(_binding_0, _binding_1, ) => {
2433 Trait (
2434 _visitor.fold_poly_trait_ref(_binding_0),
2435 _visitor.fold_trait_bound_modifier(_binding_1),
2436 )
2437 }
2438 Region(_binding_0, ) => {
2439 Region (
2440 _binding_0,
2441 )
2442 }
2443 }
2444}
2445
Nika Layzella6f46c42017-10-26 15:26:16 -04002446pub fn fold_ty_paren<V: Folder + ?Sized>(_visitor: &mut V, _i: TyParen) -> TyParen {
Nika Layzell27726662017-10-24 23:16:35 -04002447 TyParen {
2448 paren_token: _i . paren_token,
2449 ty: Box::new(_visitor.fold_ty(* _i . ty)),
2450 }
2451}
2452
Nika Layzella6f46c42017-10-26 15:26:16 -04002453pub fn fold_ty_path<V: Folder + ?Sized>(_visitor: &mut V, _i: TyPath) -> TyPath {
Nika Layzell27726662017-10-24 23:16:35 -04002454 TyPath {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002455 qself: (_i . qself).map(|it| { _visitor.fold_qself(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002456 path: _visitor.fold_path(_i . path),
2457 }
2458}
2459
Nika Layzella6f46c42017-10-26 15:26:16 -04002460pub fn fold_ty_ptr<V: Folder + ?Sized>(_visitor: &mut V, _i: TyPtr) -> TyPtr {
Nika Layzell27726662017-10-24 23:16:35 -04002461 TyPtr {
2462 star_token: _i . star_token,
2463 const_token: _i . const_token,
2464 ty: Box::new(_visitor.fold_mut_ty(* _i . ty)),
2465 }
2466}
2467
Nika Layzella6f46c42017-10-26 15:26:16 -04002468pub fn fold_ty_rptr<V: Folder + ?Sized>(_visitor: &mut V, _i: TyRptr) -> TyRptr {
Nika Layzell27726662017-10-24 23:16:35 -04002469 TyRptr {
2470 and_token: _i . and_token,
2471 lifetime: _i . lifetime,
2472 ty: Box::new(_visitor.fold_mut_ty(* _i . ty)),
2473 }
2474}
2475
Nika Layzella6f46c42017-10-26 15:26:16 -04002476pub fn fold_ty_slice<V: Folder + ?Sized>(_visitor: &mut V, _i: TySlice) -> TySlice {
Nika Layzell27726662017-10-24 23:16:35 -04002477 TySlice {
2478 ty: Box::new(_visitor.fold_ty(* _i . ty)),
2479 bracket_token: _i . bracket_token,
2480 }
2481}
2482
Nika Layzella6f46c42017-10-26 15:26:16 -04002483pub fn fold_ty_trait_object<V: Folder + ?Sized>(_visitor: &mut V, _i: TyTraitObject) -> TyTraitObject {
Nika Layzell27726662017-10-24 23:16:35 -04002484 TyTraitObject {
2485 bounds: FoldHelper::lift(_i . bounds, |it| { _visitor.fold_ty_param_bound(it) }),
2486 }
2487}
2488
Nika Layzella6f46c42017-10-26 15:26:16 -04002489pub fn fold_ty_tup<V: Folder + ?Sized>(_visitor: &mut V, _i: TyTup) -> TyTup {
Nika Layzell27726662017-10-24 23:16:35 -04002490 TyTup {
2491 paren_token: _i . paren_token,
2492 tys: FoldHelper::lift(_i . tys, |it| { _visitor.fold_ty(it) }),
2493 lone_comma: _i . lone_comma,
2494 }
2495}
2496
Nika Layzella6f46c42017-10-26 15:26:16 -04002497pub fn fold_type_binding<V: Folder + ?Sized>(_visitor: &mut V, _i: TypeBinding) -> TypeBinding {
Nika Layzell27726662017-10-24 23:16:35 -04002498 TypeBinding {
2499 ident: _i . ident,
2500 eq_token: _i . eq_token,
2501 ty: _visitor.fold_ty(_i . ty),
2502 }
2503}
2504
Nika Layzella6f46c42017-10-26 15:26:16 -04002505pub fn fold_un_op<V: Folder + ?Sized>(_visitor: &mut V, _i: UnOp) -> UnOp {
Nika Layzell27726662017-10-24 23:16:35 -04002506 use ::UnOp::*;
2507 match _i {
2508 Deref(_binding_0, ) => {
2509 Deref (
2510 _binding_0,
2511 )
2512 }
2513 Not(_binding_0, ) => {
2514 Not (
2515 _binding_0,
2516 )
2517 }
2518 Neg(_binding_0, ) => {
2519 Neg (
2520 _binding_0,
2521 )
2522 }
2523 }
2524}
2525
Nika Layzella6f46c42017-10-26 15:26:16 -04002526pub fn fold_unsafety<V: Folder + ?Sized>(_visitor: &mut V, _i: Unsafety) -> Unsafety {
Nika Layzell27726662017-10-24 23:16:35 -04002527 use ::Unsafety::*;
2528 match _i {
2529 Unsafe(_binding_0, ) => {
2530 Unsafe (
2531 _binding_0,
2532 )
2533 }
2534 Normal => { Normal }
2535 }
2536}
2537
Nika Layzella6f46c42017-10-26 15:26:16 -04002538pub fn fold_variant<V: Folder + ?Sized>(_visitor: &mut V, _i: Variant) -> Variant {
Nika Layzell27726662017-10-24 23:16:35 -04002539 Variant {
2540 ident: _i . ident,
2541 attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
2542 data: _visitor.fold_variant_data(_i . data),
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002543 discriminant: (_i . discriminant).map(|it| { _visitor.fold_expr(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002544 eq_token: _i . eq_token,
2545 }
2546}
2547
Nika Layzella6f46c42017-10-26 15:26:16 -04002548pub fn fold_variant_data<V: Folder + ?Sized>(_visitor: &mut V, _i: VariantData) -> VariantData {
Nika Layzell27726662017-10-24 23:16:35 -04002549 use ::VariantData::*;
2550 match _i {
2551 Struct(_binding_0, _binding_1, ) => {
2552 Struct (
2553 FoldHelper::lift(_binding_0, |it| { _visitor.fold_field(it) }),
2554 _binding_1,
2555 )
2556 }
2557 Tuple(_binding_0, _binding_1, ) => {
2558 Tuple (
2559 FoldHelper::lift(_binding_0, |it| { _visitor.fold_field(it) }),
2560 _binding_1,
2561 )
2562 }
2563 Unit => { Unit }
2564 }
2565}
2566# [ cfg ( feature = "full" ) ]
Nika Layzella6f46c42017-10-26 15:26:16 -04002567pub fn fold_view_path<V: Folder + ?Sized>(_visitor: &mut V, _i: ViewPath) -> ViewPath {
Nika Layzell27726662017-10-24 23:16:35 -04002568 use ::ViewPath::*;
2569 match _i {
2570 Simple(_binding_0, ) => {
2571 Simple (
2572 _visitor.fold_path_simple(_binding_0),
2573 )
2574 }
2575 Glob(_binding_0, ) => {
2576 Glob (
2577 _visitor.fold_path_glob(_binding_0),
2578 )
2579 }
2580 List(_binding_0, ) => {
2581 List (
2582 _visitor.fold_path_list(_binding_0),
2583 )
2584 }
2585 }
2586}
2587
Nika Layzella6f46c42017-10-26 15:26:16 -04002588pub fn fold_vis_crate<V: Folder + ?Sized>(_visitor: &mut V, _i: VisCrate) -> VisCrate {
Nika Layzell27726662017-10-24 23:16:35 -04002589 VisCrate {
2590 pub_token: _i . pub_token,
2591 paren_token: _i . paren_token,
2592 crate_token: _i . crate_token,
2593 }
2594}
2595
Nika Layzella6f46c42017-10-26 15:26:16 -04002596pub fn fold_vis_inherited<V: Folder + ?Sized>(_visitor: &mut V, _i: VisInherited) -> VisInherited {
Nika Layzell27726662017-10-24 23:16:35 -04002597 VisInherited {
2598 }
2599}
2600
Nika Layzella6f46c42017-10-26 15:26:16 -04002601pub fn fold_vis_public<V: Folder + ?Sized>(_visitor: &mut V, _i: VisPublic) -> VisPublic {
Nika Layzell27726662017-10-24 23:16:35 -04002602 VisPublic {
2603 pub_token: _i . pub_token,
2604 }
2605}
2606
Nika Layzella6f46c42017-10-26 15:26:16 -04002607pub fn fold_vis_restricted<V: Folder + ?Sized>(_visitor: &mut V, _i: VisRestricted) -> VisRestricted {
Nika Layzell27726662017-10-24 23:16:35 -04002608 VisRestricted {
2609 pub_token: _i . pub_token,
2610 paren_token: _i . paren_token,
2611 in_token: _i . in_token,
2612 path: Box::new(_visitor.fold_path(* _i . path)),
2613 }
2614}
2615
Nika Layzella6f46c42017-10-26 15:26:16 -04002616pub fn fold_visibility<V: Folder + ?Sized>(_visitor: &mut V, _i: Visibility) -> Visibility {
Nika Layzell27726662017-10-24 23:16:35 -04002617 use ::Visibility::*;
2618 match _i {
2619 Public(_binding_0, ) => {
2620 Public (
2621 _visitor.fold_vis_public(_binding_0),
2622 )
2623 }
2624 Crate(_binding_0, ) => {
2625 Crate (
2626 _visitor.fold_vis_crate(_binding_0),
2627 )
2628 }
2629 Restricted(_binding_0, ) => {
2630 Restricted (
2631 _visitor.fold_vis_restricted(_binding_0),
2632 )
2633 }
2634 Inherited(_binding_0, ) => {
2635 Inherited (
2636 _visitor.fold_vis_inherited(_binding_0),
2637 )
2638 }
2639 }
2640}
2641
Nika Layzella6f46c42017-10-26 15:26:16 -04002642pub fn fold_where_bound_predicate<V: Folder + ?Sized>(_visitor: &mut V, _i: WhereBoundPredicate) -> WhereBoundPredicate {
Nika Layzell27726662017-10-24 23:16:35 -04002643 WhereBoundPredicate {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002644 bound_lifetimes: (_i . bound_lifetimes).map(|it| { _visitor.fold_bound_lifetimes(it) }),
Nika Layzell27726662017-10-24 23:16:35 -04002645 bounded_ty: _visitor.fold_ty(_i . bounded_ty),
2646 colon_token: _i . colon_token,
2647 bounds: FoldHelper::lift(_i . bounds, |it| { _visitor.fold_ty_param_bound(it) }),
2648 }
2649}
2650
Nika Layzella6f46c42017-10-26 15:26:16 -04002651pub fn fold_where_clause<V: Folder + ?Sized>(_visitor: &mut V, _i: WhereClause) -> WhereClause {
Nika Layzell27726662017-10-24 23:16:35 -04002652 WhereClause {
2653 where_token: _i . where_token,
2654 predicates: FoldHelper::lift(_i . predicates, |it| { _visitor.fold_where_predicate(it) }),
2655 }
2656}
2657
Nika Layzella6f46c42017-10-26 15:26:16 -04002658pub fn fold_where_eq_predicate<V: Folder + ?Sized>(_visitor: &mut V, _i: WhereEqPredicate) -> WhereEqPredicate {
Nika Layzell27726662017-10-24 23:16:35 -04002659 WhereEqPredicate {
2660 lhs_ty: _visitor.fold_ty(_i . lhs_ty),
2661 eq_token: _i . eq_token,
2662 rhs_ty: _visitor.fold_ty(_i . rhs_ty),
2663 }
2664}
2665
Nika Layzella6f46c42017-10-26 15:26:16 -04002666pub fn fold_where_predicate<V: Folder + ?Sized>(_visitor: &mut V, _i: WherePredicate) -> WherePredicate {
Nika Layzell27726662017-10-24 23:16:35 -04002667 use ::WherePredicate::*;
2668 match _i {
2669 BoundPredicate(_binding_0, ) => {
2670 BoundPredicate (
2671 _visitor.fold_where_bound_predicate(_binding_0),
2672 )
2673 }
2674 RegionPredicate(_binding_0, ) => {
2675 RegionPredicate (
2676 _visitor.fold_where_region_predicate(_binding_0),
2677 )
2678 }
2679 EqPredicate(_binding_0, ) => {
2680 EqPredicate (
2681 _visitor.fold_where_eq_predicate(_binding_0),
2682 )
2683 }
2684 }
2685}
2686
Nika Layzella6f46c42017-10-26 15:26:16 -04002687pub fn fold_where_region_predicate<V: Folder + ?Sized>(_visitor: &mut V, _i: WhereRegionPredicate) -> WhereRegionPredicate {
Nika Layzell27726662017-10-24 23:16:35 -04002688 WhereRegionPredicate {
2689 lifetime: _i . lifetime,
2690 colon_token: _i . colon_token,
2691 bounds: _i . bounds,
2692 }
2693}
2694