wasmer/rustdoc/syn/fold/index.html
2019-09-06 15:57:44 -07:00

72 lines
42 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `fold` mod in crate `syn`."><meta name="keywords" content="rust, rustlang, rust-lang, fold"><title>syn::fold - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="shortcut icon" href="../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../syn/index.html'><div class='logo-container'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module fold</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div><p class='location'><a href='../index.html'>syn</a></p><script>window.sidebarCurrent = {name: 'fold', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/syn/gen/fold.rs.html#4-3236' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>syn</a>::<wbr><a class="mod" href=''>fold</a></span></h1><div class='docblock'><p>Syntax tree traversal to transform the nodes of an owned syntax tree.</p>
<p>Each method of the <a href="../../syn/fold/trait.Fold.html"><code>Fold</code></a> trait is a hook that can be overridden to
customize the behavior when transforming the corresponding type of node.
By default, every method recursively visits the substructure of the
input by invoking the right visitor method of each of its fields.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">Fold</span> {
<span class="comment">/* ... */</span>
<span class="kw">fn</span> <span class="ident">fold_expr_binary</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">node</span>: <span class="ident">ExprBinary</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">ExprBinary</span> {
<span class="ident">fold_expr_binary</span>(<span class="self">self</span>, <span class="ident">node</span>)
}
<span class="comment">/* ... */</span>
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">fold_expr_binary</span><span class="op">&lt;</span><span class="ident">V</span><span class="op">&gt;</span>(<span class="ident">v</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">V</span>, <span class="ident">node</span>: <span class="ident">ExprBinary</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">ExprBinary</span>
<span class="kw">where</span>
<span class="ident">V</span>: <span class="ident">Fold</span> <span class="op">+</span> <span class="question-mark">?</span><span class="ident">Sized</span>,
{
<span class="ident">ExprBinary</span> {
<span class="ident">attrs</span>: <span class="ident">node</span>
.<span class="ident">attrs</span>
.<span class="ident">into_iter</span>()
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">attr</span><span class="op">|</span> <span class="ident">v</span>.<span class="ident">fold_attribute</span>(<span class="ident">attr</span>))
.<span class="ident">collect</span>(),
<span class="ident">left</span>: <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">v</span>.<span class="ident">fold_expr</span>(<span class="kw-2">*</span><span class="ident">node</span>.<span class="ident">left</span>)),
<span class="ident">op</span>: <span class="ident">v</span>.<span class="ident">fold_bin_op</span>(<span class="ident">node</span>.<span class="ident">op</span>),
<span class="ident">right</span>: <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">v</span>.<span class="ident">fold_expr</span>(<span class="kw-2">*</span><span class="ident">node</span>.<span class="ident">right</span>)),
}
}
<span class="comment">/* ... */</span></pre></div>
<p><em>This module is available if Syn is built with the <code>&quot;fold&quot;</code> feature.</em></p>
<br>
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
<p>This fold inserts parentheses to fully parenthesizes any expression.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="comment">// [dependencies]</span>
<span class="comment">// quote = &quot;1.0&quot;</span>
<span class="comment">// syn = { version = &quot;1.0&quot;, features = [&quot;fold&quot;, &quot;full&quot;] }</span>
<span class="kw">use</span> <span class="ident">quote</span>::<span class="ident">quote</span>;
<span class="kw">use</span> <span class="ident">syn</span>::<span class="ident">fold</span>::{<span class="ident">fold_expr</span>, <span class="ident">Fold</span>};
<span class="kw">use</span> <span class="ident">syn</span>::{<span class="ident">token</span>, <span class="ident">Expr</span>, <span class="ident">ExprParen</span>};
<span class="kw">struct</span> <span class="ident">ParenthesizeEveryExpr</span>;
<span class="kw">impl</span> <span class="ident">Fold</span> <span class="kw">for</span> <span class="ident">ParenthesizeEveryExpr</span> {
<span class="kw">fn</span> <span class="ident">fold_expr</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">expr</span>: <span class="ident">Expr</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">Expr</span> {
<span class="ident">Expr</span>::<span class="ident">Paren</span>(<span class="ident">ExprParen</span> {
<span class="ident">attrs</span>: <span class="ident">Vec</span>::<span class="ident">new</span>(),
<span class="ident">expr</span>: <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">fold_expr</span>(<span class="self">self</span>, <span class="ident">expr</span>)),
<span class="ident">paren_token</span>: <span class="ident">token</span>::<span class="ident">Paren</span>::<span class="ident">default</span>(),
})
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">code</span> <span class="op">=</span> <span class="macro">quote</span><span class="macro">!</span> { <span class="ident">a</span>() <span class="op">+</span> <span class="ident">b</span>(<span class="number">1</span>) <span class="op">*</span> <span class="ident">c</span>.<span class="ident">d</span> };
<span class="kw">let</span> <span class="ident">expr</span>: <span class="ident">Expr</span> <span class="op">=</span> <span class="ident">syn</span>::<span class="ident">parse2</span>(<span class="ident">code</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">parenthesized</span> <span class="op">=</span> <span class="ident">ParenthesizeEveryExpr</span>.<span class="ident">fold_expr</span>(<span class="ident">expr</span>);
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;{}&quot;</span>, <span class="macro">quote</span><span class="macro">!</span>(#<span class="ident">parenthesized</span>));
<span class="comment">// Output: (((a)()) + (((b)((1))) * ((c).d)))</span>
}</pre></div>
</div><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
<table><tr class='module-item'><td><a class="trait" href="trait.Fold.html" title='syn::fold::Fold trait'>Fold</a></td><td class='docblock-short'><p>Syntax tree traversal to transform the nodes of an owned syntax tree.</p>
</td></tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
<table><tr class='module-item'><td><a class="fn" href="fn.fold_abi.html" title='syn::fold::fold_abi fn'>fold_abi</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_angle_bracketed_generic_arguments.html" title='syn::fold::fold_angle_bracketed_generic_arguments fn'>fold_angle_bracketed_generic_arguments</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_arm.html" title='syn::fold::fold_arm fn'>fold_arm</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_attr_style.html" title='syn::fold::fold_attr_style fn'>fold_attr_style</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_attribute.html" title='syn::fold::fold_attribute fn'>fold_attribute</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_bare_fn_arg.html" title='syn::fold::fold_bare_fn_arg fn'>fold_bare_fn_arg</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_bin_op.html" title='syn::fold::fold_bin_op fn'>fold_bin_op</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_binding.html" title='syn::fold::fold_binding fn'>fold_binding</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_block.html" title='syn::fold::fold_block fn'>fold_block</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_bound_lifetimes.html" title='syn::fold::fold_bound_lifetimes fn'>fold_bound_lifetimes</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_const_param.html" title='syn::fold::fold_const_param fn'>fold_const_param</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_constraint.html" title='syn::fold::fold_constraint fn'>fold_constraint</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_data.html" title='syn::fold::fold_data fn'>fold_data</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_data_enum.html" title='syn::fold::fold_data_enum fn'>fold_data_enum</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_data_struct.html" title='syn::fold::fold_data_struct fn'>fold_data_struct</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_data_union.html" title='syn::fold::fold_data_union fn'>fold_data_union</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_derive_input.html" title='syn::fold::fold_derive_input fn'>fold_derive_input</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr.html" title='syn::fold::fold_expr fn'>fold_expr</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_array.html" title='syn::fold::fold_expr_array fn'>fold_expr_array</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_assign.html" title='syn::fold::fold_expr_assign fn'>fold_expr_assign</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_assign_op.html" title='syn::fold::fold_expr_assign_op fn'>fold_expr_assign_op</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_async.html" title='syn::fold::fold_expr_async fn'>fold_expr_async</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_await.html" title='syn::fold::fold_expr_await fn'>fold_expr_await</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_binary.html" title='syn::fold::fold_expr_binary fn'>fold_expr_binary</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_block.html" title='syn::fold::fold_expr_block fn'>fold_expr_block</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_box.html" title='syn::fold::fold_expr_box fn'>fold_expr_box</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_break.html" title='syn::fold::fold_expr_break fn'>fold_expr_break</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_call.html" title='syn::fold::fold_expr_call fn'>fold_expr_call</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_cast.html" title='syn::fold::fold_expr_cast fn'>fold_expr_cast</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_closure.html" title='syn::fold::fold_expr_closure fn'>fold_expr_closure</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_continue.html" title='syn::fold::fold_expr_continue fn'>fold_expr_continue</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_field.html" title='syn::fold::fold_expr_field fn'>fold_expr_field</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_for_loop.html" title='syn::fold::fold_expr_for_loop fn'>fold_expr_for_loop</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_group.html" title='syn::fold::fold_expr_group fn'>fold_expr_group</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_if.html" title='syn::fold::fold_expr_if fn'>fold_expr_if</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_index.html" title='syn::fold::fold_expr_index fn'>fold_expr_index</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_let.html" title='syn::fold::fold_expr_let fn'>fold_expr_let</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_lit.html" title='syn::fold::fold_expr_lit fn'>fold_expr_lit</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_loop.html" title='syn::fold::fold_expr_loop fn'>fold_expr_loop</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_macro.html" title='syn::fold::fold_expr_macro fn'>fold_expr_macro</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_match.html" title='syn::fold::fold_expr_match fn'>fold_expr_match</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_method_call.html" title='syn::fold::fold_expr_method_call fn'>fold_expr_method_call</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_paren.html" title='syn::fold::fold_expr_paren fn'>fold_expr_paren</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_path.html" title='syn::fold::fold_expr_path fn'>fold_expr_path</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_range.html" title='syn::fold::fold_expr_range fn'>fold_expr_range</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_reference.html" title='syn::fold::fold_expr_reference fn'>fold_expr_reference</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_repeat.html" title='syn::fold::fold_expr_repeat fn'>fold_expr_repeat</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_return.html" title='syn::fold::fold_expr_return fn'>fold_expr_return</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_struct.html" title='syn::fold::fold_expr_struct fn'>fold_expr_struct</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_try.html" title='syn::fold::fold_expr_try fn'>fold_expr_try</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_try_block.html" title='syn::fold::fold_expr_try_block fn'>fold_expr_try_block</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_tuple.html" title='syn::fold::fold_expr_tuple fn'>fold_expr_tuple</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_type.html" title='syn::fold::fold_expr_type fn'>fold_expr_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_unary.html" title='syn::fold::fold_expr_unary fn'>fold_expr_unary</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_unsafe.html" title='syn::fold::fold_expr_unsafe fn'>fold_expr_unsafe</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_while.html" title='syn::fold::fold_expr_while fn'>fold_expr_while</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_expr_yield.html" title='syn::fold::fold_expr_yield fn'>fold_expr_yield</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_field.html" title='syn::fold::fold_field fn'>fold_field</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_field_pat.html" title='syn::fold::fold_field_pat fn'>fold_field_pat</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_field_value.html" title='syn::fold::fold_field_value fn'>fold_field_value</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_fields.html" title='syn::fold::fold_fields fn'>fold_fields</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_fields_named.html" title='syn::fold::fold_fields_named fn'>fold_fields_named</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_fields_unnamed.html" title='syn::fold::fold_fields_unnamed fn'>fold_fields_unnamed</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_file.html" title='syn::fold::fold_file fn'>fold_file</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_fn_arg.html" title='syn::fold::fold_fn_arg fn'>fold_fn_arg</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_foreign_item.html" title='syn::fold::fold_foreign_item fn'>fold_foreign_item</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_foreign_item_fn.html" title='syn::fold::fold_foreign_item_fn fn'>fold_foreign_item_fn</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_foreign_item_macro.html" title='syn::fold::fold_foreign_item_macro fn'>fold_foreign_item_macro</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_foreign_item_static.html" title='syn::fold::fold_foreign_item_static fn'>fold_foreign_item_static</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_foreign_item_type.html" title='syn::fold::fold_foreign_item_type fn'>fold_foreign_item_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_generic_argument.html" title='syn::fold::fold_generic_argument fn'>fold_generic_argument</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_generic_method_argument.html" title='syn::fold::fold_generic_method_argument fn'>fold_generic_method_argument</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_generic_param.html" title='syn::fold::fold_generic_param fn'>fold_generic_param</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_generics.html" title='syn::fold::fold_generics fn'>fold_generics</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_ident.html" title='syn::fold::fold_ident fn'>fold_ident</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_impl_item.html" title='syn::fold::fold_impl_item fn'>fold_impl_item</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_impl_item_const.html" title='syn::fold::fold_impl_item_const fn'>fold_impl_item_const</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_impl_item_macro.html" title='syn::fold::fold_impl_item_macro fn'>fold_impl_item_macro</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_impl_item_method.html" title='syn::fold::fold_impl_item_method fn'>fold_impl_item_method</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_impl_item_type.html" title='syn::fold::fold_impl_item_type fn'>fold_impl_item_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_index.html" title='syn::fold::fold_index fn'>fold_index</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item.html" title='syn::fold::fold_item fn'>fold_item</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_const.html" title='syn::fold::fold_item_const fn'>fold_item_const</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_enum.html" title='syn::fold::fold_item_enum fn'>fold_item_enum</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_extern_crate.html" title='syn::fold::fold_item_extern_crate fn'>fold_item_extern_crate</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_fn.html" title='syn::fold::fold_item_fn fn'>fold_item_fn</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_foreign_mod.html" title='syn::fold::fold_item_foreign_mod fn'>fold_item_foreign_mod</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_impl.html" title='syn::fold::fold_item_impl fn'>fold_item_impl</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_macro.html" title='syn::fold::fold_item_macro fn'>fold_item_macro</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_macro2.html" title='syn::fold::fold_item_macro2 fn'>fold_item_macro2</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_mod.html" title='syn::fold::fold_item_mod fn'>fold_item_mod</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_static.html" title='syn::fold::fold_item_static fn'>fold_item_static</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_struct.html" title='syn::fold::fold_item_struct fn'>fold_item_struct</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_trait.html" title='syn::fold::fold_item_trait fn'>fold_item_trait</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_trait_alias.html" title='syn::fold::fold_item_trait_alias fn'>fold_item_trait_alias</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_type.html" title='syn::fold::fold_item_type fn'>fold_item_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_union.html" title='syn::fold::fold_item_union fn'>fold_item_union</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_item_use.html" title='syn::fold::fold_item_use fn'>fold_item_use</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_label.html" title='syn::fold::fold_label fn'>fold_label</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lifetime.html" title='syn::fold::fold_lifetime fn'>fold_lifetime</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lifetime_def.html" title='syn::fold::fold_lifetime_def fn'>fold_lifetime_def</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lit.html" title='syn::fold::fold_lit fn'>fold_lit</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lit_bool.html" title='syn::fold::fold_lit_bool fn'>fold_lit_bool</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lit_byte.html" title='syn::fold::fold_lit_byte fn'>fold_lit_byte</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lit_byte_str.html" title='syn::fold::fold_lit_byte_str fn'>fold_lit_byte_str</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lit_char.html" title='syn::fold::fold_lit_char fn'>fold_lit_char</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lit_float.html" title='syn::fold::fold_lit_float fn'>fold_lit_float</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lit_int.html" title='syn::fold::fold_lit_int fn'>fold_lit_int</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_lit_str.html" title='syn::fold::fold_lit_str fn'>fold_lit_str</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_local.html" title='syn::fold::fold_local fn'>fold_local</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_macro.html" title='syn::fold::fold_macro fn'>fold_macro</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_macro_delimiter.html" title='syn::fold::fold_macro_delimiter fn'>fold_macro_delimiter</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_member.html" title='syn::fold::fold_member fn'>fold_member</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_meta.html" title='syn::fold::fold_meta fn'>fold_meta</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_meta_list.html" title='syn::fold::fold_meta_list fn'>fold_meta_list</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_meta_name_value.html" title='syn::fold::fold_meta_name_value fn'>fold_meta_name_value</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_method_turbofish.html" title='syn::fold::fold_method_turbofish fn'>fold_method_turbofish</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_nested_meta.html" title='syn::fold::fold_nested_meta fn'>fold_nested_meta</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_parenthesized_generic_arguments.html" title='syn::fold::fold_parenthesized_generic_arguments fn'>fold_parenthesized_generic_arguments</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat.html" title='syn::fold::fold_pat fn'>fold_pat</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_box.html" title='syn::fold::fold_pat_box fn'>fold_pat_box</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_ident.html" title='syn::fold::fold_pat_ident fn'>fold_pat_ident</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_lit.html" title='syn::fold::fold_pat_lit fn'>fold_pat_lit</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_macro.html" title='syn::fold::fold_pat_macro fn'>fold_pat_macro</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_or.html" title='syn::fold::fold_pat_or fn'>fold_pat_or</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_path.html" title='syn::fold::fold_pat_path fn'>fold_pat_path</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_range.html" title='syn::fold::fold_pat_range fn'>fold_pat_range</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_reference.html" title='syn::fold::fold_pat_reference fn'>fold_pat_reference</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_rest.html" title='syn::fold::fold_pat_rest fn'>fold_pat_rest</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_slice.html" title='syn::fold::fold_pat_slice fn'>fold_pat_slice</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_struct.html" title='syn::fold::fold_pat_struct fn'>fold_pat_struct</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_tuple.html" title='syn::fold::fold_pat_tuple fn'>fold_pat_tuple</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_tuple_struct.html" title='syn::fold::fold_pat_tuple_struct fn'>fold_pat_tuple_struct</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_type.html" title='syn::fold::fold_pat_type fn'>fold_pat_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_pat_wild.html" title='syn::fold::fold_pat_wild fn'>fold_pat_wild</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_path.html" title='syn::fold::fold_path fn'>fold_path</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_path_arguments.html" title='syn::fold::fold_path_arguments fn'>fold_path_arguments</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_path_segment.html" title='syn::fold::fold_path_segment fn'>fold_path_segment</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_predicate_eq.html" title='syn::fold::fold_predicate_eq fn'>fold_predicate_eq</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_predicate_lifetime.html" title='syn::fold::fold_predicate_lifetime fn'>fold_predicate_lifetime</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_predicate_type.html" title='syn::fold::fold_predicate_type fn'>fold_predicate_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_qself.html" title='syn::fold::fold_qself fn'>fold_qself</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_range_limits.html" title='syn::fold::fold_range_limits fn'>fold_range_limits</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_receiver.html" title='syn::fold::fold_receiver fn'>fold_receiver</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_return_type.html" title='syn::fold::fold_return_type fn'>fold_return_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_signature.html" title='syn::fold::fold_signature fn'>fold_signature</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_span.html" title='syn::fold::fold_span fn'>fold_span</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_stmt.html" title='syn::fold::fold_stmt fn'>fold_stmt</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_trait_bound.html" title='syn::fold::fold_trait_bound fn'>fold_trait_bound</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_trait_bound_modifier.html" title='syn::fold::fold_trait_bound_modifier fn'>fold_trait_bound_modifier</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_trait_item.html" title='syn::fold::fold_trait_item fn'>fold_trait_item</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_trait_item_const.html" title='syn::fold::fold_trait_item_const fn'>fold_trait_item_const</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_trait_item_macro.html" title='syn::fold::fold_trait_item_macro fn'>fold_trait_item_macro</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_trait_item_method.html" title='syn::fold::fold_trait_item_method fn'>fold_trait_item_method</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_trait_item_type.html" title='syn::fold::fold_trait_item_type fn'>fold_trait_item_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type.html" title='syn::fold::fold_type fn'>fold_type</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_array.html" title='syn::fold::fold_type_array fn'>fold_type_array</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_bare_fn.html" title='syn::fold::fold_type_bare_fn fn'>fold_type_bare_fn</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_group.html" title='syn::fold::fold_type_group fn'>fold_type_group</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_impl_trait.html" title='syn::fold::fold_type_impl_trait fn'>fold_type_impl_trait</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_infer.html" title='syn::fold::fold_type_infer fn'>fold_type_infer</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_macro.html" title='syn::fold::fold_type_macro fn'>fold_type_macro</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_never.html" title='syn::fold::fold_type_never fn'>fold_type_never</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_param.html" title='syn::fold::fold_type_param fn'>fold_type_param</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_param_bound.html" title='syn::fold::fold_type_param_bound fn'>fold_type_param_bound</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_paren.html" title='syn::fold::fold_type_paren fn'>fold_type_paren</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_path.html" title='syn::fold::fold_type_path fn'>fold_type_path</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_ptr.html" title='syn::fold::fold_type_ptr fn'>fold_type_ptr</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_reference.html" title='syn::fold::fold_type_reference fn'>fold_type_reference</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_slice.html" title='syn::fold::fold_type_slice fn'>fold_type_slice</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_trait_object.html" title='syn::fold::fold_type_trait_object fn'>fold_type_trait_object</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_type_tuple.html" title='syn::fold::fold_type_tuple fn'>fold_type_tuple</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_un_op.html" title='syn::fold::fold_un_op fn'>fold_un_op</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_use_glob.html" title='syn::fold::fold_use_glob fn'>fold_use_glob</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_use_group.html" title='syn::fold::fold_use_group fn'>fold_use_group</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_use_name.html" title='syn::fold::fold_use_name fn'>fold_use_name</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_use_path.html" title='syn::fold::fold_use_path fn'>fold_use_path</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_use_rename.html" title='syn::fold::fold_use_rename fn'>fold_use_rename</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_use_tree.html" title='syn::fold::fold_use_tree fn'>fold_use_tree</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_variadic.html" title='syn::fold::fold_variadic fn'>fold_variadic</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_variant.html" title='syn::fold::fold_variant fn'>fold_variant</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_vis_crate.html" title='syn::fold::fold_vis_crate fn'>fold_vis_crate</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_vis_public.html" title='syn::fold::fold_vis_public fn'>fold_vis_public</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_vis_restricted.html" title='syn::fold::fold_vis_restricted fn'>fold_vis_restricted</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_visibility.html" title='syn::fold::fold_visibility fn'>fold_visibility</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_where_clause.html" title='syn::fold::fold_where_clause fn'>fold_where_clause</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.fold_where_predicate.html" title='syn::fold::fold_where_predicate fn'>fold_where_predicate</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../";window.currentCrate = "syn";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>