<linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><styletype="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><bodyclass="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../../syn/index.html'><divclass='logo-container rust-logo'><imgsrc='../../rust-logo.png'alt='logo'></div></a><pclass="location">Module buffer</p><divclass="sidebar-elems"><divclass="block items"><ul><li><ahref="#structs">Structs</a></li></ul></div><pclass="location"><ahref="../index.html">syn</a></p><divid="sidebar-vars"data-name="buffer"data-ty="mod"data-relpath="../"></div><scriptdefersrc="../sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"><imgsrc="../../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"role="menu"></div></div><scriptsrc="../../theme.js"></script><navclass="sub"><formclass="search-form"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"disabledautocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><buttontype="button"class="help-button">?</button>
<aid="settings-menu"href="../../settings.html"><imgsrc="../../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class="fqn"><spanclass="in-band">Module <ahref="../index.html">syn</a>::<wbr><aclass="mod"href="">buffer</a></span><spanclass="out-of-band"><spanid="render-detail"><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span><aclass="srclink"href="../../src/syn/buffer.rs.html#1-399"title="goto source code">[src]</a></span></h1><divclass="docblock"><p>A stably addressed token buffer supporting efficient traversal based on a
cheaply copyable cursor.</p>
<p><em>This module is available only if Syn is built with the <code>"parsing"</code> feature.</em></p>
<table><trclass="module-item"><td><aclass="struct"href="struct.Cursor.html"title="syn::buffer::Cursor struct">Cursor</a></td><tdclass="docblock-short"><p>A cheaply copyable cursor into a <code>TokenBuffer</code>.</p>
</td></tr><trclass="module-item"><td><aclass="struct"href="struct.TokenBuffer.html"title="syn::buffer::TokenBuffer struct">TokenBuffer</a></td><tdclass="docblock-short"><p>A buffer that can be efficiently traversed multiple times, unlike
<code>TokenStream</code> which requires a deep copy in order to traverse more than
initSidebarItems({"struct":[["Cursor","A cheaply copyable cursor into a `TokenBuffer`."],["TokenBuffer","A buffer that can be efficiently traversed multiple times, unlike `TokenStream` which requires a deep copy in order to traverse more than once."]]});
<linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><styletype="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><bodyclass="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../../syn/index.html'><divclass='logo-container rust-logo'><imgsrc='../../rust-logo.png'alt='logo'></div></a><pclass="location">Struct Cursor</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#implementations">Methods</a><divclass="sidebar-links"><ahref="#method.empty">empty</a><ahref="#method.eof">eof</a><ahref="#method.group">group</a><ahref="#method.ident">ident</a><ahref="#method.lifetime">lifetime</a><ahref="#method.literal">literal</a><ahref="#method.punct">punct</a><ahref="#method.span">span</a><ahref="#method.token_stream">token_stream</a><ahref="#method.token_tree">token_tree</a></div><aclass="sidebar-title"href="#trait-implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Clone">Clone</a><ahref="#impl-Copy">Copy</a><ahref="#impl-Eq">Eq</a><ahref="#impl-PartialEq%3CCursor%3C%27a%3E%3E">PartialEq<Cursor<'a>></a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RefUnwindSafe">RefUnwindSafe</a><ahref="#impl-Send">!Send</a><ahref="#impl-Sync">!Sync</a><ahref="#impl-Unpin">Unpin</a><ahref="#impl-UnwindSafe">UnwindSafe</a></div><aclass="sidebar-title"href="#blanket-implementations">Blanket Implementations</a><divclass="sidebar-links"><ahref="#impl-Any">Any</a><ahref="#impl-Borrow%3CT%3E">Borrow<T></a><ahref="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><ahref="#impl-From%3CT%3E">From<T></a><ahref="#impl-Into%3CU%3E">Into<U></a><ahref="#impl-ToOwned">ToOwned</a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><pclass="location"><ahref="../index.html">syn</a>::<wbr><ahref="index.html">buffer</a></p><divid="sidebar-vars"data-name="Cursor"data-ty="struct"data-relpath=""></div><scriptdefersrc="sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"><imgsrc="../../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"role="menu"></div></div><scriptsrc="../../theme.js"></script><navclass="sub"><formclass="search-form"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"disabledautocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><buttontype="button"class="help-button">?</button>
<aid="settings-menu"href="../../settings.html"><imgsrc="../../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class="fqn"><spanclass="in-band">Struct <ahref="../index.html">syn</a>::<wbr><ahref="index.html">buffer</a>::<wbr><aclass="struct"href="">Cursor</a></span><spanclass="out-of-band"><spanid="render-detail"><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span><aclass="srclink"href="../../src/syn/buffer.rs.html#135-144"title="goto source code">[src]</a></span></h1><divclass="docblock type-decl hidden-by-usual-hider"><preclass="rust struct">pub struct Cursor<'a> { /* fields omitted */ }</pre></div><divclass="docblock"><p>A cheaply copyable cursor into a <code>TokenBuffer</code>.</p>
<p>This cursor holds a shared reference into the immutable data which is used
internally to represent a <code>TokenStream</code>, and can be efficiently manipulated
and copied around.</p>
<p>An empty <code>Cursor</code> can be created directly, or one may create a <code>TokenBuffer</code>
object and get a cursor to its first token with <code>begin()</code>.</p>
<p>Two cursors are equal if they have the same location in the same input
stream, and have the same scope.</p>
<p><em>This type is available only if Syn is built with the <code>"parsing"</code> feature.</em></p>
</div><h2id="implementations"class="small-section-header">Implementations<ahref="#implementations"class="anchor"></a></h2><h3id="impl"class="impl"><codeclass="in-band">impl<'a><aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl"class="anchor"></a><aclass="srclink"href="../../src/syn/buffer.rs.html#146-363"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.empty"class="method"><code>pub fn <ahref="#method.empty"class="fnname">empty</a>() -> Self</code><aclass="srclink"href="../../src/syn/buffer.rs.html#148-165"title="goto source code">[src]</a></h4><divclass="docblock"><p>Creates a cursor referencing a static empty TokenStream.</p>
</div><h4id="method.eof"class="method"><code>pub fn <ahref="#method.eof"class="fnname">eof</a>(self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass="srclink"href="../../src/syn/buffer.rs.html#223-226"title="goto source code">[src]</a></h4><divclass="docblock"><p>Checks whether the cursor is currently pointing at the end of its valid
scope.</p>
</div><h4id="method.group"class="method"><code>pub fn <ahref="#method.group"class="fnname">group</a>(self, delim: <aclass="enum"href="../../proc_macro2/enum.Delimiter.html"title="enum proc_macro2::Delimiter">Delimiter</a>) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a>, <aclass="struct"href="../../proc_macro2/struct.Span.html"title="struct proc_macro2::Span">Span</a>, <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code><aclass="srclink"href="../../src/syn/buffer.rs.html#230-245"title="goto source code">[src]</a></h4><divclass="docblock"><p>If the cursor is pointing at a <code>Group</code> with the given delimiter, returns
a cursor into that group and one pointing to the next <code>TokenTree</code>.</p>
</div><h4id="method.ident"class="method"><code>pub fn <ahref="#method.ident"class="fnname">ident</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><aclass="struct"href="../../syn/struct.Ident.html"title="struct syn::Ident">Ident</a>, <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code><aclass="srclink"href="../../src/syn/buffer.rs.html#249-255"title="goto source code">[src]</a></h4><divclass="docblock"><p>If the cursor is pointing at a <code>Ident</code>, returns it along with a cursor
pointing at the next <code>TokenTree</code>.</p>
</div><h4id="method.punct"class="method"><code>pub fn <ahref="#method.punct"class="fnname">punct</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><aclass="struct"href="../../proc_macro2/struct.Punct.html"title="struct proc_macro2::Punct">Punct</a>, <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code><aclass="srclink"href="../../src/syn/buffer.rs.html#259-265"title="goto source code">[src]</a></h4><divclass="docblock"><p>If the cursor is pointing at an <code>Punct</code>, returns it along with a cursor
pointing at the next <code>TokenTree</code>.</p>
</div><h4id="method.literal"class="method"><code>pub fn <ahref="#method.literal"class="fnname">literal</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><aclass="struct"href="../../proc_macro2/struct.Literal.html"title="struct proc_macro2::Literal">Literal</a>, <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code><aclass="srclink"href="../../src/syn/buffer.rs.html#269-275"title="goto source code">[src]</a></h4><divclass="docblock"><p>If the cursor is pointing at a <code>Literal</code>, return it along with a cursor
pointing at the next <code>TokenTree</code>.</p>
</div><h4id="method.lifetime"class="method"><code>pub fn <ahref="#method.lifetime"class="fnname">lifetime</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><aclass="struct"href="../../syn/struct.Lifetime.html"title="struct syn::Lifetime">Lifetime</a>, <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code><aclass="srclink"href="../../src/syn/buffer.rs.html#279-297"title="goto source code">[src]</a></h4><divclass="docblock"><p>If the cursor is pointing at a <code>Lifetime</code>, returns it along with a
cursor pointing at the next <code>TokenTree</code>.</p>
</div><h4id="method.token_stream"class="method"><code>pub fn <ahref="#method.token_stream"class="fnname">token_stream</a>(self) -><aclass="struct"href="../../proc_macro2/struct.TokenStream.html"title="struct proc_macro2::TokenStream">TokenStream</a></code><aclass="srclink"href="../../src/syn/buffer.rs.html#301-309"title="goto source code">[src]</a></h4><divclass="docblock"><p>Copies all remaining tokens visible from this cursor into a
<code>TokenStream</code>.</p>
</div><h4id="method.token_tree"class="method"><code>pub fn <ahref="#method.token_tree"class="fnname">token_tree</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><aclass="enum"href="../../proc_macro2/enum.TokenTree.html"title="enum proc_macro2::TokenTree">TokenTree</a>, <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code><aclass="srclink"href="../../src/syn/buffer.rs.html#318-330"title="goto source code">[src]</a></h4><divclass="docblock"><p>If the cursor is pointing at a <code>TokenTree</code>, returns it along with a
cursor pointing at the next <code>TokenTree</code>.</p>
<p>Returns <code>None</code> if the cursor has reached the end of its stream.</p>
<p>This method does not treat <code>None</code>-delimited groups as transparent, and
will return a <code>Group(None, ..)</code> if the cursor is looking at one.</p>
</div><h4id="method.span"class="method"><code>pub fn <ahref="#method.span"class="fnname">span</a>(self) -><aclass="struct"href="../../proc_macro2/struct.Span.html"title="struct proc_macro2::Span">Span</a></code><aclass="srclink"href="../../src/syn/buffer.rs.html#334-342"title="goto source code">[src]</a></h4><divclass="docblock"><p>Returns the <code>Span</code> of the current token, or <code>Span::call_site()</code> if this
cursor points to eof.</p>
</div></div><h2id="trait-implementations"class="small-section-header">Trait Implementations<ahref="#trait-implementations"class="anchor"></a></h2><divid="trait-implementations-list"><h3id="impl-Clone"class="impl"><codeclass="in-band">impl<'a><aclass="trait"href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-Clone"class="anchor"></a><aclass="srclink"href="../../src/syn/buffer.rs.html#367-371"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.clone"class="method hidden"><code>fn <ahref="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone"class="fnname">clone</a>(&self) -> Self</code><aclass="srclink"href="../../src/syn/buffer.rs.html#368-370"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Returns a copy of the value. <ahref="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4id="method.clone_from"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from"class="fnname">clone_from</a>(&mut self, source: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#128"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <ahref="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3id="impl-Copy"class="impl"><codeclass="in-band">impl<'a><aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html"title="trait core::marker::Copy">Copy</a> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-Copy"class="anchor"></a><aclass="srclink"href="../../src/syn/buffer.rs.html#365"title="goto source code">[src]</a></h3><divclass="impl-items"></div><h3id="impl-Eq"class="impl"><codeclass="in-band">impl<'a><aclass="trait"href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html"title="trait core::cmp::Eq">Eq</a> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-Eq"class="anchor"></a><aclass="srclink"href="../../src/syn/buffer.rs.html#373"title="goto source code">[src]</a></h3><divclass="impl-items"></div><h3id="impl-PartialEq%3CCursor%3C%27a%3E%3E"class="impl"><codeclass="in-band">impl<'a><aclass="trait"href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html"title="trait core::cmp::PartialEq">PartialEq</a><<aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a>> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-PartialEq%3CCursor%3C%27a%3E%3E"class="anchor"></a><aclass="srclink"href="../../src/syn/buffer.rs.html#375-381"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.eq"class="method hidden"><code>fn <ahref="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq"class="fnname">eq</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass="srclink"href="../../src/syn/buffer.rs.html#376-380"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <ahref="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4id="method.ne"class="method hidden"><code><spanclass="docblock attributes">#[must_use]</span>pub fn <ahref="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne"class="fnname">ne</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>This method tests for <code>!=</code>.</p>
</div></div></div><h2id="synthetic-implementations"class="small-section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor"></a></h2><divid="synthetic-implementations-list"><h3id="impl-RefUnwindSafe"class="impl"><codeclass="in-band">impl<'a><aclass="trait"href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html"title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-RefUnwindSafe"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Send"class="impl"><codeclass="in-band">impl<'a> !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-Send"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Sync"class="impl"><codeclass="in-band">impl<'a> !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-Sync"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Unpin"class="impl"><codeclass="in-band">impl<'a><aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-Unpin"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-UnwindSafe"class="impl"><codeclass="in-band">impl<'a><aclass="trait"href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html"title="trait std::panic::UnwindSafe">UnwindSafe</a> for <aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></code><ahref="#impl-UnwindSafe"class="anchor"></a></h3><divclass="impl-items"></div></div><h2id="blanket-implementations"class="small-section-header">Blanket Implementations<ahref="#blanket-implementations"class="anchor"></a></h2><divid="blanket-implementations-list"><h3id="impl-Any"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-Any"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.type_id"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id"class="fnname">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div><h3id="impl-Borrow%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-Borrow%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#207-211"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.borrow"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow"class="fnname">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3id="impl-BorrowMut%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-BorrowMut%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214-218"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.borrow_mut"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fnname">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#215"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3id="impl-From%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</code><ahref="#impl-From%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545-549"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.from"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from"class="fnname">from</a>(t: T) -> T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#546"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-Into%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T>, </span></code><ahref="#impl-Into%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#534-541"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.into"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into"class="fnname">into</a>(self) -> U</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#538"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-ToOwned"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T <spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>, </span></code><ahref="#impl-ToOwned"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="associatedtype.Owned"class="type"><code>type <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned"class="type">Owned</a> = T</code></h4><divclass='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4id="method.to_owned"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned"class="fnname">to_owned</a>(&self) -> T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4id="method.clone_into"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into"class="fnname">clone_into</a>(&self, target: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90"title="goto source code">[src]</a></h4><divclass="item-info hidden"><divclass="stab unstable"><details><summary><spanclass="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><divclass='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div><h3id="impl-TryFrom%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></code><ahref="#impl-TryFrom%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#582-591"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="associatedtype.Error"class="type"><code>type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"class="type">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id="method.try_from"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from"class="fnname">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#588"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-TryInto%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><ahref="#impl-TryInto%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#568-577"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="associatedtype.Error-1"class="type"><code>type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error"class="type">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id="method.try_into"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into"class="fnname">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#574"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="A buffer that can be efficiently traversed multiple times, unlike `TokenStream` which requires a deep copy in order to traverse more than once."><metaname="keywords"content="rust, rustlang, rust-lang, TokenBuffer"><title>syn::buffer::TokenBuffer - Rust</title><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../light.css"id="themeStyle"><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><scriptid="default-settings"></script><scriptsrc="../../storage.js"></script><noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="icon"type="image/svg+xml"href="../../favicon.svg">
<linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><styletype="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><bodyclass="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../../syn/index.html'><divclass='logo-container rust-logo'><imgsrc='../../rust-logo.png'alt='logo'></div></a><pclass="location">Struct TokenBuffer</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#implementations">Methods</a><divclass="sidebar-links"><ahref="#method.begin">begin</a><ahref="#method.new">new</a><ahref="#method.new2">new2</a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RefUnwindSafe">RefUnwindSafe</a><ahref="#impl-Send">!Send</a><ahref="#impl-Sync">!Sync</a><ahref="#impl-Unpin">Unpin</a><ahref="#impl-UnwindSafe">UnwindSafe</a></div><aclass="sidebar-title"href="#blanket-implementations">Blanket Implementations</a><divclass="sidebar-links"><ahref="#impl-Any">Any</a><ahref="#impl-Borrow%3CT%3E">Borrow<T></a><ahref="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><ahref="#impl-From%3CT%3E">From<T></a><ahref="#impl-Into%3CU%3E">Into<U></a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><pclass="location"><ahref="../index.html">syn</a>::<wbr><ahref="index.html">buffer</a></p><divid="sidebar-vars"data-name="TokenBuffer"data-ty="struct"data-relpath=""></div><scriptdefersrc="sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"><imgsrc="../../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"role="menu"></div></div><scriptsrc="../../theme.js"></script><navclass="sub"><formclass="search-form"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"disabledautocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><buttontype="button"class="help-button">?</button>
<aid="settings-menu"href="../../settings.html"><imgsrc="../../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class="fqn"><spanclass="in-band">Struct <ahref="../index.html">syn</a>::<wbr><ahref="index.html">buffer</a>::<wbr><aclass="struct"href="">TokenBuffer</a></span><spanclass="out-of-band"><spanid="render-detail"><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span><aclass="srclink"href="../../src/syn/buffer.rs.html#38-43"title="goto source code">[src]</a></span></h1><divclass="docblock type-decl hidden-by-usual-hider"><preclass="rust struct">pub struct TokenBuffer { /* fields omitted */ }</pre></div><divclass="docblock"><p>A buffer that can be efficiently traversed multiple times, unlike
<code>TokenStream</code> which requires a deep copy in order to traverse more than
once.</p>
<p><em>This type is available only if Syn is built with the <code>"parsing"</code> feature.</em></p>
</div><h2id="implementations"class="small-section-header">Implementations<ahref="#implementations"class="anchor"></a></h2><h3id="impl"class="impl"><codeclass="in-band">impl <aclass="struct"href="../../syn/buffer/struct.TokenBuffer.html"title="struct syn::buffer::TokenBuffer">TokenBuffer</a></code><ahref="#impl"class="anchor"></a><aclass="srclink"href="../../src/syn/buffer.rs.html#45-120"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.new"class="method"><code>pub fn <ahref="#method.new"class="fnname">new</a>(stream: <aclass="struct"href="https://doc.rust-lang.org/nightly/proc_macro/struct.TokenStream.html"title="struct proc_macro::TokenStream">TokenStream</a>) -><aclass="struct"href="../../syn/buffer/struct.TokenBuffer.html"title="struct syn::buffer::TokenBuffer">TokenBuffer</a></code><aclass="srclink"href="../../src/syn/buffer.rs.html#105-107"title="goto source code">[src]</a></h4><divclass="docblock"><p>Creates a <code>TokenBuffer</code> containing all the tokens from the input
<code>TokenStream</code>.</p>
<p><em>This method is available only if Syn is built with both the <code>"parsing"</code> and
</div><h4id="method.new2"class="method"><code>pub fn <ahref="#method.new2"class="fnname">new2</a>(stream: <aclass="struct"href="../../proc_macro2/struct.TokenStream.html"title="struct proc_macro2::TokenStream">TokenStream</a>) -><aclass="struct"href="../../syn/buffer/struct.TokenBuffer.html"title="struct syn::buffer::TokenBuffer">TokenBuffer</a></code><aclass="srclink"href="../../src/syn/buffer.rs.html#111-113"title="goto source code">[src]</a></h4><divclass="docblock"><p>Creates a <code>TokenBuffer</code> containing all the tokens from the input
<code>TokenStream</code>.</p>
</div><h4id="method.begin"class="method"><code>pub fn <ahref="#method.begin"class="fnname">begin</a>(&self) -><aclass="struct"href="../../syn/buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'_></code><aclass="srclink"href="../../src/syn/buffer.rs.html#117-119"title="goto source code">[src]</a></h4><divclass="docblock"><p>Creates a cursor referencing the first token in the buffer and able to
traverse until the end of the buffer.</p>
</div></div><h2id="synthetic-implementations"class="small-section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor"></a></h2><divid="synthetic-implementations-list"><h3id="impl-RefUnwindSafe"class="impl"><codeclass="in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html"title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <aclass="struct"href="../../syn/buffer/struct.TokenBuffer.html"title="struct syn::buffer::TokenBuffer">TokenBuffer</a></code><ahref="#impl-RefUnwindSafe"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Send"class="impl"><codeclass="in-band">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="../../syn/buffer/struct.TokenBuffer.html"title="struct syn::buffer::TokenBuffer">TokenBuffer</a></code><ahref="#impl-Send"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Sync"class="impl"><codeclass="in-band">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="../../syn/buffer/struct.TokenBuffer.html"title="struct syn::buffer::TokenBuffer">TokenBuffer</a></code><ahref="#impl-Sync"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Unpin"class="impl"><codeclass="in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> for <aclass="struct"href="../../syn/buffer/struct.TokenBuffer.html"title="struct syn::buffer::TokenBuffer">TokenBuffer</a></code><ahref="#impl-Unpin"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-UnwindSafe"class="impl"><codeclass="in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html"title="trait std::panic::UnwindSafe">UnwindSafe</a> for <aclass="struct"href="../../syn/buffer/struct.TokenBuffer.html"title="struct syn::buffer::TokenBuffer">TokenBuffer</a></code><ahref="#impl-UnwindSafe"class="anchor"></a></h3><divclass="impl-items"></div></div><h2id="blanket-implementations"class="small-section-header">Blanket Implementations<ahref="#blanket-implementations"class="anchor"></a></h2><divid="blanket-implementations-list"><h3id="impl-Any"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-Any"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.type_id"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id"class="fnname">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div><h3id="impl-Borrow%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-Borrow%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#207-211"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.borrow"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow"class="fnname">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3id="impl-BorrowMut%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-BorrowMut%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214-218"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.borrow_mut"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fnname">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#215"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3id="impl-From%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</code><ahref="#impl-From%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545-549"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.from"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from"class="fnname">from</a>(t: T) -> T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#546"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-Into%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T>, </span></code><ahref="#impl-Into%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#534-541"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.into"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into"class="fnname">into</a>(self) -> U</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#538"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-TryFrom%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></code><ahref="#impl-TryFrom%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#582-591"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="associatedtype.Error"class="type"><code>type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"class="type">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id="method.try_from"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from"class="fnname">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#588"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-TryInto%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><ahref="#impl-TryInto%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#568-577"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="associatedtype.Error-1"class="type"><code>type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error"class="type">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id="method.try_into"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into"class="fnname">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#574"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.