Module syntax::fold [] [src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, and unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

A Folder represents an AST->AST fold; it accepts an AST piece, and returns a piece of the same type. So, for instance, macro expansion is a Folder that walks over an AST and produces another AST.

Note: using a Folder (other than the MacroExpander Folder) on an AST before macro expansion is probably a bad idea. For instance, a folder renaming item names in a module will miss all of those that are created by the expansion of a macro.

Traits

Folder [
Experimental
]

Functions

fold_attrs [
Experimental
]
fold_thin_attrs [
Experimental
]
noop_fold_angle_bracketed_parameter_data [
Experimental
]
noop_fold_arg [
Experimental
]
noop_fold_arm [
Experimental
]
noop_fold_attribute [
Experimental
]
noop_fold_block [
Experimental
]
noop_fold_crate [
Experimental
]
noop_fold_expr [
Experimental
]
noop_fold_exprs [
Experimental
]
noop_fold_field [
Experimental
]
noop_fold_fn_decl [
Experimental
]
noop_fold_foreign_item [
Experimental
]
noop_fold_foreign_mod [
Experimental
]
noop_fold_generics [
Experimental
]
noop_fold_global_asm [
Experimental
]
noop_fold_ident [
Experimental
]
noop_fold_impl_item [
Experimental
]
noop_fold_interpolated [
Experimental
]

apply folder to elements of interpolated nodes

noop_fold_item [
Experimental
]
noop_fold_item_kind [
Experimental
]
noop_fold_item_simple [
Experimental
]
noop_fold_lifetime [
Experimental
]
noop_fold_lifetime_def [
Experimental
]
noop_fold_lifetime_defs [
Experimental
]
noop_fold_lifetimes [
Experimental
]
noop_fold_local [
Experimental
]
noop_fold_mac [
Experimental
]
noop_fold_macro_def [
Experimental
]
noop_fold_meta_item [
Experimental
]
noop_fold_meta_items [
Experimental
]
noop_fold_meta_list_item [
Experimental
]
noop_fold_method_sig [
Experimental
]
noop_fold_mod [
Experimental
]
noop_fold_mt [
Experimental
]
noop_fold_opt_bounds [
Experimental
]
noop_fold_opt_expr [
Experimental
]
noop_fold_opt_lifetime [
Experimental
]
noop_fold_parenthesized_parameter_data [
Experimental
]
noop_fold_pat [
Experimental
]
noop_fold_path [
Experimental
]
noop_fold_path_parameters [
Experimental
]
noop_fold_poly_trait_ref [
Experimental
]
noop_fold_range_end [
Experimental
]
noop_fold_stmt [
Experimental
]
noop_fold_stmt_kind [
Experimental
]
noop_fold_struct_field [
Experimental
]
noop_fold_token [
Experimental
]
noop_fold_trait_item [
Experimental
]
noop_fold_trait_ref [
Experimental
]
noop_fold_tt [
Experimental
]
noop_fold_tts [
Experimental
]
noop_fold_ty [
Experimental
]
noop_fold_ty_binding [
Experimental
]
noop_fold_ty_param [
Experimental
]
noop_fold_ty_param_bound [
Experimental
]
noop_fold_ty_params [
Experimental
]
noop_fold_usize [
Experimental
]
noop_fold_variant [
Experimental
]
noop_fold_variant_data [
Experimental
]
noop_fold_view_path [
Experimental
]
noop_fold_vis [
Experimental
]
noop_fold_where_clause [
Experimental
]
noop_fold_where_predicate [
Experimental
]