halo2/rustdoc/latest/halo2_proofs/transcript/struct.Challenge255.html

124 lines
107 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 255-bit challenge."><meta name="keywords" content="rust, rustlang, rust-lang, Challenge255"><title>Challenge255 in halo2_proofs::transcript - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.css" integrity="sha384-9eLZqc9ds8eNjO3TmqPeYcDj8n+Qfa4nuSiGYa6DjLNcv9BtN69ZIulL9+8CqC9Y" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.js" integrity="sha384-K3vbOmF2BtaVai+Qk37uypf7VrgBubhQreNQe9aGsz9lB63dIFiQVlJbr92dw2Lx" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/contrib/auto-render.min.js" integrity="sha384-kmZOZB5ObwgQnS/DuDg6TScgOiWWBiVt0plIRkZCmE6rDZGrEOQeHM5PcHi+nyqe" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "\\(", right: "\\)", display: false},
{left: "$", right: "$", display: false},
{left: "\\[", right: "\\]", display: true}
]
});
});
</script>
</head><body class="rustdoc struct"><!--[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><a class="sidebar-logo" href="../../halo2_proofs/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../halo2_proofs/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Challenge255</a></h2><div class="sidebar-elems"><section><h3><a href="#deref-methods-%5Bu8%3B%2032%5D">Methods from Deref&lt;Target=[u8; 32]&gt;</a></h3><ul class="block"><li><a href="#method.as_slice">as_slice</a></li><li><a href="#method.each_ref">each_ref</a></li><li><a href="#method.rsplit_array_ref">rsplit_array_ref</a></li><li><a href="#method.split_array_ref">split_array_ref</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-Challenge255%3CC%3E">Clone</a></li><li><a href="#impl-Copy-for-Challenge255%3CC%3E">Copy</a></li><li><a href="#impl-Debug-for-Challenge255%3CC%3E">Debug</a></li><li><a href="#impl-Deref-for-Challenge255%3CC%3E">Deref</a></li><li><a href="#impl-EncodedChallenge%3CC%3E-for-Challenge255%3CC%3E">EncodedChallenge&lt;C&gt;</a></li><li><a href="#impl-Transcript%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bRead%3CR%2C%20C%2C%20Challenge255%3CC%3E%3E">Transcript&lt;C, Challenge255&lt;C&gt;&gt;</a></li><li><a href="#impl-Transcript%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bWrite%3CW%2C%20C%2C%20Challenge255%3CC%3E%3E">Transcript&lt;C, Challenge255&lt;C&gt;&gt;</a></li><li><a href="#impl-TranscriptRead%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bRead%3CR%2C%20C%2C%20Challenge255%3CC%3E%3E">TranscriptRead&lt;C, Challenge255&lt;C&gt;&gt;</a></li><li><a href="#impl-TranscriptWrite%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bWrite%3CW%2C%20C%2C%20Challenge255%3CC%3E%3E">TranscriptWrite&lt;C, Challenge255&lt;C&gt;&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Challenge255%3CC%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Challenge255%3CC%3E">Send</a></li><li><a href="#impl-Sync-for-Challenge255%3CC%3E">Sync</a></li><li><a href="#impl-Unpin-for-Challenge255%3CC%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Challenge255%3CC%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Challenge255%3CC%3E">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Challenge255%3CC%3E">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Challenge255%3CC%3E">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-Conv-for-Challenge255%3CC%3E">Conv</a></li><li><a href="#impl-FmtForward-for-Challenge255%3CC%3E">FmtForward</a></li><li><a href="#impl-From%3CT%3E-for-Challenge255%3CC%3E">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-Challenge255%3CC%3E">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-Challenge255%3CC%3E">Into&lt;U&gt;</a></li><li><a href="#impl-Pipe-for-Challenge255%3CC%3E">Pipe</a></li><li><a href="#impl-Pointable-for-Challenge255%3CC%3E">Pointable</a></li><li><a href="#impl-Tap-for-Challenge255%3CC%3E">Tap</a></li><li><a href="#impl-ToOwned-for-Challenge255%3CC%3E">ToOwned</a></li><li><a href="#impl-TryConv-for-Challenge255%3CC%3E">TryConv</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Challenge255%3CC%3E">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Challenge255%3CC%3E">TryInto&lt;U&gt;</a></li><li><a href="#impl-VZip%3CV%3E-for-Challenge255%3CC%3E">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-Challenge255%3CC%3E">WithSubscriber</a></li></ul></section><h2 class="location"><a href="index.html">In halo2_proofs::transcript</a></h2></div></nav><main><div class="width-limiter"><div class="sub-container"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav></div><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">halo2_proofs</a>::<wbr><a href="index.html">transcript</a>::<wbr><a class="struct" href="#">Challenge255</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/halo2_proofs/transcript.rs.html#266">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Challenge255&lt;C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt;(_, _);</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A 255-bit challenge.</p>
</div></details><h2 id="deref-methods-%5Bu8%3B%2032%5D" class="small-section-header"><span>Methods from <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">32</a>]&gt;</span><a href="#deref-methods-%5Bu8%3B%2032%5D" class="anchor"></a></h2><div id="deref-methods-%5Bu8%3B%2032%5D-1"><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_slice" class="method has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.57.0">1.57.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/array/mod.rs.html#573">source</a></span><h4 class="code-header">pub fn <a href="#method.as_slice" class="fnname">as_slice</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a><span class="notable-traits"><span class="notable-traits-tooltip"><span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><code class="content"><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a> for &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span><span class="where fmt-newline">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a> for &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]</span></code></span></span></span></span></h4></section></summary><div class="docblock"><p>Returns a slice containing the entire array. Equivalent to <code>&amp;s[..]</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.each_ref" class="method has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/array/mod.rs.html#613">source</a><h4 class="code-header">pub fn <a href="#method.each_ref" class="fnname">each_ref</a>(&amp;self) -&gt; [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>]</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>array_methods</code>)</span></div></span></summary><div class="docblock"><p>Borrows each element and returns an array of references with the same
size as <code>self</code>.</p>
<h5 id="example"><a href="#example">Example</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attribute">#![feature(array_methods)]
</span><span class="kw">let </span>floats = [<span class="number">3.1</span>, <span class="number">2.7</span>, -<span class="number">1.0</span>];
<span class="kw">let </span>float_refs: [<span class="kw-2">&amp;</span>f64; <span class="number">3</span>] = floats.each_ref();
<span class="macro">assert_eq!</span>(float_refs, [<span class="kw-2">&amp;</span><span class="number">3.1</span>, <span class="kw-2">&amp;</span><span class="number">2.7</span>, <span class="kw-2">&amp;</span>-<span class="number">1.0</span>]);</code></pre></div>
<p>This method is particularly useful if combined with other methods, like
<a href="#method.map"><code>map</code></a>. This way, you can avoid moving the original
array if its elements are not <a href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="Copy"><code>Copy</code></a>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attribute">#![feature(array_methods)]
</span><span class="kw">let </span>strings = [<span class="string">&quot;Ferris&quot;</span>.to_string(), <span class="string">&quot;&quot;</span>.to_string(), <span class="string">&quot;Rust&quot;</span>.to_string()];
<span class="kw">let </span>is_ascii = strings.each_ref().map(|s| s.is_ascii());
<span class="macro">assert_eq!</span>(is_ascii, [<span class="bool-val">true</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>]);
<span class="comment">// We can still access the original array: it has not been moved.
</span><span class="macro">assert_eq!</span>(strings.len(), <span class="number">3</span>);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.split_array_ref" class="method has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/array/mod.rs.html#682">source</a><h4 class="code-header">pub fn <a href="#method.split_array_ref" class="fnname">split_array_ref</a>&lt;const M:&nbsp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; (&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; M]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>split_array</code>)</span></div></span></summary><div class="docblock"><p>Divides one array reference into two at an index.</p>
<p>The first will contain all indices from <code>[0, M)</code> (excluding
the index <code>M</code> itself) and the second will contain all
indices from <code>[M, N)</code> (excluding the index <code>N</code> itself).</p>
<h5 id="panics"><a href="#panics">Panics</a></h5>
<p>Panics if <code>M &gt; N</code>.</p>
<h5 id="examples"><a href="#examples">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attribute">#![feature(split_array)]
</span><span class="kw">let </span>v = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>];
{
<span class="kw">let </span>(left, right) = v.split_array_ref::&lt;<span class="number">0</span>&gt;();
<span class="macro">assert_eq!</span>(left, <span class="kw-2">&amp;</span>[]);
<span class="macro">assert_eq!</span>(right, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
}
{
<span class="kw">let </span>(left, right) = v.split_array_ref::&lt;<span class="number">2</span>&gt;();
<span class="macro">assert_eq!</span>(left, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);
<span class="macro">assert_eq!</span>(right, <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
}
{
<span class="kw">let </span>(left, right) = v.split_array_ref::&lt;<span class="number">6</span>&gt;();
<span class="macro">assert_eq!</span>(left, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
<span class="macro">assert_eq!</span>(right, <span class="kw-2">&amp;</span>[]);
}</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.rsplit_array_ref" class="method has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/array/mod.rs.html#760">source</a><h4 class="code-header">pub fn <a href="#method.rsplit_array_ref" class="fnname">rsplit_array_ref</a>&lt;const M:&nbsp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; (&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; M]</a>)</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>split_array</code>)</span></div></span></summary><div class="docblock"><p>Divides one array reference into two at an index from the end.</p>
<p>The first will contain all indices from <code>[0, N - M)</code> (excluding
the index <code>N - M</code> itself) and the second will contain all
indices from <code>[N - M, N)</code> (excluding the index <code>N</code> itself).</p>
<h5 id="panics-1"><a href="#panics-1">Panics</a></h5>
<p>Panics if <code>M &gt; N</code>.</p>
<h5 id="examples-1"><a href="#examples-1">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attribute">#![feature(split_array)]
</span><span class="kw">let </span>v = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>];
{
<span class="kw">let </span>(left, right) = v.rsplit_array_ref::&lt;<span class="number">0</span>&gt;();
<span class="macro">assert_eq!</span>(left, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
<span class="macro">assert_eq!</span>(right, <span class="kw-2">&amp;</span>[]);
}
{
<span class="kw">let </span>(left, right) = v.rsplit_array_ref::&lt;<span class="number">2</span>&gt;();
<span class="macro">assert_eq!</span>(left, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
<span class="macro">assert_eq!</span>(right, <span class="kw-2">&amp;</span>[<span class="number">5</span>, <span class="number">6</span>]);
}
{
<span class="kw">let </span>(left, right) = v.rsplit_array_ref::&lt;<span class="number">6</span>&gt;();
<span class="macro">assert_eq!</span>(left, <span class="kw-2">&amp;</span>[]);
<span class="macro">assert_eq!</span>(right, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
}</code></pre></div>
</div></details></div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#265">source</a><a href="#impl-Clone-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#265">source</a><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">const fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#265">source</a><a href="#impl-Debug-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#265">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/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/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Deref-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#268-274">source</a><a href="#impl-Deref-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Target" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">32</a>]</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#271-273">source</a><a href="#method.deref" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&amp;self) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-EncodedChallenge%3CC%3E-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#276-294">source</a><a href="#impl-EncodedChallenge%3CC%3E-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="trait.EncodedChallenge.html" title="trait halo2_proofs::transcript::EncodedChallenge">EncodedChallenge</a>&lt;C&gt; for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Input" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Input" class="anchor"></a><h4 class="code-header">type <a href="trait.EncodedChallenge.html#associatedtype.Input" class="associatedtype">Input</a> = [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">64</a>]</h4></section></summary><div class='docblock'>The Input type used to derive the challenge encoding. For example,
an input from the Poseidon hash would be a base field element;
an input from the Blake2b hash would be a [u8; 64]. <a href="trait.EncodedChallenge.html#associatedtype.Input">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#279-288">source</a><a href="#method.new" class="anchor"></a><h4 class="code-header">fn <a href="trait.EncodedChallenge.html#tymethod.new" class="fnname">new</a>(challenge_input: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">64</a>]) -&gt; Self</h4></section></summary><div class='docblock'>Get an encoded challenge from a given input challenge.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.get_scalar" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#289-293">source</a><a href="#method.get_scalar" class="anchor"></a><h4 class="code-header">fn <a href="trait.EncodedChallenge.html#tymethod.get_scalar" class="fnname">get_scalar</a>(&amp;self) -&gt; C::Scalar</h4></section></summary><div class='docblock'>Get a scalar field element from an encoded challenge.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_challenge_scalar" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#256-261">source</a><a href="#method.as_challenge_scalar" class="anchor"></a><h4 class="code-header">fn <a href="trait.EncodedChallenge.html#method.as_challenge_scalar" class="fnname">as_challenge_scalar</a>&lt;T&gt;(&amp;self) -&gt; <a class="struct" href="struct.ChallengeScalar.html" title="struct halo2_proofs::transcript::ChallengeScalar">ChallengeScalar</a>&lt;C, T&gt;</h4></section></summary><div class='docblock'>Cast an encoded challenge as a typed <code>ChallengeScalar</code>.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Transcript%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bRead%3CR%2C%20C%2C%20Challenge255%3CC%3E%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#115-145">source</a><a href="#impl-Transcript%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bRead%3CR%2C%20C%2C%20Challenge255%3CC%3E%3E" class="anchor"></a><h3 class="code-header">impl&lt;R:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="trait.Transcript.html" title="trait halo2_proofs::transcript::Transcript">Transcript</a>&lt;C, <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;&gt; for <a class="struct" href="struct.Blake2bRead.html" title="struct halo2_proofs::transcript::Blake2bRead">Blake2bRead</a>&lt;R, C, <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.squeeze_challenge" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#118-123">source</a><a href="#method.squeeze_challenge" class="anchor"></a><h4 class="code-header">fn <a href="trait.Transcript.html#tymethod.squeeze_challenge" class="fnname">squeeze_challenge</a>(&amp;mut self) -&gt; <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h4></section></summary><div class='docblock'>Squeeze an encoded verifier challenge from the transcript.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.common_point" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#125-137">source</a><a href="#method.common_point" class="anchor"></a><h4 class="code-header">fn <a href="trait.Transcript.html#tymethod.common_point" class="fnname">common_point</a>(&amp;mut self, point: C) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class='docblock'>Writing the point to the transcript without writing it to the proof,
treating it as a common input. <a href="trait.Transcript.html#tymethod.common_point">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.common_scalar" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#139-144">source</a><a href="#method.common_scalar" class="anchor"></a><h4 class="code-header">fn <a href="trait.Transcript.html#tymethod.common_scalar" class="fnname">common_scalar</a>(&amp;mut self, scalar: C::Scalar) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class='docblock'>Writing the scalar to the transcript without writing it to the proof,
treating it as a common input. <a href="trait.Transcript.html#tymethod.common_scalar">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.squeeze_challenge_scalar" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#28-33">source</a><a href="#method.squeeze_challenge_scalar" class="anchor"></a><h4 class="code-header">fn <a href="trait.Transcript.html#method.squeeze_challenge_scalar" class="fnname">squeeze_challenge_scalar</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="struct" href="struct.ChallengeScalar.html" title="struct halo2_proofs::transcript::ChallengeScalar">ChallengeScalar</a>&lt;C, T&gt;</h4></section></summary><div class='docblock'>Squeeze a typed challenge (in the scalar field) from the transcript.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Transcript%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bWrite%3CW%2C%20C%2C%20Challenge255%3CC%3E%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#190-220">source</a><a href="#impl-Transcript%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bWrite%3CW%2C%20C%2C%20Challenge255%3CC%3E%3E" class="anchor"></a><h3 class="code-header">impl&lt;W:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="trait.Transcript.html" title="trait halo2_proofs::transcript::Transcript">Transcript</a>&lt;C, <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;&gt; for <a class="struct" href="struct.Blake2bWrite.html" title="struct halo2_proofs::transcript::Blake2bWrite">Blake2bWrite</a>&lt;W, C, <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.squeeze_challenge-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#193-198">source</a><a href="#method.squeeze_challenge-1" class="anchor"></a><h4 class="code-header">fn <a href="trait.Transcript.html#tymethod.squeeze_challenge" class="fnname">squeeze_challenge</a>(&amp;mut self) -&gt; <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h4></section></summary><div class='docblock'>Squeeze an encoded verifier challenge from the transcript.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.common_point-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#200-212">source</a><a href="#method.common_point-1" class="anchor"></a><h4 class="code-header">fn <a href="trait.Transcript.html#tymethod.common_point" class="fnname">common_point</a>(&amp;mut self, point: C) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class='docblock'>Writing the point to the transcript without writing it to the proof,
treating it as a common input. <a href="trait.Transcript.html#tymethod.common_point">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.common_scalar-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#214-219">source</a><a href="#method.common_scalar-1" class="anchor"></a><h4 class="code-header">fn <a href="trait.Transcript.html#tymethod.common_scalar" class="fnname">common_scalar</a>(&amp;mut self, scalar: C::Scalar) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class='docblock'>Writing the scalar to the transcript without writing it to the proof,
treating it as a common input. <a href="trait.Transcript.html#tymethod.common_scalar">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.squeeze_challenge_scalar-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#28-33">source</a><a href="#method.squeeze_challenge_scalar-1" class="anchor"></a><h4 class="code-header">fn <a href="trait.Transcript.html#method.squeeze_challenge_scalar" class="fnname">squeeze_challenge_scalar</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="struct" href="struct.ChallengeScalar.html" title="struct halo2_proofs::transcript::ChallengeScalar">ChallengeScalar</a>&lt;C, T&gt;</h4></section></summary><div class='docblock'>Squeeze a typed challenge (in the scalar field) from the transcript.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-TranscriptRead%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bRead%3CR%2C%20C%2C%20Challenge255%3CC%3E%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#86-113">source</a><a href="#impl-TranscriptRead%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bRead%3CR%2C%20C%2C%20Challenge255%3CC%3E%3E" class="anchor"></a><h3 class="code-header">impl&lt;R:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="trait.TranscriptRead.html" title="trait halo2_proofs::transcript::TranscriptRead">TranscriptRead</a>&lt;C, <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;&gt; for <a class="struct" href="struct.Blake2bRead.html" title="struct halo2_proofs::transcript::Blake2bRead">Blake2bRead</a>&lt;R, C, <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read_point" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#89-98">source</a><a href="#method.read_point" class="anchor"></a><h4 class="code-header">fn <a href="trait.TranscriptRead.html#tymethod.read_point" class="fnname">read_point</a>(&amp;mut self) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;C&gt;</h4></section></summary><div class='docblock'>Read a curve point from the prover.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.read_scalar" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#100-112">source</a><a href="#method.read_scalar" class="anchor"></a><h4 class="code-header">fn <a href="trait.TranscriptRead.html#tymethod.read_scalar" class="fnname">read_scalar</a>(&amp;mut self) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;C::Scalar&gt;</h4></section></summary><div class='docblock'>Read a curve scalar from the prover.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-TranscriptWrite%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bWrite%3CW%2C%20C%2C%20Challenge255%3CC%3E%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#175-188">source</a><a href="#impl-TranscriptWrite%3CC%2C%20Challenge255%3CC%3E%3E-for-Blake2bWrite%3CW%2C%20C%2C%20Challenge255%3CC%3E%3E" class="anchor"></a><h3 class="code-header">impl&lt;W:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>, C:&nbsp;<a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="trait.TranscriptWrite.html" title="trait halo2_proofs::transcript::TranscriptWrite">TranscriptWrite</a>&lt;C, <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;&gt; for <a class="struct" href="struct.Blake2bWrite.html" title="struct halo2_proofs::transcript::Blake2bWrite">Blake2bWrite</a>&lt;W, C, <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.write_point" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#178-182">source</a><a href="#method.write_point" class="anchor"></a><h4 class="code-header">fn <a href="trait.TranscriptWrite.html#tymethod.write_point" class="fnname">write_point</a>(&amp;mut self, point: C) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class='docblock'>Write a curve point to the proof and the transcript.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.write_scalar" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#183-187">source</a><a href="#method.write_scalar" class="anchor"></a><h4 class="code-header">fn <a href="trait.TranscriptWrite.html#tymethod.write_scalar" class="fnname">write_scalar</a>(&amp;mut self, scalar: C::Scalar) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html" title="type std::io::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class='docblock'>Write a scalar to the proof and the transcript.</div></details></div></details><section id="impl-Copy-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/halo2_proofs/transcript.rs.html#265">source</a><a href="#impl-Copy-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="../arithmetic/trait.CurveAffine.html" title="trait halo2_proofs::arithmetic::CurveAffine">CurveAffine</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</span></h3></section><section id="impl-Send-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-Send-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h3></section><section id="impl-Sync-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-Sync-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;</h3></section><section id="impl-Unpin-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-Unpin-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</span></h3></section><section id="impl-UnwindSafe-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;C&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Challenge255.html" title="struct halo2_proofs::transcript::Challenge255">Challenge255</a>&lt;C&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;C: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</span></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/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/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Conv-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-Conv-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Conv for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.conv" class="method trait-impl has-srclink"><a href="#method.conv" class="anchor"></a><h4 class="code-header">fn <a class="fnname">conv</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Converts <code>self</code> into <code>T</code> using <code>Into&lt;T&gt;</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-FmtForward-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-FmtForward-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; FmtForward for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_binary" class="method trait-impl has-srclink"><a href="#method.fmt_binary" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_binary</a>(self) -&gt; FmtBinary&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.html" title="trait core::fmt::Binary">Binary</a>,</span></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>Binary</code> implementation when <code>Debug</code>-formatted. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_display" class="method trait-impl has-srclink"><a href="#method.fmt_display" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_display</a>(self) -&gt; FmtDisplay&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a>,</span></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>Display</code> implementation when
<code>Debug</code>-formatted. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_lower_exp" class="method trait-impl has-srclink"><a href="#method.fmt_lower_exp" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_lower_exp</a>(self) -&gt; FmtLowerExp&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerExp.html" title="trait core::fmt::LowerExp">LowerExp</a>,</span></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>LowerExp</code> implementation when
<code>Debug</code>-formatted. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_lower_hex" class="method trait-impl has-srclink"><a href="#method.fmt_lower_hex" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_lower_hex</a>(self) -&gt; FmtLowerHex&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a>,</span></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>LowerHex</code> implementation when
<code>Debug</code>-formatted. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_octal" class="method trait-impl has-srclink"><a href="#method.fmt_octal" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_octal</a>(self) -&gt; FmtOctal&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Octal.html" title="trait core::fmt::Octal">Octal</a>,</span></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>Octal</code> implementation when <code>Debug</code>-formatted. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_pointer" class="method trait-impl has-srclink"><a href="#method.fmt_pointer" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_pointer</a>(self) -&gt; FmtPointer&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Pointer.html" title="trait core::fmt::Pointer">Pointer</a>,</span></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>Pointer</code> implementation when
<code>Debug</code>-formatted. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_upper_exp" class="method trait-impl has-srclink"><a href="#method.fmt_upper_exp" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_upper_exp</a>(self) -&gt; FmtUpperExp&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperExp.html" title="trait core::fmt::UpperExp">UpperExp</a>,</span></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>UpperExp</code> implementation when
<code>Debug</code>-formatted. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_upper_hex" class="method trait-impl has-srclink"><a href="#method.fmt_upper_hex" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_upper_hex</a>(self) -&gt; FmtUpperHex&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html" title="trait core::fmt::UpperHex">UpperHex</a>,</span></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>UpperHex</code> implementation when
<code>Debug</code>-formatted. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt_list" class="method trait-impl has-srclink"><a href="#method.fmt_list" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt_list</a>(self) -&gt; FmtList&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a </a>Self: for&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,</span></h4></section></summary><div class='docblock'>Formats each item in a sequence. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Instrument-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#276">source</a><a href="#impl-Instrument-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#82">source</a><a href="#method.instrument" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><a href="#method.in_current_span" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html#method.current">current</a> <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">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/nightly/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Pipe-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-Pipe-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Pipe for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe" class="method trait-impl has-srclink"><a href="#method.pipe" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe</a>&lt;R&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; R) -&gt; R</h4></section></summary><div class='docblock'>Pipes by value. This is generally the method you want to use. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe_ref" class="method trait-impl has-srclink"><a href="#method.pipe_ref" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe_ref</a>&lt;'a, R&gt;(&amp;'a self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a </a>Self) -&gt; R) -&gt; R<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: 'a,</span></h4></section></summary><div class='docblock'>Borrows <code>self</code> and passes that borrow into the pipe function. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe_ref_mut" class="method trait-impl has-srclink"><a href="#method.pipe_ref_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe_ref_mut</a>&lt;'a, R&gt;(&amp;'a mut self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a mut </a>Self) -&gt; R) -&gt; R<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code> and passes that borrow into the pipe function. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe_borrow" class="method trait-impl has-srclink"><a href="#method.pipe_borrow" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe_borrow</a>&lt;'a, B, R&gt;(&amp;'a self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a </a>B) -&gt; R) -&gt; R<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;B&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;B: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: 'a,</span></h4></section></summary><div class='docblock'>Borrows <code>self</code>, then passes <code>self.borrow()</code> into the pipe function. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe_borrow_mut" class="method trait-impl has-srclink"><a href="#method.pipe_borrow_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe_borrow_mut</a>&lt;'a, B, R&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;'a mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a mut </a>B) -&gt; R<br>) -&gt; R<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;B&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;B: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.borrow_mut()</code> into the pipe
function. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe_as_ref" class="method trait-impl has-srclink"><a href="#method.pipe_as_ref" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe_as_ref</a>&lt;'a, U, R&gt;(&amp;'a self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a </a>U) -&gt; R) -&gt; R<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;U&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;U: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: 'a,</span></h4></section></summary><div class='docblock'>Borrows <code>self</code>, then passes <code>self.as_ref()</code> into the pipe function.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe_as_mut" class="method trait-impl has-srclink"><a href="#method.pipe_as_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe_as_mut</a>&lt;'a, U, R&gt;(&amp;'a mut self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a mut </a>U) -&gt; R) -&gt; R<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;U&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;U: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.as_mut()</code> into the pipe
function. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe_deref" class="method trait-impl has-srclink"><a href="#method.pipe_deref" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe_deref</a>&lt;'a, T, R&gt;(&amp;'a self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a </a>T) -&gt; R) -&gt; R<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = T&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: 'a,</span></h4></section></summary><div class='docblock'>Borrows <code>self</code>, then passes <code>self.deref()</code> into the pipe function.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.pipe_deref_mut" class="method trait-impl has-srclink"><a href="#method.pipe_deref_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">pipe_deref_mut</a>&lt;'a, T, R&gt;(&amp;'a mut self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a mut </a>T) -&gt; R) -&gt; R<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a>&lt;Target = T&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: 'a,</span></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
function. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Pointable-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-Pointable-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Pointable for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl has-srclink"><a href="#associatedconstant.ALIGN" class="anchor"></a><h4 class="code-header">const <a class="constant">ALIGN</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a> = mem::align_of::&lt;T&gt;()</h4></section></summary><div class='docblock'>The alignment of pointer.</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Init" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Init" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Init</a> = T</h4></section></summary><div class='docblock'>The type for initializers.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.init" class="method trait-impl has-srclink"><a href="#method.init" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">init</a>(init: &lt;T as Pointable&gt;::Init) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Initializes a with the given initializer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref-1" class="method trait-impl has-srclink"><a href="#method.deref-1" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">deref</a>&lt;'a&gt;(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a </a>T</h4></section></summary><div class='docblock'>Dereferences the given pointer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl has-srclink"><a href="#method.deref_mut" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">deref_mut</a>&lt;'a&gt;(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a mut </a>T</h4></section></summary><div class='docblock'>Mutably dereferences the given pointer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl has-srclink"><a href="#method.drop" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Drops the object pointed to by the given pointer. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Tap-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-Tap-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Tap for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap" class="method trait-impl has-srclink"><a href="#method.tap" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap</a>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)) -&gt; Self</h4></section></summary><div class='docblock'>Immutable access to a value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_mut" class="method trait-impl has-srclink"><a href="#method.tap_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_mut</a>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>Self)) -&gt; Self</h4></section></summary><div class='docblock'>Mutable access to a value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_borrow" class="method trait-impl has-srclink"><a href="#method.tap_borrow" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_borrow</a>&lt;B&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>B)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;B&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;B: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Immutable access to the <code>Borrow&lt;B&gt;</code> of a value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_borrow_mut" class="method trait-impl has-srclink"><a href="#method.tap_borrow_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_borrow_mut</a>&lt;B&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>B)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;B&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;B: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutable access to the <code>BorrowMut&lt;B&gt;</code> of a value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_ref" class="method trait-impl has-srclink"><a href="#method.tap_ref" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_ref</a>&lt;R&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>R)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;R&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Immutable access to the <code>AsRef&lt;R&gt;</code> view of a value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_ref_mut" class="method trait-impl has-srclink"><a href="#method.tap_ref_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_ref_mut</a>&lt;R&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>R)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;R&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutable access to the <code>AsMut&lt;R&gt;</code> view of a value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_deref" class="method trait-impl has-srclink"><a href="#method.tap_deref" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_deref</a>&lt;T&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = T&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Immutable access to the <code>Deref::Target</code> of a value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_deref_mut" class="method trait-impl has-srclink"><a href="#method.tap_deref_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_deref_mut</a>&lt;T&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a>&lt;Target = T&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutable access to the <code>Deref::Target</code> of a value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_dbg" class="method trait-impl has-srclink"><a href="#method.tap_dbg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_dbg</a>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)) -&gt; Self</h4></section></summary><div class='docblock'>Calls <code>.tap()</code> only in debug builds, and is erased in release builds.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_mut_dbg" class="method trait-impl has-srclink"><a href="#method.tap_mut_dbg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_mut_dbg</a>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>Self)) -&gt; Self</h4></section></summary><div class='docblock'>Calls <code>.tap_mut()</code> only in debug builds, and is erased in release
builds. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_borrow_dbg" class="method trait-impl has-srclink"><a href="#method.tap_borrow_dbg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_borrow_dbg</a>&lt;B&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>B)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;B&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;B: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Calls <code>.tap_borrow()</code> only in debug builds, and is erased in release
builds. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_borrow_mut_dbg" class="method trait-impl has-srclink"><a href="#method.tap_borrow_mut_dbg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_borrow_mut_dbg</a>&lt;B&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>B)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;B&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;B: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Calls <code>.tap_borrow_mut()</code> only in debug builds, and is erased in release
builds. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_ref_dbg" class="method trait-impl has-srclink"><a href="#method.tap_ref_dbg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_ref_dbg</a>&lt;R&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>R)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;R&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Calls <code>.tap_ref()</code> only in debug builds, and is erased in release
builds. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_ref_mut_dbg" class="method trait-impl has-srclink"><a href="#method.tap_ref_mut_dbg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_ref_mut_dbg</a>&lt;R&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>R)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;R&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Calls <code>.tap_ref_mut()</code> only in debug builds, and is erased in release
builds. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_deref_dbg" class="method trait-impl has-srclink"><a href="#method.tap_deref_dbg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_deref_dbg</a>&lt;T&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = T&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Calls <code>.tap_deref()</code> only in debug builds, and is erased in release
builds. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.tap_deref_mut_dbg" class="method trait-impl has-srclink"><a href="#method.tap_deref_mut_dbg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">tap_deref_mut_dbg</a>&lt;T&gt;(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T)) -&gt; Self<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a>&lt;Target = T&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Calls <code>.tap_deref_mut()</code> only in debug builds, and is erased in release
builds. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#83">source</a><a href="#impl-ToOwned-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/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="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/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/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">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/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/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/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryConv-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-TryConv-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; TryConv for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_conv" class="method trait-impl has-srclink"><a href="#method.try_conv" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_conv</a>&lt;T&gt;(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" title="type core::convert::TryInto::Error">Error</a>&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Attempts to convert <code>self</code> into <code>T</code> using <code>TryInto&lt;T&gt;</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/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="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/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/nightly/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/nightly/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="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/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="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/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/nightly/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/nightly/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="rustdoc-toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-Challenge255%3CC%3E" class="impl has-srclink"><a href="#impl-VZip%3CV%3E-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl has-srclink"><a href="#method.vzip" class="anchor"></a><h4 class="code-header">fn <a class="fnname">vzip</a>(self) -&gt; V</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-Challenge255%3CC%3E" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#334">source</a><a href="#impl-WithSubscriber-for-Challenge255%3CC%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#169-171">source</a><a href="#method.with_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fnname">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://docs.rs/tracing-core/0.1.22/tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#221">source</a><a href="#method.with_current_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fnname">with_current_subscriber</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="https://docs.rs/tracing/0.1.37/tracing/dispatcher/index.html#setting-the-default-subscriber">default</a> <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="halo2_proofs" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (06f049a35 2022-10-17)" ></div></body></html>