Piping just the vertex glyph representation first to test the stencil buffer

This commit is contained in:
2020-02-22 00:07:58 -08:00
parent bb8144bb01
commit b3e092e25a
70 changed files with 906 additions and 369 deletions

View File

@@ -10,7 +10,7 @@
}</pre></div><div class='docblock'><p>VKProcessor holds the vulkan instance information, the swapchain,
and the compute and canvas states</p>
</div><h2 id='fields' class='fields small-section-header'>
Fields<a href='#fields' class='anchor'></a></h2><span id="structfield.instance" class="structfield small-section-header"><a href="#structfield.instance" class="anchor field"></a><code id="instance.v">instance: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Instance&gt;</code></span><span id="structfield.physical" class="structfield small-section-header"><a href="#structfield.physical" class="anchor field"></a><code id="physical.v">physical: PhysicalDevice&lt;'a&gt;</code></span><span id="structfield.device" class="structfield small-section-header"><a href="#structfield.device" class="anchor field"></a><code id="device.v">device: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Device&gt;</code></span><span id="structfield.queues" class="structfield small-section-header"><a href="#structfield.queues" class="anchor field"></a><code id="queues.v">queues: QueuesIter</code></span><span id="structfield.queue" class="structfield small-section-header"><a href="#structfield.queue" class="anchor field"></a><code id="queue.v">queue: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Queue&gt;</code></span><span id="structfield.swapchain" class="structfield small-section-header"><a href="#structfield.swapchain" class="anchor field"></a><code id="swapchain.v">swapchain: <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/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Swapchain&lt;Window&gt;&gt;&gt;</code></span><span id="structfield.swapchain_images" class="structfield small-section-header"><a href="#structfield.swapchain_images" class="anchor field"></a><code id="swapchain_images.v">swapchain_images: <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/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;SwapchainImage&lt;Window&gt;&gt;&gt;&gt;</code></span><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl&lt;'a&gt; <a class="struct" href="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#51-322' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code id='new.v'>pub fn <a href='#method.new' class='fnname'>new</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;instance: &amp;'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Instance&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;surface: &amp;'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Surface&lt;Window&gt;&gt;<br>) -&gt; <a class="struct" href="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#55-89' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a new VkProcessor from an instance and surface
Fields<a href='#fields' class='anchor'></a></h2><span id="structfield.instance" class="structfield small-section-header"><a href="#structfield.instance" class="anchor field"></a><code id="instance.v">instance: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Instance&gt;</code></span><span id="structfield.physical" class="structfield small-section-header"><a href="#structfield.physical" class="anchor field"></a><code id="physical.v">physical: PhysicalDevice&lt;'a&gt;</code></span><span id="structfield.device" class="structfield small-section-header"><a href="#structfield.device" class="anchor field"></a><code id="device.v">device: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Device&gt;</code></span><span id="structfield.queues" class="structfield small-section-header"><a href="#structfield.queues" class="anchor field"></a><code id="queues.v">queues: QueuesIter</code></span><span id="structfield.queue" class="structfield small-section-header"><a href="#structfield.queue" class="anchor field"></a><code id="queue.v">queue: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Queue&gt;</code></span><span id="structfield.swapchain" class="structfield small-section-header"><a href="#structfield.swapchain" class="anchor field"></a><code id="swapchain.v">swapchain: <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/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Swapchain&lt;Window&gt;&gt;&gt;</code></span><span id="structfield.swapchain_images" class="structfield small-section-header"><a href="#structfield.swapchain_images" class="anchor field"></a><code id="swapchain_images.v">swapchain_images: <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/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;SwapchainImage&lt;Window&gt;&gt;&gt;&gt;</code></span><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl&lt;'a&gt; <a class="struct" href="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#51-321' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code id='new.v'>pub fn <a href='#method.new' class='fnname'>new</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;instance: &amp;'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Instance&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;surface: &amp;'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Surface&lt;Window&gt;&gt;<br>) -&gt; <a class="struct" href="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#55-89' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a new VkProcessor from an instance and surface
This includes the physical device, queues, compute and canvas state</p>
</div><h4 id='method.is_open' class="method"><code id='is_open.v'>pub fn <a href='#method.is_open' class='fnname'>is_open</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#92-95' title='goto source code'>[src]</a></h4><div class='docblock'><p>VKProcessor controls the window. So it will let the main loop know when it is done</p>
</div><h4 id='method.create_swapchain' class="method"><code id='create_swapchain.v'>pub fn <a href='#method.create_swapchain' class='fnname'>create_swapchain</a>(&amp;mut self, surface: &amp;'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Surface&lt;Window&gt;&gt;)</code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#98-131' title='goto source code'>[src]</a></h4><div class='docblock'><p>Using the surface, we calculate the surface capabilities and create the swapchain and swapchain images</p>
@@ -26,7 +26,8 @@ This includes the physical device, queues, compute and canvas state</p>
</div><h4 id='method.new_compute_buffer' class="method"><code id='new_compute_buffer.v'>pub fn <a href='#method.new_compute_buffer' class='fnname'>new_compute_buffer</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;data: <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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;dimensions: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;stride: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../sfml_rust/compute/managed/handles/struct.CompuBufferHandle.html" title="struct sfml_rust::compute::managed::handles::CompuBufferHandle">CompuBufferHandle</a>&gt;</code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#211-213' title='goto source code'>[src]</a></h4><div class='docblock'><p>Builds a compute buffer and returns it's handle</p>
</div><h4 id='method.read_compute_buffer' class="method"><code id='read_compute_buffer.v'>pub fn <a href='#method.read_compute_buffer' class='fnname'>read_compute_buffer</a>(&amp;mut self, handle: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../sfml_rust/compute/managed/handles/struct.CompuBufferHandle.html" title="struct sfml_rust::compute::managed::handles::CompuBufferHandle">CompuBufferHandle</a>&gt;) -&gt; <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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;</code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#216-218' title='goto source code'>[src]</a></h4><div class='docblock'><p>Takes a compute buffer handle and returns the read data</p>
</div><h4 id='method.write_compute_buffer' class="method"><code id='write_compute_buffer.v'>pub fn <a href='#method.write_compute_buffer' class='fnname'>write_compute_buffer</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;handle: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../sfml_rust/compute/managed/handles/struct.CompuBufferHandle.html" title="struct sfml_rust::compute::managed::handles::CompuBufferHandle">CompuBufferHandle</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;data: <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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;<br>)</code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#221-223' title='goto source code'>[src]</a></h4><div class='docblock'><p>Takes a compute buffer handle and writes the received data</p>
</div><h4 id='method.run' class="method"><code id='run.v'>pub fn <a href='#method.run' class='fnname'>run</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;surface: &amp;'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Surface&lt;Window&gt;&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;canvas_frame: <a class="struct" href="../../sfml_rust/canvas/canvas_frame/struct.CanvasFrame.html" title="struct sfml_rust::canvas::canvas_frame::CanvasFrame">CanvasFrame</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;compute_frame: <a class="struct" href="../../sfml_rust/compute/compu_frame/struct.CompuFrame.html" title="struct sfml_rust::compute::compu_frame::CompuFrame">CompuFrame</a><br>)</code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#226-321' title='goto source code'>[src]</a></h4><div class='docblock'></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'><h3 id='impl-Send' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></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'><h3 id='impl-Into%3CU%3E' class='impl'><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><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#544-549' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#546-548' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div><h4 id='method.run' class="method"><code id='run.v'>pub fn <a href='#method.run' class='fnname'>run</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;surface: &amp;'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Surface&lt;Window&gt;&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;canvas_frame: <a class="struct" href="../../sfml_rust/canvas/canvas_frame/struct.CanvasFrame.html" title="struct sfml_rust::canvas::canvas_frame::CanvasFrame">CanvasFrame</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;compute_frame: <a class="struct" href="../../sfml_rust/compute/compu_frame/struct.CompuFrame.html" title="struct sfml_rust::compute::compu_frame::CompuFrame">CompuFrame</a><br>)</code><a class='srclink' href='../../src/sfml_rust/vkprocessor.rs.html#226-320' title='goto source code'>[src]</a></h4><div class='docblock'><p>Run the VKprocessor for a single frame, consuming the Canvas/Compu Frames</p>
</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'><h3 id='impl-Send' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl&lt;'a&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="../../sfml_rust/vkprocessor/struct.VkProcessor.html" title="struct sfml_rust::vkprocessor::VkProcessor">VkProcessor</a>&lt;'a&gt;</code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></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'><h3 id='impl-Into%3CU%3E' class='impl'><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><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#544-549' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#546-548' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><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><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553-555' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>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><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#554' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><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><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#572-578' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>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></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>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><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#575-577' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>