This commit is contained in:
str4d 2021-07-21 15:50:27 +00:00
parent 8084805499
commit 7bac419eb8
23 changed files with 40 additions and 695 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,22 +0,0 @@
<!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="Developer tools for investigating the cost of a circuit."><meta name="keywords" content="rust, rustlang, rust-lang, cost"><title>halo2::dev::cost - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><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>
<style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module cost</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><div id="sidebar-vars" data-name="cost" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">halo2</a>::<wbr><a href="../index.html">dev</a>::<wbr><a class="mod" href="#">cost</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/halo2/dev/cost.rs.html#1-214" title="goto source code">[src]</a></span></h1><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Developer tools for investigating the cost of a circuit.</p>
</div></details><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="struct" href="struct.CircuitCost.html" title="halo2::dev::cost::CircuitCost struct">CircuitCost</a></div><div class="item-right docblock-short"><p>Measures a circuit to determine its costs, and explain what contributes to them.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.ProofSize.html" title="halo2::dev::cost::ProofSize struct">ProofSize</a></div><div class="item-right docblock-short"><p>The size of a Halo 2 proof, broken down into its contributing factors.</p>
</div></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="halo2" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -1 +0,0 @@
initSidebarItems({"struct":[["CircuitCost","Measures a circuit to determine its costs, and explain what contributes to them."],["ProofSize","The size of a Halo 2 proof, broken down into its contributing factors."]]});

File diff suppressed because one or more lines are too long

View File

@ -1,87 +0,0 @@
<!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="The size of a Halo 2 proof, broken down into its contributing factors."><meta name="keywords" content="rust, rustlang, rust-lang, ProofSize"><title>ProofSize in halo2::dev::cost - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><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>
<style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></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="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct ProofSize</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-From%3CProofSize%3CG%3E%3E">From&lt;ProofSize&lt;G&gt;&gt;</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Conv">Conv</a><a href="#impl-FmtForward">FmtForward</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Pipe">Pipe</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Tap">Tap</a><a href="#impl-TryConv">TryConv</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../../index.html">halo2</a>::<wbr><a href="../index.html">dev</a>::<wbr><a href="index.html">cost</a></h2><div id="sidebar-vars" data-name="ProofSize" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">halo2</a>::<wbr><a href="../index.html">dev</a>::<wbr><a href="index.html">cost</a>::<wbr><a class="struct" href="#">ProofSize</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../../src/halo2/dev/cost.rs.html#188-198" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust struct">pub struct ProofSize&lt;G:&nbsp;PrimeGroup&gt; { /* fields omitted */ }</pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The size of a Halo 2 proof, broken down into its contributing factors.</p>
</div></details><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><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/halo2/dev/cost.rs.html#187" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><code class="in-band">impl&lt;G:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + PrimeGroup&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.ProofSize.html" title="struct halo2::dev::cost::ProofSize">ProofSize</a>&lt;G&gt;</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/halo2/dev/cost.rs.html#187" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><code>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></code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CProofSize%3CG%3E%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/halo2/dev/cost.rs.html#200-214" title="goto source code">[src]</a></div><a href="#impl-From%3CProofSize%3CG%3E%3E" class="anchor"></a><code class="in-band">impl&lt;G:&nbsp;PrimeGroup&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ProofSize.html" title="struct halo2::dev::cost::ProofSize">ProofSize</a>&lt;G&gt;&gt; for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/halo2/dev/cost.rs.html#201-213" title="goto source code">[src]</a></div><a href="#method.from" class="anchor"></a><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(proof: <a class="struct" href="struct.ProofSize.html" title="struct halo2::dev::cost::ProofSize">ProofSize</a>&lt;G&gt;) -&gt; Self</code></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details></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"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><code class="in-band">impl&lt;G&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.ProofSize.html" title="struct halo2::dev::cost::ProofSize">ProofSize</a>&lt;G&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;G: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,&nbsp;</span></code></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Send" class="anchor"></a><code class="in-band">impl&lt;G&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.ProofSize.html" title="struct halo2::dev::cost::ProofSize">ProofSize</a>&lt;G&gt;</code></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><code class="in-band">impl&lt;G&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.ProofSize.html" title="struct halo2::dev::cost::ProofSize">ProofSize</a>&lt;G&gt;</code></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><code class="in-band">impl&lt;G&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.ProofSize.html" title="struct halo2::dev::cost::ProofSize">ProofSize</a>&lt;G&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;G: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,&nbsp;</span></code></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><code class="in-band">impl&lt;G&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.ProofSize.html" title="struct halo2::dev::cost::ProofSize">ProofSize</a>&lt;G&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;G: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,&nbsp;</span></code></div></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" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><code>pub 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></code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></div><a href="#impl-Borrow%3CT%3E" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></div><a href="#method.borrow" class="anchor"></a><code>pub 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</code></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></div><a href="#method.borrow_mut" class="anchor"></a><code>pub 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</code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Conv" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Conv" class="anchor"></a><code class="in-band">impl&lt;T&gt; Conv for T</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.conv" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.conv" class="anchor"></a><code>fn <a href="#method.conv" 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;,&nbsp;</span></code></div></summary><div class='docblock'><p>Converts <code>self</code> into <code>T</code> using <code>Into&lt;T&gt;</code>. <a href="#method.conv">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-FmtForward" class="impl has-srclink"><div class="rightside"></div><a href="#impl-FmtForward" class="anchor"></a><code class="in-band">impl&lt;T&gt; FmtForward for T</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt_binary" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.fmt_binary" class="anchor"></a><code>fn <a href="#method.fmt_binary" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Causes <code>self</code> to use its <code>Binary</code> implementation when <code>Debug</code>-formatted.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt_display" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.fmt_display" class="anchor"></a><code>fn <a href="#method.fmt_display" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Causes <code>self</code> to use its <code>Display</code> implementation when
<code>Debug</code>-formatted. <a href="#method.fmt_display">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt_lower_exp" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.fmt_lower_exp" class="anchor"></a><code>fn <a href="#method.fmt_lower_exp" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Causes <code>self</code> to use its <code>LowerExp</code> implementation when
<code>Debug</code>-formatted. <a href="#method.fmt_lower_exp">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt_lower_hex" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.fmt_lower_hex" class="anchor"></a><code>fn <a href="#method.fmt_lower_hex" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Causes <code>self</code> to use its <code>LowerHex</code> implementation when
<code>Debug</code>-formatted. <a href="#method.fmt_lower_hex">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt_octal" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.fmt_octal" class="anchor"></a><code>fn <a href="#method.fmt_octal" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Causes <code>self</code> to use its <code>Octal</code> implementation when <code>Debug</code>-formatted.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt_pointer" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.fmt_pointer" class="anchor"></a><code>fn <a href="#method.fmt_pointer" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Causes <code>self</code> to use its <code>Pointer</code> implementation when
<code>Debug</code>-formatted. <a href="#method.fmt_pointer">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt_upper_exp" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.fmt_upper_exp" class="anchor"></a><code>fn <a href="#method.fmt_upper_exp" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Causes <code>self</code> to use its <code>UpperExp</code> implementation when
<code>Debug</code>-formatted. <a href="#method.fmt_upper_exp">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt_upper_hex" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.fmt_upper_hex" class="anchor"></a><code>fn <a href="#method.fmt_upper_hex" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Causes <code>self</code> to use its <code>UpperHex</code> implementation when
<code>Debug</code>-formatted. <a href="#method.fmt_upper_hex">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#546-550" title="goto source code">[src]</a></div><a href="#impl-From%3CT%3E" class="anchor"></a><code class="in-band">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</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#547" title="goto source code">[src]</a></div><a href="#method.from-1" class="anchor"></a><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</code></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Into%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#535-542" title="goto source code">[src]</a></div><a href="#impl-Into%3CU%3E" class="anchor"></a><code class="in-band">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;,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#539" title="goto source code">[src]</a></div><a href="#method.into" class="anchor"></a><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</code></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Pipe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Pipe" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe" class="anchor"></a><code>fn <a href="#method.pipe" 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</code></div></summary><div class='docblock'><p>Pipes by value. This is generally the method you want to use. <a href="#method.pipe">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe_ref" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe_ref" class="anchor"></a><code>fn <a href="#method.pipe_ref" 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,&nbsp;</span></code></div></summary><div class='docblock'><p>Borrows <code>self</code> and passes that borrow into the pipe function. <a href="#method.pipe_ref">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe_ref_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe_ref_mut" class="anchor"></a><code>fn <a href="#method.pipe_ref_mut" 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,&nbsp;</span></code></div></summary><div class='docblock'><p>Mutably borrows <code>self</code> and passes that borrow into the pipe function. <a href="#method.pipe_ref_mut">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe_borrow" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe_borrow" class="anchor"></a><code>fn <a href="#method.pipe_borrow" 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;R: 'a,<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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Borrows <code>self</code>, then passes <code>self.borrow()</code> into the pipe function. <a href="#method.pipe_borrow">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe_borrow_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe_borrow_mut" class="anchor"></a><code>fn <a href="#method.pipe_borrow_mut" 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;R: 'a,<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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Mutably borrows <code>self</code>, then passes <code>self.borrow_mut()</code> into the pipe
function. <a href="#method.pipe_borrow_mut">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe_as_ref" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe_as_ref" class="anchor"></a><code>fn <a href="#method.pipe_as_ref" 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;R: 'a,<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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Borrows <code>self</code>, then passes <code>self.as_ref()</code> into the pipe function.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe_as_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe_as_mut" class="anchor"></a><code>fn <a href="#method.pipe_as_mut" 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;R: 'a,<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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Mutably borrows <code>self</code>, then passes <code>self.as_mut()</code> into the pipe
function. <a href="#method.pipe_as_mut">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe_deref" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe_deref" class="anchor"></a><code>fn <a href="#method.pipe_deref" 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,&nbsp;</span></code></div></summary><div class='docblock'><p>Borrows <code>self</code>, then passes <code>self.deref()</code> into the pipe function.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pipe_deref_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.pipe_deref_mut" class="anchor"></a><code>fn <a href="#method.pipe_deref_mut" class="fnname">pipe_deref_mut</a>&lt;'a, T, 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>T) -&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/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,&nbsp;</span></code></div></summary><div class='docblock'><p>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
function. <a href="#method.pipe_deref_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Pointable" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Pointable" class="anchor"></a><code class="in-band">impl&lt;T&gt; Pointable for T</code></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedconstant.ALIGN" class="associatedconstant trait-impl has-srclink"><div class="rightside"></div><a href="#associatedconstant.ALIGN" class="anchor"></a><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></div></summary><div class='docblock'><p>The alignment of pointer.</p>
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.Init" class="type trait-impl has-srclink"><a href="#associatedtype.Init" class="anchor"></a><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></div></summary><div class='docblock'><p>The type for initializers.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.init" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.init" class="anchor"></a><code>pub 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></code></div></summary><div class='docblock'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.deref" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.deref" class="anchor"></a><code>pub 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</code></div></summary><div class='docblock'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.deref_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.deref_mut" class="anchor"></a><code>pub 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</code></div></summary><div class='docblock'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.drop" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.drop" class="anchor"></a><code>pub unsafe fn <a class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></div></summary><div class='docblock'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Tap" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Tap" class="anchor"></a><code class="in-band">impl&lt;T&gt; Tap for T</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap" class="anchor"></a><code>fn <a href="#method.tap" 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</code></div></summary><div class='docblock'><p>Immutable access to a value. <a href="#method.tap">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_mut" class="anchor"></a><code>fn <a href="#method.tap_mut" 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</code></div></summary><div class='docblock'><p>Mutable access to a value. <a href="#method.tap_mut">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_borrow" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_borrow" class="anchor"></a><code>fn <a href="#method.tap_borrow" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Immutable access to the <code>Borrow&lt;B&gt;</code> of a value. <a href="#method.tap_borrow">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_borrow_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_borrow_mut" class="anchor"></a><code>fn <a href="#method.tap_borrow_mut" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Mutable access to the <code>BorrowMut&lt;B&gt;</code> of a value. <a href="#method.tap_borrow_mut">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_ref" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_ref" class="anchor"></a><code>fn <a href="#method.tap_ref" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Immutable access to the <code>AsRef&lt;R&gt;</code> view of a value. <a href="#method.tap_ref">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_ref_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_ref_mut" class="anchor"></a><code>fn <a href="#method.tap_ref_mut" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Mutable access to the <code>AsMut&lt;R&gt;</code> view of a value. <a href="#method.tap_ref_mut">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_deref" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_deref" class="anchor"></a><code>fn <a href="#method.tap_deref" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Immutable access to the <code>Deref::Target</code> of a value. <a href="#method.tap_deref">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_deref_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_deref_mut" class="anchor"></a><code>fn <a href="#method.tap_deref_mut" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Mutable access to the <code>Deref::Target</code> of a value. <a href="#method.tap_deref_mut">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_dbg" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_dbg" class="anchor"></a><code>fn <a href="#method.tap_dbg" 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</code></div></summary><div class='docblock'><p>Calls <code>.tap()</code> only in debug builds, and is erased in release builds.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_mut_dbg" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_mut_dbg" class="anchor"></a><code>fn <a href="#method.tap_mut_dbg" 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</code></div></summary><div class='docblock'><p>Calls <code>.tap_mut()</code> only in debug builds, and is erased in release
builds. <a href="#method.tap_mut_dbg">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_borrow_dbg" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_borrow_dbg" class="anchor"></a><code>fn <a href="#method.tap_borrow_dbg" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Calls <code>.tap_borrow()</code> only in debug builds, and is erased in release
builds. <a href="#method.tap_borrow_dbg">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_borrow_mut_dbg" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_borrow_mut_dbg" class="anchor"></a><code>fn <a href="#method.tap_borrow_mut_dbg" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Calls <code>.tap_borrow_mut()</code> only in debug builds, and is erased in release
builds. <a href="#method.tap_borrow_mut_dbg">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_ref_dbg" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_ref_dbg" class="anchor"></a><code>fn <a href="#method.tap_ref_dbg" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Calls <code>.tap_ref()</code> only in debug builds, and is erased in release
builds. <a href="#method.tap_ref_dbg">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_ref_mut_dbg" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_ref_mut_dbg" class="anchor"></a><code>fn <a href="#method.tap_ref_mut_dbg" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Calls <code>.tap_ref_mut()</code> only in debug builds, and is erased in release
builds. <a href="#method.tap_ref_mut_dbg">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_deref_dbg" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_deref_dbg" class="anchor"></a><code>fn <a href="#method.tap_deref_dbg" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Calls <code>.tap_deref()</code> only in debug builds, and is erased in release
builds. <a href="#method.tap_deref_dbg">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.tap_deref_mut_dbg" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.tap_deref_mut_dbg" class="anchor"></a><code>fn <a href="#method.tap_deref_mut_dbg" 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>,&nbsp;</span></code></div></summary><div class='docblock'><p>Calls <code>.tap_deref_mut()</code> only in debug builds, and is erased in release
builds. <a href="#method.tap_deref_mut_dbg">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryConv" class="impl has-srclink"><div class="rightside"></div><a href="#impl-TryConv" class="anchor"></a><code class="in-band">impl&lt;T&gt; TryConv for T</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_conv" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.try_conv" class="anchor"></a><code>fn <a href="#method.try_conv" 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="type" 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;,&nbsp;</span></code></div></summary><div class='docblock'><p>Attempts to convert <code>self</code> into <code>T</code> using <code>TryInto&lt;T&gt;</code>. <a href="#method.try_conv">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryFrom%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#583-592" title="goto source code">[src]</a></div><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><code class="in-band">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;,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error" class="type trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#589" title="goto source code">[src]</a></div><a href="#method.try_from" class="anchor"></a><code>pub 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="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryInto%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#569-578" title="goto source code">[src]</a></div><a href="#impl-TryInto%3CU%3E" class="anchor"></a><code class="in-band">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;,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error-1" class="type trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">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="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#575" title="goto source code">[src]</a></div><a href="#method.try_into" class="anchor"></a><code>pub 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="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-VZip%3CV%3E" class="impl has-srclink"><div class="rightside"></div><a href="#impl-VZip%3CV%3E" class="anchor"></a><code class="in-band">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;,&nbsp;</span></code></div></summary><div class="impl-items"><div id="method.vzip" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.vzip" class="anchor"></a><code>pub fn <a class="fnname">vzip</a>(self) -&gt; V</code></div></div></details></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="halo2" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>

View File

@ -13,7 +13,7 @@
});
});
</script>
<style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Enum VerifyFailure</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#variants">Variants</a></h3><div class="sidebar-links"><a href="#variant.Cell">Cell</a><a href="#variant.ConstraintNotSatisfied">ConstraintNotSatisfied</a><a href="#variant.ConstraintPoisoned">ConstraintPoisoned</a><a href="#variant.Lookup">Lookup</a><a href="#variant.Permutation">Permutation</a></div><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-PartialEq%3CVerifyFailure%3E">PartialEq&lt;VerifyFailure&gt;</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Conv">Conv</a><a href="#impl-FmtForward">FmtForward</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Pipe">Pipe</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Tap">Tap</a><a href="#impl-ToString">ToString</a><a href="#impl-TryConv">TryConv</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../index.html">halo2</a>::<wbr><a href="index.html">dev</a></h2><div id="sidebar-vars" data-name="VerifyFailure" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">halo2</a>::<wbr><a href="index.html">dev</a>::<wbr><a class="enum" href="#">VerifyFailure</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/halo2/dev.rs.html#34-76" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust enum">pub enum VerifyFailure {
<style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Enum VerifyFailure</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#variants">Variants</a></h3><div class="sidebar-links"><a href="#variant.Cell">Cell</a><a href="#variant.ConstraintNotSatisfied">ConstraintNotSatisfied</a><a href="#variant.ConstraintPoisoned">ConstraintPoisoned</a><a href="#variant.Lookup">Lookup</a><a href="#variant.Permutation">Permutation</a></div><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-PartialEq%3CVerifyFailure%3E">PartialEq&lt;VerifyFailure&gt;</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Conv">Conv</a><a href="#impl-FmtForward">FmtForward</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Pipe">Pipe</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Tap">Tap</a><a href="#impl-ToString">ToString</a><a href="#impl-TryConv">TryConv</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../index.html">halo2</a>::<wbr><a href="index.html">dev</a></h2><div id="sidebar-vars" data-name="VerifyFailure" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">halo2</a>::<wbr><a href="index.html">dev</a>::<wbr><a class="enum" href="#">VerifyFailure</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/halo2/dev.rs.html#31-73" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust enum">pub enum VerifyFailure {
Cell {
gate: <a class="struct" href="metadata/struct.Gate.html" title="struct halo2::dev::metadata::Gate">Gate</a>,
region: <a class="struct" href="metadata/struct.Region.html" title="struct halo2::dev::metadata::Region">Region</a>,
@ -56,12 +56,12 @@ the order in which <code>ConstraintSystem::lookup</code> is called during
</div></div></div></details><div id="variant.Permutation" class="variant small-section-header"><a href="#variant.Permutation" class="anchor field"></a><code>Permutation</code></div><div class="docblock"><p>A permutation did not preserve the original value of a cell.</p>
</div><details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show fields</span></summary><div class="autohide sub-variant" id="variant.Permutation.fields"><h3>Fields of <b>Permutation</b></h3><div><span id="variant.Permutation.field.column" class="variant small-section-header"><a href="#variant.Permutation.field.column" class="anchor field"></a><code>column:&nbsp;<a class="struct" href="metadata/struct.Column.html" title="struct halo2::dev::metadata::Column">Column</a></code></span><div class="docblock"><p>The column in which this permutation is not satisfied.</p>
</div><span id="variant.Permutation.field.row" class="variant small-section-header"><a href="#variant.Permutation.field.row" class="anchor field"></a><code>row:&nbsp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><div class="docblock"><p>The row on which this permutation is not satisfied.</p>
</div></div></div></details><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><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#33" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><code class="in-band">impl <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="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#33" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><code>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></code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Display" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#78-115" title="goto source code">[src]</a></div><a href="#impl-Display" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#79-114" title="goto source code">[src]</a></div><a href="#method.fmt-1" class="anchor"></a><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.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></code></div></summary><div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-PartialEq%3CVerifyFailure%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#33" title="goto source code">[src]</a></div><a href="#impl-PartialEq%3CVerifyFailure%3E" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a>&gt; for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.eq" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#33" title="goto source code">[src]</a></div><a href="#method.eq" class="anchor"></a><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></div></summary><div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
</div></div></div></details><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><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#30" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><code class="in-band">impl <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="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#30" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><code>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></code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Display" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#75-112" title="goto source code">[src]</a></div><a href="#impl-Display" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#76-111" title="goto source code">[src]</a></div><a href="#method.fmt-1" class="anchor"></a><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.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></code></div></summary><div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-PartialEq%3CVerifyFailure%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#30" title="goto source code">[src]</a></div><a href="#impl-PartialEq%3CVerifyFailure%3E" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a>&gt; for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.eq" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#30" title="goto source code">[src]</a></div><a href="#method.eq" class="anchor"></a><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></div></summary><div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.ne" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#33" title="goto source code">[src]</a></div><a href="#method.ne" class="anchor"></a><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&amp;self, other: &amp;<a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></div></summary><div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></details></div></details><div id="impl-StructuralPartialEq" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#33" title="goto source code">[src]</a></div><a href="#impl-StructuralPartialEq" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></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"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Send" class="anchor"></a><code class="in-band">impl <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="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><code class="in-band">impl <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="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><code class="in-band">impl <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="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></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" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><code>pub 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></code></div></summary><div class='docblock'><p>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></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.ne" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#30" title="goto source code">[src]</a></div><a href="#method.ne" class="anchor"></a><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&amp;self, other: &amp;<a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></div></summary><div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></details></div></details><div id="impl-StructuralPartialEq" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#30" title="goto source code">[src]</a></div><a href="#impl-StructuralPartialEq" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></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"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Send" class="anchor"></a><code class="in-band">impl <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="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><code class="in-band">impl <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="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><code class="in-band">impl <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="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a></code></div></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" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><code>pub 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></code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></div><a href="#impl-Borrow%3CT%3E" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></div><a href="#method.borrow" class="anchor"></a><code>pub 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</code></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></div><a href="#method.borrow_mut" class="anchor"></a><code>pub 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</code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Conv" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Conv" class="anchor"></a><code class="in-band">impl&lt;T&gt; Conv for T</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.conv" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.conv" class="anchor"></a><code>fn <a href="#method.conv" 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;,&nbsp;</span></code></div></summary><div class='docblock'><p>Converts <code>self</code> into <code>T</code> using <code>Into&lt;T&gt;</code>. <a href="#method.conv">Read more</a></p>

View File

@ -13,11 +13,9 @@
});
});
</script>
<style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module dev</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><div id="sidebar-vars" data-name="dev" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">halo2</a>::<wbr><a class="mod" href="#">dev</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/halo2/dev.rs.html#1-893" title="goto source code">[src]</a></span></h1><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Tools for developing circuits.</p>
</div></details><h2 id="reexports" class="section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-left import-item"><code>pub use cost::<a class="struct" href="cost/struct.CircuitCost.html" title="struct halo2::dev::cost::CircuitCost">CircuitCost</a>;</code></div><div class="item-right docblock-short"></div></div><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="mod" href="cost/index.html" title="halo2::dev::cost mod">cost</a></div><div class="item-right docblock-short"><p>Developer tools for investigating the cost of a circuit.</p>
</div><div class="item-left module-item"><a class="mod" href="metadata/index.html" title="halo2::dev::metadata mod">metadata</a></div><div class="item-right docblock-short"><p>Metadata about circuits.</p>
<style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Module dev</h2><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><div id="sidebar-vars" data-name="dev" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">halo2</a>::<wbr><a class="mod" href="#">dev</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/halo2/dev.rs.html#1-890" title="goto source code">[src]</a></span></h1><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Tools for developing circuits.</p>
</div></details><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="mod" href="metadata/index.html" title="halo2::dev::metadata mod">metadata</a></div><div class="item-right docblock-short"><p>Metadata about circuits.</p>
</div></div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="struct" href="struct.MockProver.html" title="halo2::dev::MockProver struct">MockProver</a></div><div class="item-right docblock-short"><p>A test prover for debugging circuits.</p>
</div></div><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>

View File

@ -1 +1 @@
initSidebarItems({"enum":[["VerifyFailure","The reasons why a particular circuit is not satisfied."]],"mod":[["cost","Developer tools for investigating the cost of a circuit."],["metadata","Metadata about circuits."]],"struct":[["MockProver","A test prover for debugging circuits."]]});
initSidebarItems({"enum":[["VerifyFailure","The reasons why a particular circuit is not satisfied."]],"mod":[["metadata","Metadata about circuits."]],"struct":[["MockProver","A test prover for debugging circuits."]]});

View File

@ -13,7 +13,7 @@
});
});
</script>
<style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></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="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct MockProver</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><div class="sidebar-links"><a href="#method.run">run</a><a href="#method.verify">verify</a></div><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-Assignment%3CF%3E">Assignment&lt;F&gt;</a><a href="#impl-Debug">Debug</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Conv">Conv</a><a href="#impl-FmtForward">FmtForward</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Pipe">Pipe</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Tap">Tap</a><a href="#impl-TryConv">TryConv</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../index.html">halo2</a>::<wbr><a href="index.html">dev</a></h2><div id="sidebar-vars" data-name="MockProver" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">halo2</a>::<wbr><a href="index.html">dev</a>::<wbr><a class="struct" href="#">MockProver</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/halo2/dev.rs.html#313-334" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust struct">pub struct MockProver&lt;F:&nbsp;<a class="trait" href="../arithmetic/trait.Group.html" title="trait halo2::arithmetic::Group">Group</a> + <a class="trait" href="../arithmetic/trait.Field.html" title="trait halo2::arithmetic::Field">Field</a>&gt; { /* fields omitted */ }</pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A test prover for debugging circuits.</p>
<style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></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="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct MockProver</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><div class="sidebar-links"><a href="#method.run">run</a><a href="#method.verify">verify</a></div><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-Assignment%3CF%3E">Assignment&lt;F&gt;</a><a href="#impl-Debug">Debug</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Conv">Conv</a><a href="#impl-FmtForward">FmtForward</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Pipe">Pipe</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Tap">Tap</a><a href="#impl-TryConv">TryConv</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><h2 class="location">Other items in<br><a href="../index.html">halo2</a>::<wbr><a href="index.html">dev</a></h2><div id="sidebar-vars" data-name="MockProver" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">halo2</a>::<wbr><a href="index.html">dev</a>::<wbr><a class="struct" href="#">MockProver</a><button id="copy-path" onclick="copy_path(this)" title="copy path"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item import" title="Copy item import to clipboard"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../../src/halo2/dev.rs.html#310-331" title="goto source code">[src]</a></span></h1><div class="docblock type-decl"><pre class="rust struct">pub struct MockProver&lt;F:&nbsp;<a class="trait" href="../arithmetic/trait.Group.html" title="trait halo2::arithmetic::Group">Group</a> + <a class="trait" href="../arithmetic/trait.Field.html" title="trait halo2::arithmetic::Field">Field</a>&gt; { /* fields omitted */ }</pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A test prover for debugging circuits.</p>
<p>The normal proving process, when applied to a buggy circuit implementation, might
return proofs that do not validate when they should, but it cant indicate anything
other than “something is invalid”. <code>MockProver</code> can be used to figure out <em>why</em> these
@ -108,20 +108,20 @@ then checks every constraint manually.</p>
<span class="ident">row</span>: <span class="number">0</span>
}])
);</pre></div>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#485-809" title="goto source code">[src]</a></div><a href="#impl" class="anchor"></a><code class="in-band">impl&lt;F:&nbsp;<a class="trait" href="../arithmetic/trait.FieldExt.html" title="trait halo2::arithmetic::FieldExt">FieldExt</a>&gt; <a class="struct" href="struct.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.run" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#488-553" title="goto source code">[src]</a></div><a href="#method.run" class="anchor"></a><code>pub fn <a href="#method.run" class="fnname">run</a>&lt;ConcreteCircuit:&nbsp;<a class="trait" href="../plonk/trait.Circuit.html" title="trait halo2::plonk::Circuit">Circuit</a>&lt;F&gt;&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;circuit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>ConcreteCircuit, <br>&nbsp;&nbsp;&nbsp;&nbsp;instance: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;F&gt;&gt;<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;</code></div></summary><div class="docblock"><p>Runs a synthetic keygen-and-prove operation on the given circuit, collecting data
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#482-806" title="goto source code">[src]</a></div><a href="#impl" class="anchor"></a><code class="in-band">impl&lt;F:&nbsp;<a class="trait" href="../arithmetic/trait.FieldExt.html" title="trait halo2::arithmetic::FieldExt">FieldExt</a>&gt; <a class="struct" href="struct.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.run" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#485-550" title="goto source code">[src]</a></div><a href="#method.run" class="anchor"></a><code>pub fn <a href="#method.run" class="fnname">run</a>&lt;ConcreteCircuit:&nbsp;<a class="trait" href="../plonk/trait.Circuit.html" title="trait halo2::plonk::Circuit">Circuit</a>&lt;F&gt;&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;circuit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>ConcreteCircuit, <br>&nbsp;&nbsp;&nbsp;&nbsp;instance: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;F&gt;&gt;<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;</code></div></summary><div class="docblock"><p>Runs a synthetic keygen-and-prove operation on the given circuit, collecting data
about the constraints and their assignments.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.verify" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#557-808" title="goto source code">[src]</a></div><a href="#method.verify" class="anchor"></a><code>pub fn <a href="#method.verify" class="fnname">verify</a>(&amp;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;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a>&gt;&gt;</code></div></summary><div class="docblock"><p>Returns <code>Ok(())</code> if this <code>MockProver</code> is satisfied, or a list of errors indicating
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.verify" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#554-805" title="goto source code">[src]</a></div><a href="#method.verify" class="anchor"></a><code>pub fn <a href="#method.verify" class="fnname">verify</a>(&amp;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;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.VerifyFailure.html" title="enum halo2::dev::VerifyFailure">VerifyFailure</a>&gt;&gt;</code></div></summary><div class="docblock"><p>Returns <code>Ok(())</code> if this <code>MockProver</code> is satisfied, or a list of errors indicating
the reasons that the circuit is not satisfied.</p>
</div></details></div></details><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><div id="impl-Assignment%3CF%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#336-483" title="goto source code">[src]</a></div><a href="#impl-Assignment%3CF%3E" class="anchor"></a><code class="in-band">impl&lt;F:&nbsp;<a class="trait" href="../arithmetic/trait.Field.html" title="trait halo2::arithmetic::Field">Field</a> + <a class="trait" href="../arithmetic/trait.Group.html" title="trait halo2::arithmetic::Group">Group</a>&gt; <a class="trait" href="../plonk/trait.Assignment.html" title="trait halo2::plonk::Assignment">Assignment</a>&lt;F&gt; for <a class="struct" href="struct.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.enter_region" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#337-349" title="goto source code">[src]</a></div><a href="#method.enter_region" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.enter_region" class="fnname">enter_region</a>&lt;NR, N&gt;(&amp;mut self, name: N) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;NR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;N: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; NR,&nbsp;</span></code></div></summary><div class='docblock'><p>Creates a new region and enters into it. <a href="../plonk/trait.Assignment.html#tymethod.enter_region">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.exit_region" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#351-353" title="goto source code">[src]</a></div><a href="#method.exit_region" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.exit_region" class="fnname">exit_region</a>(&amp;mut self)</code></div></summary><div class='docblock'><p>Exits the current region. <a href="../plonk/trait.Assignment.html#tymethod.exit_region">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.enable_selector" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#355-381" title="goto source code">[src]</a></div><a href="#method.enable_selector" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.enable_selector" class="fnname">enable_selector</a>&lt;A, AR&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;annotation: A, <br>&nbsp;&nbsp;&nbsp;&nbsp;selector: &amp;<a class="struct" href="../plonk/struct.Selector.html" title="struct halo2::plonk::Selector">Selector</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; AR,<br>&nbsp;&nbsp;&nbsp;&nbsp;AR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,&nbsp;</span></code></div></summary><div class='docblock'><p>Enables a selector at the given row.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.query_instance" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#383-393" title="goto source code">[src]</a></div><a href="#method.query_instance" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.query_instance" class="fnname">query_instance</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="struct" href="../plonk/struct.Instance.html" title="struct halo2::plonk::Instance">Instance</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;F&gt;, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;</code></div></summary><div class='docblock'><p>Queries the cell of an instance column at a particular absolute row. <a href="../plonk/trait.Assignment.html#tymethod.query_instance">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.assign_advice" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#395-424" title="goto source code">[src]</a></div><a href="#method.assign_advice" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.assign_advice" class="fnname">assign_advice</a>&lt;V, VR, A, AR&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: A, <br>&nbsp;&nbsp;&nbsp;&nbsp;column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="struct" href="../plonk/struct.Advice.html" title="struct halo2::plonk::Advice">Advice</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;to: V<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;VR, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;VR: <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="enum" href="../plonk/enum.Assigned.html" title="enum halo2::plonk::Assigned">Assigned</a>&lt;F&gt;&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; AR,<br>&nbsp;&nbsp;&nbsp;&nbsp;AR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,&nbsp;</span></code></div></summary><div class='docblock'><p>Assign an advice column value (witness)</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.assign_fixed" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#426-455" title="goto source code">[src]</a></div><a href="#method.assign_fixed" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.assign_fixed" class="fnname">assign_fixed</a>&lt;V, VR, A, AR&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: A, <br>&nbsp;&nbsp;&nbsp;&nbsp;column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="struct" href="../plonk/struct.Fixed.html" title="struct halo2::plonk::Fixed">Fixed</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;to: V<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;VR, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;VR: <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="enum" href="../plonk/enum.Assigned.html" title="enum halo2::plonk::Assigned">Assigned</a>&lt;F&gt;&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; AR,<br>&nbsp;&nbsp;&nbsp;&nbsp;AR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,&nbsp;</span></code></div></summary><div class='docblock'><p>Assign a fixed value</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.copy" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#457-470" title="goto source code">[src]</a></div><a href="#method.copy" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.copy" class="fnname">copy</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;left_column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="enum" href="../plonk/enum.Any.html" title="enum halo2::plonk::Any">Any</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;left_row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;right_column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="enum" href="../plonk/enum.Any.html" title="enum halo2::plonk::Any">Any</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;right_row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;</code></div></summary><div class='docblock'><p>Assign two cells to have the same value</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.push_namespace" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#472-478" title="goto source code">[src]</a></div><a href="#method.push_namespace" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.push_namespace" class="fnname">push_namespace</a>&lt;NR, N&gt;(&amp;mut self, _: N) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;NR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;N: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; NR,&nbsp;</span></code></div></summary><div class='docblock'><p>Creates a new (sub)namespace and enters into it. <a href="../plonk/trait.Assignment.html#tymethod.push_namespace">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pop_namespace" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#480-482" title="goto source code">[src]</a></div><a href="#method.pop_namespace" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.pop_namespace" class="fnname">pop_namespace</a>(&amp;mut self, _: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;)</code></div></summary><div class='docblock'><p>Exits out of the existing namespace. <a href="../plonk/trait.Assignment.html#tymethod.pop_namespace">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#312" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><code class="in-band">impl&lt;F:&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.Group.html" title="trait halo2::arithmetic::Group">Group</a> + <a class="trait" href="../arithmetic/trait.Field.html" title="trait halo2::arithmetic::Field">Field</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.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#312" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><code>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></code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><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><div id="impl-Assignment%3CF%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#333-480" title="goto source code">[src]</a></div><a href="#impl-Assignment%3CF%3E" class="anchor"></a><code class="in-band">impl&lt;F:&nbsp;<a class="trait" href="../arithmetic/trait.Field.html" title="trait halo2::arithmetic::Field">Field</a> + <a class="trait" href="../arithmetic/trait.Group.html" title="trait halo2::arithmetic::Group">Group</a>&gt; <a class="trait" href="../plonk/trait.Assignment.html" title="trait halo2::plonk::Assignment">Assignment</a>&lt;F&gt; for <a class="struct" href="struct.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.enter_region" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#334-346" title="goto source code">[src]</a></div><a href="#method.enter_region" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.enter_region" class="fnname">enter_region</a>&lt;NR, N&gt;(&amp;mut self, name: N) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;NR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;N: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; NR,&nbsp;</span></code></div></summary><div class='docblock'><p>Creates a new region and enters into it. <a href="../plonk/trait.Assignment.html#tymethod.enter_region">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.exit_region" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#348-350" title="goto source code">[src]</a></div><a href="#method.exit_region" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.exit_region" class="fnname">exit_region</a>(&amp;mut self)</code></div></summary><div class='docblock'><p>Exits the current region. <a href="../plonk/trait.Assignment.html#tymethod.exit_region">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.enable_selector" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#352-378" title="goto source code">[src]</a></div><a href="#method.enable_selector" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.enable_selector" class="fnname">enable_selector</a>&lt;A, AR&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;annotation: A, <br>&nbsp;&nbsp;&nbsp;&nbsp;selector: &amp;<a class="struct" href="../plonk/struct.Selector.html" title="struct halo2::plonk::Selector">Selector</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; AR,<br>&nbsp;&nbsp;&nbsp;&nbsp;AR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,&nbsp;</span></code></div></summary><div class='docblock'><p>Enables a selector at the given row.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.query_instance" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#380-390" title="goto source code">[src]</a></div><a href="#method.query_instance" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.query_instance" class="fnname">query_instance</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="struct" href="../plonk/struct.Instance.html" title="struct halo2::plonk::Instance">Instance</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;F&gt;, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;</code></div></summary><div class='docblock'><p>Queries the cell of an instance column at a particular absolute row. <a href="../plonk/trait.Assignment.html#tymethod.query_instance">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.assign_advice" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#392-421" title="goto source code">[src]</a></div><a href="#method.assign_advice" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.assign_advice" class="fnname">assign_advice</a>&lt;V, VR, A, AR&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: A, <br>&nbsp;&nbsp;&nbsp;&nbsp;column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="struct" href="../plonk/struct.Advice.html" title="struct halo2::plonk::Advice">Advice</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;to: V<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;VR, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;VR: <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="enum" href="../plonk/enum.Assigned.html" title="enum halo2::plonk::Assigned">Assigned</a>&lt;F&gt;&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; AR,<br>&nbsp;&nbsp;&nbsp;&nbsp;AR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,&nbsp;</span></code></div></summary><div class='docblock'><p>Assign an advice column value (witness)</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.assign_fixed" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#423-452" title="goto source code">[src]</a></div><a href="#method.assign_fixed" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.assign_fixed" class="fnname">assign_fixed</a>&lt;V, VR, A, AR&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: A, <br>&nbsp;&nbsp;&nbsp;&nbsp;column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="struct" href="../plonk/struct.Fixed.html" title="struct halo2::plonk::Fixed">Fixed</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;to: V<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;VR, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;VR: <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="enum" href="../plonk/enum.Assigned.html" title="enum halo2::plonk::Assigned">Assigned</a>&lt;F&gt;&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; AR,<br>&nbsp;&nbsp;&nbsp;&nbsp;AR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,&nbsp;</span></code></div></summary><div class='docblock'><p>Assign a fixed value</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.copy" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#454-467" title="goto source code">[src]</a></div><a href="#method.copy" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.copy" class="fnname">copy</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;left_column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="enum" href="../plonk/enum.Any.html" title="enum halo2::plonk::Any">Any</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;left_row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;right_column: <a class="struct" href="../plonk/struct.Column.html" title="struct halo2::plonk::Column">Column</a>&lt;<a class="enum" href="../plonk/enum.Any.html" title="enum halo2::plonk::Any">Any</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;right_row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../plonk/enum.Error.html" title="enum halo2::plonk::Error">Error</a>&gt;</code></div></summary><div class='docblock'><p>Assign two cells to have the same value</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.push_namespace" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#469-475" title="goto source code">[src]</a></div><a href="#method.push_namespace" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.push_namespace" class="fnname">push_namespace</a>&lt;NR, N&gt;(&amp;mut self, _: N) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;NR: <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://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;N: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>() -&gt; NR,&nbsp;</span></code></div></summary><div class='docblock'><p>Creates a new (sub)namespace and enters into it. <a href="../plonk/trait.Assignment.html#tymethod.push_namespace">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pop_namespace" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#477-479" title="goto source code">[src]</a></div><a href="#method.pop_namespace" class="anchor"></a><code>fn <a href="../plonk/trait.Assignment.html#tymethod.pop_namespace" class="fnname">pop_namespace</a>(&amp;mut self, _: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;)</code></div></summary><div class='docblock'><p>Exits out of the existing namespace. <a href="../plonk/trait.Assignment.html#tymethod.pop_namespace">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#309" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><code class="in-band">impl&lt;F:&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.Group.html" title="trait halo2::arithmetic::Group">Group</a> + <a class="trait" href="../arithmetic/trait.Field.html" title="trait halo2::arithmetic::Field">Field</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.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#309" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><code>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></code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details></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"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><code class="in-band">impl&lt;F&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,&nbsp;</span></code></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Send" class="anchor"></a><code class="in-band">impl&lt;F&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.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><code class="in-band">impl&lt;F&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.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><code class="in-band">impl&lt;F&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.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,&nbsp;</span></code></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><code class="in-band">impl&lt;F&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,&nbsp;</span></code></div></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" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><code>pub 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></code></div></summary><div class='docblock'><p>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></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></div><a href="#impl-Borrow%3CT%3E" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></div><a href="#method.borrow" class="anchor"></a><code>pub 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</code></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><code class="in-band">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>,&nbsp;</span></code></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></div><a href="#method.borrow_mut" class="anchor"></a><code>pub 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</code></div></summary><div class='docblock'><p>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></p>

View File

@ -41,6 +41,6 @@ for a constraint system.</p>
<p>Not intended for downstream consumption; use <a href="../circuit/trait.Layouter.html#method.namespace"><code>Layouter::namespace</code></a> instead.</p>
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.pop_namespace" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/plonk/circuit.rs.html#488" title="goto source code">[src]</a></div><code>fn <a href="#tymethod.pop_namespace" class="fnname">pop_namespace</a>(&amp;mut self, gadget_name: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;)</code></div></summary><div class="docblock"><p>Exits out of the existing namespace.</p>
<p>Not intended for downstream consumption; use <a href="../circuit/trait.Layouter.html#method.namespace"><code>Layouter::namespace</code></a> instead.</p>
</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><div id="impl-Assignment%3CF%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#336-483" title="goto source code">[src]</a></div><a href="#impl-Assignment%3CF%3E" class="anchor"></a><code class="in-band">impl&lt;F:&nbsp;<a class="trait" href="../arithmetic/trait.Field.html" title="trait halo2::arithmetic::Field">Field</a> + <a class="trait" href="../arithmetic/trait.Group.html" title="trait halo2::arithmetic::Group">Group</a>&gt; <a class="trait" href="trait.Assignment.html" title="trait halo2::plonk::Assignment">Assignment</a>&lt;F&gt; for <a class="struct" href="../dev/struct.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div></div><script type="text/javascript" src="../../implementors/halo2/plonk/trait.Assignment.js" async></script></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="halo2" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><div id="impl-Assignment%3CF%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../src/halo2/dev.rs.html#333-480" title="goto source code">[src]</a></div><a href="#impl-Assignment%3CF%3E" class="anchor"></a><code class="in-band">impl&lt;F:&nbsp;<a class="trait" href="../arithmetic/trait.Field.html" title="trait halo2::arithmetic::Field">Field</a> + <a class="trait" href="../arithmetic/trait.Group.html" title="trait halo2::arithmetic::Group">Group</a>&gt; <a class="trait" href="trait.Assignment.html" title="trait halo2::plonk::Assignment">Assignment</a>&lt;F&gt; for <a class="struct" href="../dev/struct.MockProver.html" title="struct halo2::dev::MockProver">MockProver</a>&lt;F&gt;</code></div></div><script type="text/javascript" src="../../implementors/halo2/plonk/trait.Assignment.js" async></script></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="halo2" data-search-index-js="../../search-index.js" data-search-js="../../search.js"></div>
<script src="../../main.js"></script>
</body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,3 @@
var N = null;var sourcesIndex = {};
sourcesIndex["halo2"] = {"name":"","dirs":[{"name":"circuit","dirs":[{"name":"floor_planner","dirs":[{"name":"v1","files":["strategy.rs"]}],"files":["single_pass.rs","v1.rs"]}],"files":["floor_planner.rs","layouter.rs"]},{"name":"dev","files":["cost.rs","metadata.rs"]},{"name":"plonk","dirs":[{"name":"lookup","files":["prover.rs","verifier.rs"]},{"name":"permutation","files":["keygen.rs","prover.rs","verifier.rs"]},{"name":"vanishing","files":["prover.rs","verifier.rs"]}],"files":["circuit.rs","keygen.rs","lookup.rs","permutation.rs","prover.rs","vanishing.rs","verifier.rs"]},{"name":"poly","dirs":[{"name":"commitment","files":["msm.rs","prover.rs","verifier.rs"]},{"name":"multiopen","files":["prover.rs","verifier.rs"]}],"files":["commitment.rs","domain.rs","multiopen.rs"]}],"files":["arithmetic.rs","circuit.rs","dev.rs","lib.rs","multicore.rs","plonk.rs","poly.rs","transcript.rs"]};
sourcesIndex["halo2"] = {"name":"","dirs":[{"name":"circuit","dirs":[{"name":"floor_planner","dirs":[{"name":"v1","files":["strategy.rs"]}],"files":["single_pass.rs","v1.rs"]}],"files":["floor_planner.rs","layouter.rs"]},{"name":"dev","files":["metadata.rs"]},{"name":"plonk","dirs":[{"name":"lookup","files":["prover.rs","verifier.rs"]},{"name":"permutation","files":["keygen.rs","prover.rs","verifier.rs"]},{"name":"vanishing","files":["prover.rs","verifier.rs"]}],"files":["circuit.rs","keygen.rs","lookup.rs","permutation.rs","prover.rs","vanishing.rs","verifier.rs"]},{"name":"poly","dirs":[{"name":"commitment","files":["msm.rs","prover.rs","verifier.rs"]},{"name":"multiopen","files":["prover.rs","verifier.rs"]}],"files":["commitment.rs","domain.rs","multiopen.rs"]}],"files":["arithmetic.rs","circuit.rs","dev.rs","lib.rs","multicore.rs","plonk.rs","poly.rs","transcript.rs"]};
createSourceSidebar();

View File

@ -903,9 +903,6 @@
<span id="888">888</span>
<span id="889">889</span>
<span id="890">890</span>
<span id="891">891</span>
<span id="892">892</span>
<span id="893">893</span>
</pre><pre class="rust">
<span class="doccomment">//! Tools for developing circuits.</span>
@ -928,9 +925,6 @@
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">metadata</span>;
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">cost</span>;
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">cost::CircuitCost</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;dev-graph&quot;</span>)]</span>
<span class="kw">mod</span> <span class="ident">graph</span>;

View File

@ -1,448 +0,0 @@
<!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="Source of the Rust file `src&#x2F;dev&#x2F;cost.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>cost.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><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>
<style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../halo2/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input"name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span id="4"> 4</span>
<span id="5"> 5</span>
<span id="6"> 6</span>
<span id="7"> 7</span>
<span id="8"> 8</span>
<span id="9"> 9</span>
<span id="10"> 10</span>
<span id="11"> 11</span>
<span id="12"> 12</span>
<span id="13"> 13</span>
<span id="14"> 14</span>
<span id="15"> 15</span>
<span id="16"> 16</span>
<span id="17"> 17</span>
<span id="18"> 18</span>
<span id="19"> 19</span>
<span id="20"> 20</span>
<span id="21"> 21</span>
<span id="22"> 22</span>
<span id="23"> 23</span>
<span id="24"> 24</span>
<span id="25"> 25</span>
<span id="26"> 26</span>
<span id="27"> 27</span>
<span id="28"> 28</span>
<span id="29"> 29</span>
<span id="30"> 30</span>
<span id="31"> 31</span>
<span id="32"> 32</span>
<span id="33"> 33</span>
<span id="34"> 34</span>
<span id="35"> 35</span>
<span id="36"> 36</span>
<span id="37"> 37</span>
<span id="38"> 38</span>
<span id="39"> 39</span>
<span id="40"> 40</span>
<span id="41"> 41</span>
<span id="42"> 42</span>
<span id="43"> 43</span>
<span id="44"> 44</span>
<span id="45"> 45</span>
<span id="46"> 46</span>
<span id="47"> 47</span>
<span id="48"> 48</span>
<span id="49"> 49</span>
<span id="50"> 50</span>
<span id="51"> 51</span>
<span id="52"> 52</span>
<span id="53"> 53</span>
<span id="54"> 54</span>
<span id="55"> 55</span>
<span id="56"> 56</span>
<span id="57"> 57</span>
<span id="58"> 58</span>
<span id="59"> 59</span>
<span id="60"> 60</span>
<span id="61"> 61</span>
<span id="62"> 62</span>
<span id="63"> 63</span>
<span id="64"> 64</span>
<span id="65"> 65</span>
<span id="66"> 66</span>
<span id="67"> 67</span>
<span id="68"> 68</span>
<span id="69"> 69</span>
<span id="70"> 70</span>
<span id="71"> 71</span>
<span id="72"> 72</span>
<span id="73"> 73</span>
<span id="74"> 74</span>
<span id="75"> 75</span>
<span id="76"> 76</span>
<span id="77"> 77</span>
<span id="78"> 78</span>
<span id="79"> 79</span>
<span id="80"> 80</span>
<span id="81"> 81</span>
<span id="82"> 82</span>
<span id="83"> 83</span>
<span id="84"> 84</span>
<span id="85"> 85</span>
<span id="86"> 86</span>
<span id="87"> 87</span>
<span id="88"> 88</span>
<span id="89"> 89</span>
<span id="90"> 90</span>
<span id="91"> 91</span>
<span id="92"> 92</span>
<span id="93"> 93</span>
<span id="94"> 94</span>
<span id="95"> 95</span>
<span id="96"> 96</span>
<span id="97"> 97</span>
<span id="98"> 98</span>
<span id="99"> 99</span>
<span id="100">100</span>
<span id="101">101</span>
<span id="102">102</span>
<span id="103">103</span>
<span id="104">104</span>
<span id="105">105</span>
<span id="106">106</span>
<span id="107">107</span>
<span id="108">108</span>
<span id="109">109</span>
<span id="110">110</span>
<span id="111">111</span>
<span id="112">112</span>
<span id="113">113</span>
<span id="114">114</span>
<span id="115">115</span>
<span id="116">116</span>
<span id="117">117</span>
<span id="118">118</span>
<span id="119">119</span>
<span id="120">120</span>
<span id="121">121</span>
<span id="122">122</span>
<span id="123">123</span>
<span id="124">124</span>
<span id="125">125</span>
<span id="126">126</span>
<span id="127">127</span>
<span id="128">128</span>
<span id="129">129</span>
<span id="130">130</span>
<span id="131">131</span>
<span id="132">132</span>
<span id="133">133</span>
<span id="134">134</span>
<span id="135">135</span>
<span id="136">136</span>
<span id="137">137</span>
<span id="138">138</span>
<span id="139">139</span>
<span id="140">140</span>
<span id="141">141</span>
<span id="142">142</span>
<span id="143">143</span>
<span id="144">144</span>
<span id="145">145</span>
<span id="146">146</span>
<span id="147">147</span>
<span id="148">148</span>
<span id="149">149</span>
<span id="150">150</span>
<span id="151">151</span>
<span id="152">152</span>
<span id="153">153</span>
<span id="154">154</span>
<span id="155">155</span>
<span id="156">156</span>
<span id="157">157</span>
<span id="158">158</span>
<span id="159">159</span>
<span id="160">160</span>
<span id="161">161</span>
<span id="162">162</span>
<span id="163">163</span>
<span id="164">164</span>
<span id="165">165</span>
<span id="166">166</span>
<span id="167">167</span>
<span id="168">168</span>
<span id="169">169</span>
<span id="170">170</span>
<span id="171">171</span>
<span id="172">172</span>
<span id="173">173</span>
<span id="174">174</span>
<span id="175">175</span>
<span id="176">176</span>
<span id="177">177</span>
<span id="178">178</span>
<span id="179">179</span>
<span id="180">180</span>
<span id="181">181</span>
<span id="182">182</span>
<span id="183">183</span>
<span id="184">184</span>
<span id="185">185</span>
<span id="186">186</span>
<span id="187">187</span>
<span id="188">188</span>
<span id="189">189</span>
<span id="190">190</span>
<span id="191">191</span>
<span id="192">192</span>
<span id="193">193</span>
<span id="194">194</span>
<span id="195">195</span>
<span id="196">196</span>
<span id="197">197</span>
<span id="198">198</span>
<span id="199">199</span>
<span id="200">200</span>
<span id="201">201</span>
<span id="202">202</span>
<span id="203">203</span>
<span id="204">204</span>
<span id="205">205</span>
<span id="206">206</span>
<span id="207">207</span>
<span id="208">208</span>
<span id="209">209</span>
<span id="210">210</span>
<span id="211">211</span>
<span id="212">212</span>
<span id="213">213</span>
<span id="214">214</span>
</pre><pre class="rust">
<span class="doccomment">//! Developer tools for investigating the cost of a circuit.</span>
<span class="kw">use</span> <span class="ident">std</span>::{
<span class="ident">collections</span>::{<span class="ident">HashMap</span>, <span class="ident">HashSet</span>},
<span class="ident">iter</span>,
<span class="ident">marker::PhantomData</span>,
};
<span class="kw">use</span> <span class="ident">ff::PrimeField</span>;
<span class="kw">use</span> <span class="ident">group::prime::PrimeGroup</span>;
<span class="kw">use</span> <span class="kw">crate</span>::{
<span class="ident">plonk</span>::{<span class="ident">Any</span>, <span class="ident">Circuit</span>, <span class="ident">Column</span>, <span class="ident">ConstraintSystem</span>},
<span class="ident">poly::Rotation</span>,
};
<span class="doccomment">/// Measures a circuit to determine its costs, and explain what contributes to them.</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">CircuitCost</span><span class="op">&lt;</span><span class="ident">G</span>: <span class="ident">PrimeGroup</span>, <span class="ident">ConcreteCircuit</span>: <span class="ident">Circuit</span><span class="op">&lt;</span><span class="ident">G::Scalar</span><span class="op">&gt;</span><span class="op">&gt;</span> {
<span class="doccomment">/// Power-of-2 bound on the number of rows in the circuit.</span>
<span class="ident">k</span>: <span class="ident">usize</span>,
<span class="doccomment">/// Maximum degree of the circuit.</span>
<span class="ident">max_deg</span>: <span class="ident">usize</span>,
<span class="doccomment">/// Number of advice columns.</span>
<span class="ident">advice_columns</span>: <span class="ident">usize</span>,
<span class="doccomment">/// Number of direct queries for each column type.</span>
<span class="ident">instance_queries</span>: <span class="ident">usize</span>,
<span class="ident">advice_queries</span>: <span class="ident">usize</span>,
<span class="ident">fixed_queries</span>: <span class="ident">usize</span>,
<span class="doccomment">/// Number of lookup arguments.</span>
<span class="ident">lookups</span>: <span class="ident">usize</span>,
<span class="doccomment">/// Number of columns in the global permutation.</span>
<span class="ident">permutation_cols</span>: <span class="ident">usize</span>,
<span class="doccomment">/// Number of distinct sets of points in the multiopening argument.</span>
<span class="ident">point_sets</span>: <span class="ident">usize</span>,
<span class="ident">_marker</span>: <span class="ident">PhantomData</span><span class="op">&lt;</span>(<span class="ident">G</span>, <span class="ident">ConcreteCircuit</span>)<span class="op">&gt;</span>,
}
<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">G</span>: <span class="ident">PrimeGroup</span>, <span class="ident">ConcreteCircuit</span>: <span class="ident">Circuit</span><span class="op">&lt;</span><span class="ident">G::Scalar</span><span class="op">&gt;</span><span class="op">&gt;</span> <span class="ident">CircuitCost</span><span class="op">&lt;</span><span class="ident">G</span>, <span class="ident">ConcreteCircuit</span><span class="op">&gt;</span> {
<span class="doccomment">/// Measures a circuit with parameter constant `k`.</span>
<span class="doccomment">///</span>
<span class="doccomment">/// Panics if `k` is not large enough for the circuit.</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">measure</span>(<span class="ident">k</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="self">Self</span> {
<span class="comment">// Collect the layout details.</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cs</span> <span class="op">=</span> <span class="ident">ConstraintSystem::default</span>();
<span class="kw">let</span> <span class="kw">_</span> <span class="op">=</span> <span class="ident">ConcreteCircuit::configure</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">cs</span>);
<span class="macro">assert!</span>((<span class="number">1</span> <span class="op">&lt;</span><span class="op">&lt;</span> <span class="ident">k</span>) <span class="op">&gt;</span><span class="op">=</span> <span class="ident">cs</span>.<span class="ident">minimum_rows</span>());
<span class="comment">// Figure out how many point sets we have due to queried cells.</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">column_queries</span>: <span class="ident">HashMap</span><span class="op">&lt;</span><span class="ident">Column</span><span class="op">&lt;</span><span class="ident">Any</span><span class="op">&gt;</span>, <span class="ident">HashSet</span><span class="op">&lt;</span><span class="ident">i32</span><span class="op">&gt;</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">HashMap::new</span>();
<span class="kw">for</span> (<span class="ident">c</span>, <span class="ident">r</span>) <span class="kw">in</span> <span class="ident">iter::empty</span>()
.<span class="ident">chain</span>(
<span class="ident">cs</span>.<span class="ident">advice_queries</span>
.<span class="ident">iter</span>()
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">c</span>, <span class="ident">r</span>)<span class="op">|</span> (<span class="ident">Column</span>::<span class="op">&lt;</span><span class="ident">Any</span><span class="op">&gt;</span><span class="ident">::from</span>(<span class="kw-2">*</span><span class="ident">c</span>), <span class="kw-2">*</span><span class="ident">r</span>)),
)
.<span class="ident">chain</span>(<span class="ident">cs</span>.<span class="ident">instance_queries</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">c</span>, <span class="ident">r</span>)<span class="op">|</span> ((<span class="kw-2">*</span><span class="ident">c</span>).<span class="ident">into</span>(), <span class="kw-2">*</span><span class="ident">r</span>)))
.<span class="ident">chain</span>(<span class="ident">cs</span>.<span class="ident">fixed_queries</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">c</span>, <span class="ident">r</span>)<span class="op">|</span> ((<span class="kw-2">*</span><span class="ident">c</span>).<span class="ident">into</span>(), <span class="kw-2">*</span><span class="ident">r</span>)))
.<span class="ident">chain</span>(
<span class="ident">cs</span>.<span class="ident">permutation</span>
.<span class="ident">get_columns</span>()
.<span class="ident">into_iter</span>()
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> (<span class="ident">c</span>, <span class="ident">Rotation::cur</span>())),
)
{
<span class="ident">column_queries</span>.<span class="ident">entry</span>(<span class="ident">c</span>).<span class="ident">or_default</span>().<span class="ident">insert</span>(<span class="ident">r</span>.<span class="number">0</span>);
}
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">point_sets</span>: <span class="ident">HashSet</span><span class="op">&lt;</span><span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">i32</span><span class="op">&gt;</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">HashSet::new</span>();
<span class="kw">for</span> (<span class="kw">_</span>, <span class="ident">r</span>) <span class="kw">in</span> <span class="ident">column_queries</span> {
<span class="comment">// Sort the query sets so we merge duplicates.</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">query_set</span>: <span class="ident">Vec</span><span class="op">&lt;</span><span class="kw">_</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">r</span>.<span class="ident">into_iter</span>().<span class="ident">collect</span>();
<span class="ident">query_set</span>.<span class="ident">sort_unstable</span>();
<span class="ident">point_sets</span>.<span class="ident">insert</span>(<span class="ident">query_set</span>);
}
<span class="comment">// Include lookup polynomials in point sets:</span>
<span class="ident">point_sets</span>.<span class="ident">insert</span>(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">1</span>]); <span class="comment">// product_poly</span>
<span class="ident">point_sets</span>.<span class="ident">insert</span>(<span class="macro">vec!</span>[<span class="op">-</span><span class="number">1</span>, <span class="number">0</span>]); <span class="comment">// permuted_input_poly</span>
<span class="ident">point_sets</span>.<span class="ident">insert</span>(<span class="macro">vec!</span>[<span class="number">0</span>]); <span class="comment">// permuted_table_poly</span>
<span class="comment">// Include permutation polynomials in point sets.</span>
<span class="ident">point_sets</span>.<span class="ident">insert</span>(<span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">1</span>]); <span class="comment">// permutation_product_poly</span>
<span class="kw">let</span> <span class="ident">max_deg</span> <span class="op">=</span> <span class="ident">cs</span>.<span class="ident">degree</span>();
<span class="kw">let</span> <span class="ident">permutation_cols</span> <span class="op">=</span> <span class="ident">cs</span>.<span class="ident">permutation</span>.<span class="ident">get_columns</span>().<span class="ident">len</span>();
<span class="kw">if</span> <span class="ident">permutation_cols</span> <span class="op">&gt;</span> <span class="ident">max_deg</span> <span class="op">-</span> <span class="number">2</span> {
<span class="comment">// permutation_product_poly for chaining chunks.</span>
<span class="ident">point_sets</span>.<span class="ident">insert</span>(<span class="macro">vec!</span>[<span class="op">-</span>((<span class="ident">cs</span>.<span class="ident">blinding_factors</span>() <span class="op">+</span> <span class="number">1</span>) <span class="kw">as</span> <span class="ident">i32</span>), <span class="number">0</span>, <span class="number">1</span>]);
}
<span class="ident">CircuitCost</span> {
<span class="ident">k</span>,
<span class="ident">max_deg</span>,
<span class="ident">advice_columns</span>: <span class="ident">cs</span>.<span class="ident">num_advice_columns</span>,
<span class="ident">instance_queries</span>: <span class="ident">cs</span>.<span class="ident">instance_queries</span>.<span class="ident">len</span>(),
<span class="ident">advice_queries</span>: <span class="ident">cs</span>.<span class="ident">advice_queries</span>.<span class="ident">len</span>(),
<span class="ident">fixed_queries</span>: <span class="ident">cs</span>.<span class="ident">fixed_queries</span>.<span class="ident">len</span>(),
<span class="ident">lookups</span>: <span class="ident">cs</span>.<span class="ident">lookups</span>.<span class="ident">len</span>(),
<span class="ident">permutation_cols</span>,
<span class="ident">point_sets</span>: <span class="ident">point_sets</span>.<span class="ident">len</span>(),
<span class="ident">_marker</span>: <span class="ident">PhantomData::default</span>(),
}
}
<span class="kw">fn</span> <span class="ident">permutation_chunks</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">usize</span> {
<span class="kw">let</span> <span class="ident">chunk_size</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">max_deg</span> <span class="op">-</span> <span class="number">2</span>;
(<span class="self">self</span>.<span class="ident">permutation_cols</span> <span class="op">+</span> <span class="ident">chunk_size</span> <span class="op">-</span> <span class="number">1</span>) <span class="op">/</span> <span class="ident">chunk_size</span>
}
<span class="doccomment">/// Returns the proof size for the given number of instances of this circuit.</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">proof_size</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">instances</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">ProofSize</span><span class="op">&lt;</span><span class="ident">G</span><span class="op">&gt;</span> {
<span class="kw">let</span> <span class="ident">chunks</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">permutation_chunks</span>();
<span class="ident">ProofSize</span> {
<span class="comment">// Cells:</span>
<span class="comment">// - 1 commitment per advice column per instance</span>
<span class="comment">// - 1 eval per instance column query per instance</span>
<span class="comment">// - 1 eval per advice column query per instance</span>
<span class="comment">// - 1 eval per fixed column query</span>
<span class="ident">instance</span>: <span class="ident">ProofContribution::new</span>(<span class="number">0</span>, <span class="self">self</span>.<span class="ident">instance_queries</span> <span class="op">*</span> <span class="ident">instances</span>),
<span class="ident">advice</span>: <span class="ident">ProofContribution::new</span>(
<span class="self">self</span>.<span class="ident">advice_columns</span> <span class="op">*</span> <span class="ident">instances</span>,
<span class="self">self</span>.<span class="ident">advice_queries</span> <span class="op">*</span> <span class="ident">instances</span>,
),
<span class="ident">fixed</span>: <span class="ident">ProofContribution::new</span>(<span class="number">0</span>, <span class="self">self</span>.<span class="ident">fixed_queries</span>),
<span class="comment">// Lookup arguments:</span>
<span class="comment">// - 3 commitments per lookup argument per instance</span>
<span class="comment">// - 5 evals per lookup argument per instance</span>
<span class="ident">lookups</span>: <span class="ident">ProofContribution::new</span>(
<span class="number">3</span> <span class="op">*</span> <span class="self">self</span>.<span class="ident">lookups</span> <span class="op">*</span> <span class="ident">instances</span>,
<span class="number">5</span> <span class="op">*</span> <span class="self">self</span>.<span class="ident">lookups</span> <span class="op">*</span> <span class="ident">instances</span>,
),
<span class="comment">// Global permutation argument:</span>
<span class="comment">// - chunks commitments per instance</span>
<span class="comment">// - 2*chunks + (chunks - 1) evals per instance</span>
<span class="comment">// - 1 eval per column</span>
<span class="ident">equality</span>: <span class="ident">ProofContribution::new</span>(
<span class="ident">chunks</span> <span class="op">*</span> <span class="ident">instances</span>,
(<span class="number">3</span> <span class="op">*</span> <span class="ident">chunks</span> <span class="op">-</span> <span class="number">1</span>) <span class="op">*</span> <span class="ident">instances</span> <span class="op">+</span> <span class="self">self</span>.<span class="ident">permutation_cols</span>,
),
<span class="comment">// Vanishing argument:</span>
<span class="comment">// - 1 + (max_deg - 1) commitments</span>
<span class="comment">// - 1 random_poly eval</span>
<span class="ident">vanishing</span>: <span class="ident">ProofContribution::new</span>(<span class="self">self</span>.<span class="ident">max_deg</span>, <span class="number">1</span>),
<span class="comment">// Multiopening argument:</span>
<span class="comment">// - f_commitment</span>
<span class="comment">// - 1 eval per set of points in multiopen argument</span>
<span class="ident">multiopen</span>: <span class="ident">ProofContribution::new</span>(<span class="number">1</span>, <span class="self">self</span>.<span class="ident">point_sets</span>),
<span class="comment">// Polycommit:</span>
<span class="comment">// - s_poly commitment</span>
<span class="comment">// - inner product argument (2 * k round commitments)</span>
<span class="comment">// - a</span>
<span class="comment">// - xi</span>
<span class="ident">polycomm</span>: <span class="ident">ProofContribution::new</span>(<span class="number">1</span> <span class="op">+</span> <span class="number">2</span> <span class="op">*</span> <span class="self">self</span>.<span class="ident">k</span>, <span class="number">2</span>),
<span class="ident">_marker</span>: <span class="ident">PhantomData::default</span>(),
}
}
}
<span class="doccomment">/// (commitments, evaluations)</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="kw">struct</span> <span class="ident">ProofContribution</span> {
<span class="ident">commitments</span>: <span class="ident">usize</span>,
<span class="ident">evaluations</span>: <span class="ident">usize</span>,
}
<span class="kw">impl</span> <span class="ident">ProofContribution</span> {
<span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">commitments</span>: <span class="ident">usize</span>, <span class="ident">evaluations</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="self">Self</span> {
<span class="ident">ProofContribution</span> {
<span class="ident">commitments</span>,
<span class="ident">evaluations</span>,
}
}
<span class="kw">fn</span> <span class="ident">len</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">point</span>: <span class="ident">usize</span>, <span class="ident">scalar</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">usize</span> {
<span class="self">self</span>.<span class="ident">commitments</span> <span class="op">*</span> <span class="ident">point</span> <span class="op">+</span> <span class="self">self</span>.<span class="ident">evaluations</span> <span class="op">*</span> <span class="ident">scalar</span>
}
}
<span class="doccomment">/// The size of a Halo 2 proof, broken down into its contributing factors.</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">ProofSize</span><span class="op">&lt;</span><span class="ident">G</span>: <span class="ident">PrimeGroup</span><span class="op">&gt;</span> {
<span class="ident">instance</span>: <span class="ident">ProofContribution</span>,
<span class="ident">advice</span>: <span class="ident">ProofContribution</span>,
<span class="ident">fixed</span>: <span class="ident">ProofContribution</span>,
<span class="ident">lookups</span>: <span class="ident">ProofContribution</span>,
<span class="ident">equality</span>: <span class="ident">ProofContribution</span>,
<span class="ident">vanishing</span>: <span class="ident">ProofContribution</span>,
<span class="ident">multiopen</span>: <span class="ident">ProofContribution</span>,
<span class="ident">polycomm</span>: <span class="ident">ProofContribution</span>,
<span class="ident">_marker</span>: <span class="ident">PhantomData</span><span class="op">&lt;</span><span class="ident">G</span><span class="op">&gt;</span>,
}
<span class="kw">impl</span><span class="op">&lt;</span><span class="ident">G</span>: <span class="ident">PrimeGroup</span><span class="op">&gt;</span> <span class="ident">From</span><span class="op">&lt;</span><span class="ident">ProofSize</span><span class="op">&lt;</span><span class="ident">G</span><span class="op">&gt;</span><span class="op">&gt;</span> <span class="kw">for</span> <span class="ident">usize</span> {
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">proof</span>: <span class="ident">ProofSize</span><span class="op">&lt;</span><span class="ident">G</span><span class="op">&gt;</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="self">Self</span> {
<span class="kw">let</span> <span class="ident">point</span> <span class="op">=</span> <span class="ident">G::Repr::default</span>().<span class="ident">as_ref</span>().<span class="ident">len</span>();
<span class="kw">let</span> <span class="ident">scalar</span> <span class="op">=</span> <span class="op">&lt;</span><span class="ident">G::Scalar</span> <span class="kw">as</span> <span class="ident">PrimeField</span><span class="op">&gt;</span><span class="ident">::Repr::default</span>().<span class="ident">as_ref</span>().<span class="ident">len</span>();
<span class="ident">proof</span>.<span class="ident">instance</span>.<span class="ident">len</span>(<span class="ident">point</span>, <span class="ident">scalar</span>)
<span class="op">+</span> <span class="ident">proof</span>.<span class="ident">advice</span>.<span class="ident">len</span>(<span class="ident">point</span>, <span class="ident">scalar</span>)
<span class="op">+</span> <span class="ident">proof</span>.<span class="ident">fixed</span>.<span class="ident">len</span>(<span class="ident">point</span>, <span class="ident">scalar</span>)
<span class="op">+</span> <span class="ident">proof</span>.<span class="ident">lookups</span>.<span class="ident">len</span>(<span class="ident">point</span>, <span class="ident">scalar</span>)
<span class="op">+</span> <span class="ident">proof</span>.<span class="ident">equality</span>.<span class="ident">len</span>(<span class="ident">point</span>, <span class="ident">scalar</span>)
<span class="op">+</span> <span class="ident">proof</span>.<span class="ident">vanishing</span>.<span class="ident">len</span>(<span class="ident">point</span>, <span class="ident">scalar</span>)
<span class="op">+</span> <span class="ident">proof</span>.<span class="ident">multiopen</span>.<span class="ident">len</span>(<span class="ident">point</span>, <span class="ident">scalar</span>)
<span class="op">+</span> <span class="ident">proof</span>.<span class="ident">polycomm</span>.<span class="ident">len</span>(<span class="ident">point</span>, <span class="ident">scalar</span>)
}
}
</pre></div>
</section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="halo2" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script><script src="../../../source-script.js"></script><script src="../../../source-files.js"></script>
</body></html>

View File

@ -1314,16 +1314,16 @@
<span class="comment">// orderings.</span>
<span class="kw">match</span> (<span class="self">self</span>.<span class="ident">column_type</span>.<span class="ident">into</span>(), <span class="ident">other</span>.<span class="ident">column_type</span>.<span class="ident">into</span>()) {
<span class="comment">// Indices are assigned within column types.</span>
(<span class="ident">Any::Instance</span>, <span class="ident">Any::Instance</span>)
<span class="op">|</span> (<span class="ident">Any::Advice</span>, <span class="ident">Any::Advice</span>)
(<span class="ident">Any::Advice</span>, <span class="ident">Any::Advice</span>)
<span class="op">|</span> (<span class="ident">Any::Instance</span>, <span class="ident">Any::Instance</span>)
<span class="op">|</span> (<span class="ident">Any::Fixed</span>, <span class="ident">Any::Fixed</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="self">self</span>.<span class="ident">index</span>.<span class="ident">cmp</span>(<span class="kw-2">&amp;</span><span class="ident">other</span>.<span class="ident">index</span>),
<span class="comment">// Across column types, sort Instance &lt; Advice &lt; Fixed.</span>
(<span class="ident">Any::Instance</span>, <span class="ident">Any::Advice</span>)
<span class="comment">// Across column types, sort Advice &lt; Instance &lt; Fixed.</span>
(<span class="ident">Any::Advice</span>, <span class="ident">Any::Instance</span>)
<span class="op">|</span> (<span class="ident">Any::Advice</span>, <span class="ident">Any::Fixed</span>)
<span class="op">|</span> (<span class="ident">Any::Instance</span>, <span class="ident">Any::Fixed</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="ident">std::cmp::Ordering::Less</span>,
(<span class="ident">Any::Fixed</span>, <span class="ident">Any::Instance</span>)
<span class="op">|</span> (<span class="ident">Any::Fixed</span>, <span class="ident">Any::Advice</span>)
<span class="op">|</span> (<span class="ident">Any::Advice</span>, <span class="ident">Any::Instance</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="ident">std::cmp::Ordering::Greater</span>,
<span class="op">|</span> (<span class="ident">Any::Instance</span>, <span class="ident">Any::Advice</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="ident">std::cmp::Ordering::Greater</span>,
}
}
}