rtic/2/api/nrf52840_pac/struct.NVIC.html
2024-12-06 13:35:18 +00:00

49 lines
No EOL
32 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Nested Vector Interrupt Controller"><title>NVIC in nrf52840_pac - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="nrf52840_pac" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../nrf52840_pac/index.html">nrf52840_<wbr>pac</a><span class="version">0.12.2</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">NVIC</a></h2><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.PTR" title="PTR">PTR</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.get_priority" title="get_priority">get_priority</a></li><li><a href="#method.is_active" title="is_active">is_active</a></li><li><a href="#method.is_enabled" title="is_enabled">is_enabled</a></li><li><a href="#method.is_pending" title="is_pending">is_pending</a></li><li><a href="#method.mask" title="mask">mask</a></li><li><a href="#method.pend" title="pend">pend</a></li><li><a href="#method.ptr" title="ptr">ptr</a></li><li><a href="#method.request" title="request">request</a></li><li><a href="#method.set_priority" title="set_priority">set_priority</a></li><li><a href="#method.unmask" title="unmask">unmask</a></li><li><a href="#method.unpend" title="unpend">unpend</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Deref-for-NVIC" title="Deref">Deref</a></li><li><a href="#impl-Send-for-NVIC" title="Send">Send</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Sync-for-NVIC" title="!Sync">!Sync</a></li><li><a href="#impl-Freeze-for-NVIC" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-NVIC" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-NVIC" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-NVIC" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate nrf52840_<wbr>pac</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">nrf52840_pac</a></span><h1>Struct <span class="struct">NVIC</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/cortex_m/peripheral/mod.rs.html#544">source</a> </span></div><pre class="rust item-decl"><code>pub struct NVIC { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Nested Vector Interrupt Controller</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-NVIC" class="impl"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#77">source</a><a href="#impl-NVIC" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.request" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#89-91">source</a><h4 class="code-header">pub fn <a href="#method.request" class="fn">request</a>&lt;I&gt;(&amp;mut self, interrupt: I)<div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Request an IRQ in software</p>
<p>Writing a value to the INTID field is the same as manually pending an interrupt by setting
the corresponding interrupt bit in an Interrupt Set Pending Register. This is similar to
<a href="#method.pend"><code>NVIC::pend</code></a>.</p>
<p>This method is not available on ARMv6-M chips.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.mask" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#102-104">source</a><h4 class="code-header">pub fn <a href="#method.mask" class="fn">mask</a>&lt;I&gt;(interrupt: I)<div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Disables <code>interrupt</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.unmask" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#115-117">source</a><h4 class="code-header">pub unsafe fn <a href="#method.unmask" class="fn">unmask</a>&lt;I&gt;(interrupt: I)<div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Enables <code>interrupt</code></p>
<p>This function is <code>unsafe</code> because it can break mask-based critical sections</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_priority" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#130-132">source</a><h4 class="code-header">pub fn <a href="#method.get_priority" class="fn">get_priority</a>&lt;I&gt;(interrupt: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.u8.html">u8</a><div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Returns the NVIC priority of <code>interrupt</code></p>
<p><em>NOTE</em> NVIC encodes priority in the highest bits of a byte so values like <code>1</code> and <code>2</code> map
to the same priority. Also for NVIC priorities, a lower value (e.g. <code>16</code>) has higher
priority (urgency) than a larger value (e.g. <code>32</code>).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_active" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#153-155">source</a><h4 class="code-header">pub fn <a href="#method.is_active" class="fn">is_active</a>&lt;I&gt;(interrupt: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Is <code>interrupt</code> active or pre-empted and stacked</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_enabled" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#166-168">source</a><h4 class="code-header">pub fn <a href="#method.is_enabled" class="fn">is_enabled</a>&lt;I&gt;(interrupt: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Checks if <code>interrupt</code> is enabled</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_pending" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#179-181">source</a><h4 class="code-header">pub fn <a href="#method.is_pending" class="fn">is_pending</a>&lt;I&gt;(interrupt: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Checks if <code>interrupt</code> is pending</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.pend" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#192-194">source</a><h4 class="code-header">pub fn <a href="#method.pend" class="fn">pend</a>&lt;I&gt;(interrupt: I)<div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Forces <code>interrupt</code> into pending state</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_priority" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#215-217">source</a><h4 class="code-header">pub unsafe fn <a href="#method.set_priority" class="fn">set_priority</a>&lt;I&gt;(&amp;mut self, interrupt: I, prio: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.u8.html">u8</a>)<div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Sets the “priority” of <code>interrupt</code> to <code>prio</code></p>
<p><em>NOTE</em> See <a href="struct.NVIC.html#method.get_priority"><code>get_priority</code></a> method for an explanation
of how NVIC priorities work.</p>
<p>On ARMv6-M, updating an interrupt priority requires a read-modify-write operation. On
ARMv7-M, the operation is performed in a single atomic write operation.</p>
<h5 id="unsafety"><a class="doc-anchor" href="#unsafety">§</a>Unsafety</h5>
<p>Changing priority levels can break priority-based critical sections (see
<a href="../cortex_m/register/basepri/index.html" title="mod cortex_m::register::basepri"><code>register::basepri</code></a>) and compromise memory safety.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.unpend" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/nvic.rs.html#238-240">source</a><h4 class="code-header">pub fn <a href="#method.unpend" class="fn">unpend</a>&lt;I&gt;(interrupt: I)<div class="where">where
I: <a class="trait" href="../cortex_m/interrupt/trait.InterruptNumber.html" title="trait cortex_m::interrupt::InterruptNumber">InterruptNumber</a>,</div></h4></section></summary><div class="docblock"><p>Clears <code>interrupt</code>s pending state</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-NVIC-1" class="impl"><a class="src rightside" href="../src/cortex_m/peripheral/mod.rs.html#550">source</a><a href="#impl-NVIC-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.PTR" class="associatedconstant"><a class="src rightside" href="../src/cortex_m/peripheral/mod.rs.html#552">source</a><h4 class="code-header">pub const <a href="#associatedconstant.PTR" class="constant">PTR</a>: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.pointer.html">*const </a><a class="struct" href="../cortex_m/peripheral/nvic/struct.RegisterBlock.html" title="struct cortex_m::peripheral::nvic::RegisterBlock">RegisterBlock</a> = {0xe000e100 as *const cortex_m::peripheral::nvic::RegisterBlock}</h4></section></summary><div class="docblock"><p>Pointer to the register block</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ptr" class="method"><a class="src rightside" href="../src/cortex_m/peripheral/mod.rs.html#557">source</a><h4 class="code-header">pub const fn <a href="#method.ptr" class="fn">ptr</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.pointer.html">*const </a><a class="struct" href="../cortex_m/peripheral/nvic/struct.RegisterBlock.html" title="struct cortex_m::peripheral::nvic::RegisterBlock">RegisterBlock</a></h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 0.7.5: Use the associated constant <code>PTR</code> instead</span></div></span></summary><div class="docblock"><p>Returns a pointer to the register block</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-NVIC" class="impl"><a class="src rightside" href="../src/cortex_m/peripheral/mod.rs.html#562">source</a><a href="#impl-Deref-for-NVIC" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a class="src rightside" href="../src/cortex_m/peripheral/mod.rs.html#563">source</a><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = <a class="struct" href="../cortex_m/peripheral/nvic/struct.RegisterBlock.html" title="struct cortex_m::peripheral::nvic::RegisterBlock">RegisterBlock</a></h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../src/cortex_m/peripheral/mod.rs.html#566">source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; &amp;&lt;<a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a> as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><section id="impl-Send-for-NVIC" class="impl"><a class="src rightside" href="../src/cortex_m/peripheral/mod.rs.html#548">source</a><a href="#impl-Send-for-NVIC" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-NVIC" class="impl"><a href="#impl-Freeze-for-NVIC" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section><section id="impl-RefUnwindSafe-for-NVIC" class="impl"><a href="#impl-RefUnwindSafe-for-NVIC" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section><section id="impl-Sync-for-NVIC" class="impl"><a href="#impl-Sync-for-NVIC" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section><section id="impl-Unpin-for-NVIC" class="impl"><a href="#impl-Unpin-for-NVIC" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section><section id="impl-UnwindSafe-for-NVIC" class="impl"><a href="#impl-UnwindSafe-for-NVIC" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.NVIC.html" title="struct nrf52840_pac::NVIC">NVIC</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>