<!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="The configuration and the haystack to use for an Aho-Corasick search."><title>Input in aho_corasick - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><linkrel="stylesheet"href="../static.files/normalize-76eba96aa4d2e634.css"><linkrel="stylesheet"href="../static.files/rustdoc-dd39b87e5fcfba68.css"><metaname="rustdoc-vars"data-root-path="../"data-static-root-path="../static.files/"data-current-crate="aho_corasick"data-themes=""data-resource-suffix=""data-rustdoc-version="1.80.0 (051478957 2024-07-21)"data-channel="1.80.0"data-search-js="search-d52510db62a78183.js"data-settings-js="settings-4313503d2e1961c2.js"><scriptsrc="../static.files/storage-118b08c4c78b968e.js"></script><scriptdefersrc="sidebar-items.js"></script><scriptdefersrc="../static.files/main-20a3ad099b048cf2.js"></script><noscript><linkrel="stylesheet"href="../static.files/noscript-df360f571f6edeae.css"></noscript><linkrel="alternate icon"type="image/png"href="../static.files/favicon-32x32-422f7d1d52889060.png"><linkrel="icon"type="image/svg+xml"href="../static.files/favicon-2c020d218678b618.svg"></head><bodyclass="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle"title="show sidebar"></button></nav><navclass="sidebar"><divclass="sidebar-crate"><h2><ahref="../aho_corasick/index.html">aho_corasick</a><spanclass="version">1.1.3</span></h2></div><h2class="location"><ahref="#">Input</a></h2><divclass="sidebar-elems"><section><h3><ahref="#implementations">Methods</a></h3><ulclass="block method"><li><ahref="#method.anchored">anchored</a></li><li><ahref="#method.earliest">earliest</a></li><li><ahref="#method.end">end</a></li><li><ahref="#method.get_anchored">get_anchored</a></li><li><ahref="#method.get_earliest">get_earliest</a></li><li><ahref="#method.get_range">get_range</a></li><li><ahref="#method.get_span">get_span</a></li><li><ahref="#method.haystack">haystack</a></li><li><ahref="#method.is_done">is_done</a></li><li><ahref="#method.new">new</a></li><li><ahref="#method.range">range</a></li><li><ahref="#method.set_anchored">set_anchored</a></li><li><ahref="#method.set_earliest">set_earliest</a></li><li><ahref="#method.set_end">set_end</a></li><li><ahref="#method.set_range">set_range</a></li><li><ahref="#method.set_span">set_span</a></li><li><ahref="#method.set_start">set_start</a></li><li><ahref="#method.span">span</a></li><li><ahref="#method.start">start</a></li></ul><h3><ahref="#trait-implementations">Trait Implementations</a></h3><ulclass="block trait-implementation"><li><ahref="#impl-Clone-for-Input%3C'h%3E">Clone</a></li><li><ahref="#impl-Debug-for-Input%3C'h%3E">Debug</a></li><li><ahref="#impl-From%3C%26H%3E-for-Input%3C'h%3E">From<&'h H></a></li></ul><h3><ahref="#synthetic-implementations">Auto Trait Implementations</a></h3><ulclass="block synthetic-implementation"><li><ahref="#impl-Freeze-for-Input%3C'h%3E">Freeze</a></li><li><ahref="#impl-RefUnwindSafe-for-Input%3C'h%3E">RefUnwindSafe</a></li><li><ahref="#impl-Send-for-Input%3C'h%3E">Send</a></li><li><ahref="#impl-Sync-for-Input%3C'h%3E">Sync</a></li><li><ahref="#impl-Unpin-for-Input%3C'h%3E">Unpin</a></li><li><ahref="#impl-UnwindSafe-for-Input%3C'h%3E">UnwindSafe</a></li></ul><h3><ahref="#blanket-implementations">Blanket Implementations</a></h3><ulclass="b
<p>When executing a search, there are a few parameters one might want to
configure:</p>
<ul>
<li>The haystack to search, provided to the <ahref="struct.Input.html#method.new"title="associated function aho_corasick::Input::new"><code>Input::new</code></a> constructor. This
is the only required parameter.</li>
<li>The span <em>within</em> the haystack to limit a search to. (The default
is the entire haystack.) This is configured via <ahref="struct.Input.html#method.span"title="method aho_corasick::Input::span"><code>Input::span</code></a> or
<li>Whether to run an unanchored (matches can occur anywhere after the
start of the search) or anchored (matches can only occur beginning at
the start of the search) search. Unanchored search is the default. This is
configured via <ahref="struct.Input.html#method.anchored"title="method aho_corasick::Input::anchored"><code>Input::anchored</code></a>.</li>
<li>Whether to quit the search as soon as a match has been found, regardless
of the <ahref="enum.MatchKind.html"title="enum aho_corasick::MatchKind"><code>MatchKind</code></a> that the searcher was built with. This is configured
via <ahref="struct.Input.html#method.earliest"title="method aho_corasick::Input::earliest"><code>Input::earliest</code></a>.</li>
</ul>
<p>For most cases, the defaults for all optional parameters are appropriate.
The utility of this type is that it keeps the default or common case simple
while permitting tweaking parameters in more niche use cases while reusing
<h2id="valid-bounds-and-search-termination"><aclass="doc-anchor"href="#valid-bounds-and-search-termination">§</a>Valid bounds and search termination</h2>
<p>An <code>Input</code> permits setting the bounds of a search via either
<ahref="struct.Input.html#method.span"title="method aho_corasick::Input::span"><code>Input::span</code></a> or <ahref="struct.Input.html#method.range"title="method aho_corasick::Input::range"><code>Input::range</code></a>. The bounds set must be valid, or
else a panic will occur. Bounds are valid if and only if:</p>
<ul>
<li>The bounds represent a valid range into the input’s haystack.</li>
<li><strong>or</strong> the end bound is a valid ending bound for the haystack <em>and</em>
the start bound is exactly one greater than the end bound.</li>
</ul>
<p>In the latter case, <ahref="struct.Input.html#method.is_done"title="method aho_corasick::Input::is_done"><code>Input::is_done</code></a> will return true and indicates any
search receiving such an input should immediately return with no match.</p>
<p>Other than representing “search is complete,” the <code>Input::span</code> and
<code>Input::range</code> APIs are never necessary. Instead, callers can slice the
haystack instead, e.g., with <code>&haystack[start..end]</code>. With that said, they
can be more convenient than slicing because the match positions reported
when using <code>Input::span</code> or <code>Input::range</code> are in terms of the original
haystack. If you instead use <code>&haystack[start..end]</code>, then you’ll need to
add <code>start</code> to any match position returned in order for it to be a correct
<h2id="example-str-and-u8-automatically-convert-to-an-input"><aclass="doc-anchor"href="#example-str-and-u8-automatically-convert-to-an-input">§</a>Example: <code>&str</code> and <code>&[u8]</code> automatically convert to an <code>Input</code></h2>
</div></details><h2id="implementations"class="section-header">Implementations<ahref="#implementations"class="anchor">§</a></h2><divid="implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Input%3C'h%3E"class="impl"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#90-630">source</a><ahref="#impl-Input%3C'h%3E"class="anchor">§</a><h3class="code-header">impl<'h><aclass="struct"href="struct.Input.html"title="struct aho_corasick::Input">Input</a><'h></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.new"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#93-100">source</a><h4class="code-header">pub fn <ahref="#method.new"class="fn">new</a><H: ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a> + <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><[<aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.u8.html">u8</a>]>>(haystack: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&'h H</a>) -><aclass="struct"href="struct.Input.html"title="struct aho_corasick::Input">Input</a><'h></h4></section></summary><divclass="docblock"><p>Create a new search configuration for the given haystack.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.span"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#142-145">source</a><h4class="code-header">pub fn <ahref="#method.span"class="fn">span</a><S: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><<aclass="struct"href="struct.Span.html"title="struct aho_corasick::Span">Span</a>>>(self, span: S) -><aclass="struct"href="struct.Input.html"title="struct aho_corasick::Input">Input</a><'h></h4></section></summary><divclass="docblock"><p>Set the span for this search.</p>
<p>This routine is generic over how a span is provided. While
a <ahref="struct.Span.html"title="struct aho_corasick::Span"><code>Span</code></a> may be given directly, one may also provide a
<code>std::ops::Range<usize></code>. To provide anything supported by range
syntax, use the <ahref="struct.Input.html#method.range"title="method aho_corasick::Input::range"><code>Input::range</code></a> method.</p>
<p>The default span is the entire haystack.</p>
<p>Note that <ahref="struct.Input.html#method.range"title="method aho_corasick::Input::range"><code>Input::range</code></a> overrides this method and vice versa.</p>
<p>Note that <ahref="struct.Input.html#method.span"title="method aho_corasick::Input::span"><code>Input::span</code></a> overrides this method and vice versa.</p>
to a valid <ahref="https://doc.rust-lang.org/1.80.0/core/ops/range/struct.Range.html"title="struct core::ops::range::Range"><code>Range</code></a>. For example, this would panic when given
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.anchored"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#252-255">source</a><h4class="code-header">pub fn <ahref="#method.anchored"class="fn">anchored</a>(self, mode: <aclass="enum"href="enum.Anchored.html"title="enum aho_corasick::Anchored">Anchored</a>) -><aclass="struct"href="struct.Input.html"title="struct aho_corasick::Input">Input</a><'h></h4></section></summary><divclass="docblock"><p>Sets the anchor mode of a search.</p>
<p>When a search is anchored (via <ahref="enum.Anchored.html#variant.Yes"title="variant aho_corasick::Anchored::Yes"><code>Anchored::Yes</code></a>), a match must begin
at the start of a search. When a search is not anchored (that’s
<ahref="enum.Anchored.html#variant.No"title="variant aho_corasick::Anchored::No"><code>Anchored::No</code></a>), searchers will look for a match anywhere in the
haystack.</p>
<p>By default, the anchored mode is <ahref="enum.Anchored.html#variant.No"title="variant aho_corasick::Anchored::No"><code>Anchored::No</code></a>.</p>
<p>This demonstrates the differences between an anchored search and
an unanchored search. Notice that we build our <code>AhoCorasick</code> searcher
with <ahref="enum.StartKind.html#variant.Both"title="variant aho_corasick::StartKind::Both"><code>StartKind::Both</code></a> so that it supports both unanchored and
<p>When running a non-overlapping search, an “earliest” search will
return the match location as early as possible. For example, given
the patterns <code>abc</code> and <code>b</code>, and a haystack of <code>abc</code>, a normal
leftmost-first search will return <code>abc</code> as a match. But an “earliest”
search will return as soon as it is known that a match occurs, which
happens once <code>b</code> is seen.</p>
<p>Note that when using <ahref="enum.MatchKind.html#variant.Standard"title="variant aho_corasick::MatchKind::Standard"><code>MatchKind::Standard</code></a>, the “earliest” option
has no effect since standard semantics are already “earliest.” Note
also that this has no effect in overlapping searches, since overlapping
searches also use standard semantics and report all possible matches.</p>
<p>This is like the <ahref="struct.Input.html#method.span"title="method aho_corasick::Input::span"><code>Input::span</code></a> method, except this mutates the
span in place.</p>
<p>This routine is generic over how a span is provided. While
a <ahref="struct.Span.html"title="struct aho_corasick::Span"><code>Span</code></a> may be given directly, one may also provide a
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.set_range"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#370-389">source</a><h4class="code-header">pub fn <ahref="#method.set_range"class="fn">set_range</a><R: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/ops/range/trait.RangeBounds.html"title="trait core::ops::range::RangeBounds">RangeBounds</a><<aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.usize.html">usize</a>>>(&mut self, range: R)</h4></section></summary><divclass="docblock"><p>Set the span for this search configuration given any range.</p>
<p>This is like the <ahref="struct.Input.html#method.range"title="method aho_corasick::Input::range"><code>Input::range</code></a> method, except this mutates the
to a valid <ahref="https://doc.rust-lang.org/1.80.0/core/ops/range/struct.Range.html"title="struct core::ops::range::Range"><code>Range</code></a>. For example, this would panic when given
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.set_start"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#412-414">source</a><h4class="code-header">pub fn <ahref="#method.set_start"class="fn">set_start</a>(&mut self, start: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.usize.html">usize</a>)</h4></section></summary><divclass="docblock"><p>Set the starting offset for the span for this search configuration.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.set_end"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#437-439">source</a><h4class="code-header">pub fn <ahref="#method.set_end"class="fn">set_end</a>(&mut self, end: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.usize.html">usize</a>)</h4></section></summary><divclass="docblock"><p>Set the ending offset for the span for this search configuration.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.set_anchored"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#458-460">source</a><h4class="code-header">pub fn <ahref="#method.set_anchored"class="fn">set_anchored</a>(&mut self, mode: <aclass="enum"href="enum.Anchored.html"title="enum aho_corasick::Anchored">Anchored</a>)</h4></section></summary><divclass="docblock"><p>Set the anchor mode of a search.</p>
<p>This is like <ahref="struct.Input.html#method.anchored"title="method aho_corasick::Input::anchored"><code>Input::anchored</code></a>, except it mutates the search
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.set_earliest"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#478-480">source</a><h4class="code-header">pub fn <ahref="#method.set_earliest"class="fn">set_earliest</a>(&mut self, yes: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>)</h4></section></summary><divclass="docblock"><p>Set whether the search should execute in “earliest” mode or not.</p>
<p>This is like <ahref="struct.Input.html#method.earliest"title="method aho_corasick::Input::earliest"><code>Input::earliest</code></a>, except it mutates the search
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.haystack"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#493-495">source</a><h4class="code-header">pub fn <ahref="#method.haystack"class="fn">haystack</a>(&self) ->&[<aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.u8.html">u8</a>] <ahref="#"class="tooltip"data-notable-ty="&[u8]">ⓘ</a></h4></section></summary><divclass="docblock"><p>Return a borrow of the underlying haystack as a slice of bytes.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.start"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#513-515">source</a><h4class="code-header">pub fn <ahref="#method.start"class="fn">start</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass="docblock"><p>Return the start position of this search.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.end"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#533-535">source</a><h4class="code-header">pub fn <ahref="#method.end"class="fn">end</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass="docblock"><p>Return the end position of this search.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_span"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#551-553">source</a><h4class="code-header">pub fn <ahref="#method.get_span"class="fn">get_span</a>(&self) -><aclass="struct"href="struct.Span.html"title="struct aho_corasick::Span">Span</a></h4></section></summary><divclass="docblock"><p>Return the span for this search configuration.</p>
<p>If one was not explicitly set, then the span corresponds to the entire
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_range"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#569-571">source</a><h4class="code-header">pub fn <ahref="#method.get_range"class="fn">get_range</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/ops/range/struct.Range.html"title="struct core::ops::range::Range">Range</a><<aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.usize.html">usize</a>></h4></section></summary><divclass="docblock"><p>Return the span as a range for this search configuration.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_anchored"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#589-591">source</a><h4class="code-header">pub fn <ahref="#method.get_anchored"class="fn">get_anchored</a>(&self) -><aclass="enum"href="enum.Anchored.html"title="enum aho_corasick::Anchored">Anchored</a></h4></section></summary><divclass="docblock"><p>Return the anchored mode for this search configuration.</p>
<p>If no anchored mode was set, then it defaults to <ahref="enum.Anchored.html#variant.No"title="variant aho_corasick::Anchored::No"><code>Anchored::No</code></a>.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_earliest"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#604-606">source</a><h4class="code-header">pub fn <ahref="#method.get_earliest"class="fn">get_earliest</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Return whether this search should execute in “earliest” mode.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_done"class="method"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#627-629">source</a><h4class="code-header">pub fn <ahref="#method.is_done"class="fn">is_done</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Return true if this input has been exhausted, which in turn means all
</div></details></div></details></div><h2id="trait-implementations"class="section-header">Trait Implementations<ahref="#trait-implementations"class="anchor">§</a></h2><divid="trait-implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Clone-for-Input%3C'h%3E"class="impl"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#82">source</a><ahref="#impl-Clone-for-Input%3C'h%3E"class="anchor">§</a><h3class="code-header">impl<'h><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> for <aclass="struct"href="struct.Input.html"title="struct aho_corasick::Input">Input</a><'h></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone"class="method trait-impl"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#82">source</a><ahref="#method.clone"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#tymethod.clone"class="fn">clone</a>(&self) -><aclass="struct"href="struct.Input.html"title="struct aho_corasick::Input">Input</a><'h></h4></section></summary><divclass='docblock'>Returns a copy of the value. <ahref="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone_from"class="method trait-impl"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="src"href="https://doc.rust-lang.org/1.80.0/src/core/clone.rs.html#169">source</a></span><ahref="#method.clone_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#method.clone_from"class="fn">clone_from</a>(&mut self, source: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&Self</a>)</h4></section></summary><divclass='docblock'>Performs copy-assignment from <code>source</code>. <ahref="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Debug-for-Input%3C'h%3E"class="impl"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#632-644">source</a><ahref="#impl-Debug-for-Input%3C'h%3E"class="anchor">§</a><h3class="code-header">impl<'h><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> for <aclass="struct"href="struct.Input.html"title="struct aho_corasick::Input">Input</a><'h></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.fmt"class="method trait-impl"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#633-643">source</a><ahref="#method.fmt"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt"class="fn">fmt</a>(&self, f: &mut <aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a><'_>) -><aclass="type"href="https://doc.rust-lang.org/1.80.0/core/fmt/type.Result.html"title="type core::fmt::Result">Result</a></h4></section></summary><divclass='docblock'>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-From%3C%26H%3E-for-Input%3C'h%3E"class="impl"><aclass="src rightside"href="../src/aho_corasick/util/search.rs.html#646-651">source</a><ahref="#impl-From%3C%26H%3E-for-Input%3C'h%3E"class="anchor">§</a><h3class="code-header">impl&
T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.type_id"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/any.rs.html#141">source</a><ahref="#method.type_id"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html#tymethod.type_id"class="fn">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></h4></section></summary><divclass='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Borrow%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#208">source</a><ahref="#impl-Borrow%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#210">source</a><ahref="#method.borrow"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html#tymethod.borrow"class="fn">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&T</a></h4></section></summary><divclass='docblock'>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-BorrowMut%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#216">source</a><ahref="#impl-BorrowMut%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow_mut"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#217">source</a><ahref="#method.borrow_mut"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fn">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&mut T</a></h4></section></summary><divclass='docblock'>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-From%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#765">source</a><ahref="#impl-From%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.from-1"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#768">source</a><ahref="#method.from-1"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html#tymethod.from"class="fn">from</a>(t: T) -> T</h4></section></summary><divclass="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Into%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#748-750">source</a><ahref="#impl-Into%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T<divclass="where">where
<code><ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-ToOwned-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/alloc/borrow.rs.html#83-85">source</a><ahref="#impl-ToOwned-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T<divclass="where">where
T: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Owned"class="associatedtype trait-impl"><ahref="#associatedtype.Owned"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned"class="associatedtype">Owned</a> = T</h4></section></summary><divclass='docblock'>The resulting type after obtaining ownership.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.to_owned"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/alloc/borrow.rs.html#88">source</a><ahref="#method.to_owned"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned"class="fn">to_owned</a>(&self) -> T</h4></section></summary><divclass='docblock'>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/alloc/borrow.rs.html#92">source</a><ahref="#method.clone_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#method.clone_into"class="fn">clone_into</a>(&self, target: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&mut T</a>)</h4></section></summary><divclass='docblock'>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryFrom%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#805-807">source</a><ahref="#impl-TryFrom%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error"class="associatedtype trait-impl"><ahref="#associatedtype.Error"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#812">source</a><ahref="#method.try_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryInto%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#790-792">source</a><ahref="#impl-TryInto%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-1"class="associatedtype trait-impl"><ahref="#associatedtype.Error-1"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html#associatedtype.Error"class="associatedtype">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#797">source</a><ahref="#method.try_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html#tymethod.try_into"class="fn">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details></div><scripttype="text/json"id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.80.0/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.80.0/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.80.0/std/primitive.u8.html\">u8</a>]</div>"}</script></section></div></main></body></html>