edlang/regex_automata/util/look/enum.Look.html

135 lines
44 KiB
HTML
Raw Normal View History

<!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="A look-around assertion."><title>Look in regex_automata::util::look - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="regex_automata" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../regex_automata/index.html">regex_automata</a><span class="version">0.4.6</span></h2></div><h2 class="location"><a href="#">Look</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.End">End</a></li><li><a href="#variant.EndCRLF">EndCRLF</a></li><li><a href="#variant.EndLF">EndLF</a></li><li><a href="#variant.Start">Start</a></li><li><a href="#variant.StartCRLF">StartCRLF</a></li><li><a href="#variant.StartLF">StartLF</a></li><li><a href="#variant.WordAscii">WordAscii</a></li><li><a href="#variant.WordAsciiNegate">WordAsciiNegate</a></li><li><a href="#variant.WordEndAscii">WordEndAscii</a></li><li><a href="#variant.WordEndHalfAscii">WordEndHalfAscii</a></li><li><a href="#variant.WordEndHalfUnicode">WordEndHalfUnicode</a></li><li><a href="#variant.WordEndUnicode">WordEndUnicode</a></li><li><a href="#variant.WordStartAscii">WordStartAscii</a></li><li><a href="#variant.WordStartHalfAscii">WordStartHalfAscii</a></li><li><a href="#variant.WordStartHalfUnicode">WordStartHalfUnicode</a></li><li><a href="#variant.WordStartUnicode">WordStartUnicode</a></li><li><a href="#variant.WordUnicode">WordUnicode</a></li><li><a href="#variant.WordUnicodeNegate">WordUnicodeNegate</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.as_char">as_char</a></li><li><a href="#method.as_repr">as_repr</a></li><li><a href="#method.from_repr">from_repr</a></li><li><a href="#method.reversed">reversed</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Look">Clone</a></li><li><a h
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../regex_automata/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../../index.html">regex_automata</a>::<wbr><a href="../index.html">util</a>::<wbr><a href="index.html">look</a>::<wbr><a class="enum" href="#">Look</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/regex_automata/util/look.rs.html#62-135">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum Look {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 18 variants</span></summary> Start = 1,
End = 2,
StartLF = 4,
EndLF = 8,
StartCRLF = 16,
EndCRLF = 32,
WordAscii = 64,
WordAsciiNegate = 128,
WordUnicode = 256,
WordUnicodeNegate = 512,
WordStartAscii = 1_024,
WordEndAscii = 2_048,
WordStartUnicode = 4_096,
WordEndUnicode = 8_192,
WordStartHalfAscii = 16_384,
WordEndHalfAscii = 32_768,
WordStartHalfUnicode = 65_536,
WordEndHalfUnicode = 131_072,
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A look-around assertion.</p>
<p>An assertion matches at a position between characters in a haystack.
Namely, it does not actually “consume” any input as most parts of a regular
expression do. Assertions are a way of stating that some property must be
true at a particular point during matching.</p>
<p>For example, <code>(?m)^[a-z]+$</code> is a pattern that:</p>
<ul>
<li>Scans the haystack for a position at which <code>(?m:^)</code> is satisfied. That
occurs at either the beginning of the haystack, or immediately following
a <code>\n</code> character.</li>
<li>Looks for one or more occurrences of <code>[a-z]</code>.</li>
<li>Once <code>[a-z]+</code> has matched as much as it can, an overall match is only
reported when <code>[a-z]+</code> stops just before a <code>\n</code>.</li>
</ul>
<p>So in this case, <code>abc</code> and <code>\nabc\n</code> match, but <code>\nabc1\n</code> does not.</p>
<p>Assertions are also called “look-around,” “look-behind” and “look-ahead.”
Specifically, some assertions are look-behind (like <code>^</code>), other assertions
are look-ahead (like <code>$</code>) and yet other assertions are both look-ahead and
look-behind (like <code>\b</code>).</p>
<h2 id="assertions-in-an-nfa"><a href="#assertions-in-an-nfa">Assertions in an NFA</a></h2>
<p>An assertion in a <a href="../../nfa/thompson/struct.NFA.html" title="struct regex_automata::nfa::thompson::NFA"><code>thompson::NFA</code></a> can be
thought of as a conditional epsilon transition. That is, a matching engine
like the <a href="../../nfa/thompson/pikevm/struct.PikeVM.html" title="struct regex_automata::nfa::thompson::pikevm::PikeVM"><code>PikeVM</code></a> only permits
moving through conditional epsilon transitions when their condition
is satisfied at whatever position the <code>PikeVM</code> is currently at in the
haystack.</p>
<p>How assertions are handled in a <code>DFA</code> is trickier, since a DFA does not
have epsilon transitions at all. In this case, they are compiled into the
automaton itself, at the expense of more states than what would be required
without an assertion.</p>
</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Start" class="variant"><a href="#variant.Start" class="anchor">§</a><h3 class="code-header">Start = 1</h3></section><div class="docblock"><p>Match the beginning of text. Specifically, this matches at the starting
position of the input.</p>
</div><section id="variant.End" class="variant"><a href="#variant.End" class="anchor">§</a><h3 class="code-header">End = 2</h3></section><div class="docblock"><p>Match the end of text. Specifically, this matches at the ending
position of the input.</p>
</div><section id="variant.StartLF" class="variant"><a href="#variant.StartLF" class="anchor">§</a><h3 class="code-header">StartLF = 4</h3></section><div class="docblock"><p>Match the beginning of a line or the beginning of text. Specifically,
this matches at the starting position of the input, or at the position
immediately following a <code>\n</code> character.</p>
</div><section id="variant.EndLF" class="variant"><a href="#variant.EndLF" class="anchor">§</a><h3 class="code-header">EndLF = 8</h3></section><div class="docblock"><p>Match the end of a line or the end of text. Specifically, this matches
at the end position of the input, or at the position immediately
preceding a <code>\n</code> character.</p>
</div><section id="variant.StartCRLF" class="variant"><a href="#variant.StartCRLF" class="anchor">§</a><h3 class="code-header">StartCRLF = 16</h3></section><div class="docblock"><p>Match the beginning of a line or the beginning of text. Specifically,
this matches at the starting position of the input, or at the position
immediately following either a <code>\r</code> or <code>\n</code> character, but never after
a <code>\r</code> when a <code>\n</code> follows.</p>
</div><section id="variant.EndCRLF" class="variant"><a href="#variant.EndCRLF" class="anchor">§</a><h3 class="code-header">EndCRLF = 32</h3></section><div class="docblock"><p>Match the end of a line or the end of text. Specifically, this matches
at the end position of the input, or at the position immediately
preceding a <code>\r</code> or <code>\n</code> character, but never before a <code>\n</code> when a <code>\r</code>
precedes it.</p>
</div><section id="variant.WordAscii" class="variant"><a href="#variant.WordAscii" class="anchor">§</a><h3 class="code-header">WordAscii = 64</h3></section><div class="docblock"><p>Match an ASCII-only word boundary. That is, this matches a position
where the left adjacent character and right adjacent character
correspond to a word and non-word or a non-word and word character.</p>
</div><section id="variant.WordAsciiNegate" class="variant"><a href="#variant.WordAsciiNegate" class="anchor">§</a><h3 class="code-header">WordAsciiNegate = 128</h3></section><div class="docblock"><p>Match an ASCII-only negation of a word boundary.</p>
</div><section id="variant.WordUnicode" class="variant"><a href="#variant.WordUnicode" class="anchor">§</a><h3 class="code-header">WordUnicode = 256</h3></section><div class="docblock"><p>Match a Unicode-aware word boundary. That is, this matches a position
where the left adjacent character and right adjacent character
correspond to a word and non-word or a non-word and word character.</p>
</div><section id="variant.WordUnicodeNegate" class="variant"><a href="#variant.WordUnicodeNegate" class="anchor">§</a><h3 class="code-header">WordUnicodeNegate = 512</h3></section><div class="docblock"><p>Match a Unicode-aware negation of a word boundary.</p>
</div><section id="variant.WordStartAscii" class="variant"><a href="#variant.WordStartAscii" class="anchor">§</a><h3 class="code-header">WordStartAscii = 1_024</h3></section><div class="docblock"><p>Match the start of an ASCII-only word boundary. That is, this matches a
position at either the beginning of the haystack or where the previous
character is not a word character and the following character is a word
character.</p>
</div><section id="variant.WordEndAscii" class="variant"><a href="#variant.WordEndAscii" class="anchor">§</a><h3 class="code-header">WordEndAscii = 2_048</h3></section><div class="docblock"><p>Match the end of an ASCII-only word boundary. That is, this matches
a position at either the end of the haystack or where the previous
character is a word character and the following character is not a word
character.</p>
</div><section id="variant.WordStartUnicode" class="variant"><a href="#variant.WordStartUnicode" class="anchor">§</a><h3 class="code-header">WordStartUnicode = 4_096</h3></section><div class="docblock"><p>Match the start of a Unicode word boundary. That is, this matches a
position at either the beginning of the haystack or where the previous
character is not a word character and the following character is a word
character.</p>
</div><section id="variant.WordEndUnicode" class="variant"><a href="#variant.WordEndUnicode" class="anchor">§</a><h3 class="code-header">WordEndUnicode = 8_192</h3></section><div class="docblock"><p>Match the end of a Unicode word boundary. That is, this matches a
position at either the end of the haystack or where the previous
character is a word character and the following character is not a word
character.</p>
</div><section id="variant.WordStartHalfAscii" class="variant"><a href="#variant.WordStartHalfAscii" class="anchor">§</a><h3 class="code-header">WordStartHalfAscii = 16_384</h3></section><div class="docblock"><p>Match the start half of an ASCII-only word boundary. That is, this
matches a position at either the beginning of the haystack or where the
previous character is not a word character.</p>
</div><section id="variant.WordEndHalfAscii" class="variant"><a href="#variant.WordEndHalfAscii" class="anchor">§</a><h3 class="code-header">WordEndHalfAscii = 32_768</h3></section><div class="docblock"><p>Match the end half of an ASCII-only word boundary. That is, this
matches a position at either the end of the haystack or where the
following character is not a word character.</p>
</div><section id="variant.WordStartHalfUnicode" class="variant"><a href="#variant.WordStartHalfUnicode" class="anchor">§</a><h3 class="code-header">WordStartHalfUnicode = 65_536</h3></section><div class="docblock"><p>Match the start half of a Unicode word boundary. That is, this matches
a position at either the beginning of the haystack or where the
previous character is not a word character.</p>
</div><section id="variant.WordEndHalfUnicode" class="variant"><a href="#variant.WordEndHalfUnicode" class="anchor">§</a><h3 class="code-header">WordEndHalfUnicode = 131_072</h3></section><div class="docblock"><p>Match the end half of a Unicode word boundary. That is, this matches
a position at either the end of the haystack or where the following
character is not a word character.</p>
</div></div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Look" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#137-236">source</a><a href="#impl-Look" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.reversed" class="method"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#144-165">source</a><h4 class="code-header">pub const fn <a href="#method.reversed" class="fn">reversed</a>(self) -&gt; <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h4></section></summary><div class="docblock"><p>Flip the look-around assertion to its equivalent for reverse searches.
For example, <code>StartLF</code> gets translated to <code>EndLF</code>.</p>
<p>Some assertions, such as <code>WordUnicode</code>, remain the same since they
match the same positions regardless of the direction of the search.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_repr" class="method"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#172-176">source</a><h4 class="code-header">pub const fn <a href="#method.as_repr" class="fn">as_repr</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u32.html">u32</a></h4></section></summary><div class="docblock"><p>Return the underlying representation of this look-around enumeration
as an integer. Giving the return value to the <a href="enum.Look.html#method.from_repr" title="associated function regex_automata::util::look::Look::from_repr"><code>Look::from_repr</code></a>
constructor is guaranteed to return the same look-around variant that
one started with within a semver compatible release of this crate.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_repr" class="method"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#182-204">source</a><h4 class="code-header">pub const fn <a href="#method.from_repr" class="fn">from_repr</a>(repr: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a>&gt;</h4></section></summary><div class="docblock"><p>Given the underlying representation of a <code>Look</code> value, return the
corresponding <code>Look</code> value if the representation is valid. Otherwise
<code>None</code> is returned.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_char" class="method"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#214-235">source</a><h4 class="code-header">pub const fn <a href="#method.as_char" class="fn">as_char</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.char.html">char</a></h4></section></summary><div class="docblock"><p>Returns a convenient single codepoint representation of this
look-around assertion. Each assertion is guaranteed to be represented
by a distinct character.</p>
<p>This is useful for succinctly representing a look-around assertion in
human friendly but succinct output intended for a programmer working on
regex internals.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Look" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#impl-Clone-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Look" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#impl-Debug-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.76.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Look" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#impl-PartialEq-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.htm
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/cmp.rs.html#242">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-Look" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#impl-Copy-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section><section id="impl-Eq-for-Look" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#impl-Eq-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section><section id="impl-StructuralEq-for-Look" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#impl-StructuralEq-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section><section id="impl-StructuralPartialEq-for-Look" class="impl"><a class="src rightside" href="../../../src/regex_automata/util/look.rs.html#61">source</a><a href="#impl-StructuralPartialEq-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Look" class="impl"><a href="#impl-RefUnwindSafe-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section><section id="impl-Send-for-Look" class="impl"><a href="#impl-Send-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section><section id="impl-Sync-for-Look" class="impl"><a href="#impl-Sync-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section><section id="impl-Unpin-for-Look" class="impl"><a href="#impl-Unpin-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Look.html" title="enum regex_automata::util::look::Look">Look</a></h3></section><section id="impl-UnwindSafe-for-Look" class="impl"><a href="#impl-UnwindSafe-for-Look" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Look.html" title="
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>