blob: 99e53154737ecc518d800a139be45d267c9a803d [file] [log] [blame] [edit]
<!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="API documentation for the Rust `Rvalue` enum in crate `hir`."><title>Rvalue in hir::mir - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.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-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-84e720fa.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="hir" data-themes="" data-resource-suffix="" data-rustdoc-version="1.89.0 (29483883e 2025-08-04)" data-channel="1.89.0" data-search-js="search-92309212.js" data-settings-js="settings-5514c975.js" ><script src="../../static.files/storage-4e99c027.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-fd3af306.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../hir/index.html">hir</a><span class="version">0.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Rvalue</a></h2><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.AddressOf" title="AddressOf">AddressOf</a></li><li><a href="#variant.Aggregate" title="Aggregate">Aggregate</a></li><li><a href="#variant.BinaryOp" title="BinaryOp">BinaryOp</a></li><li><a href="#variant.Cast" title="Cast">Cast</a></li><li><a href="#variant.CheckedBinaryOp" title="CheckedBinaryOp">CheckedBinaryOp</a></li><li><a href="#variant.CopyForDeref" title="CopyForDeref">CopyForDeref</a></li><li><a href="#variant.Discriminant" title="Discriminant">Discriminant</a></li><li><a href="#variant.Len" title="Len">Len</a></li><li><a href="#variant.NullaryOp" title="NullaryOp">NullaryOp</a></li><li><a href="#variant.Ref" title="Ref">Ref</a></li><li><a href="#variant.Repeat" title="Repeat">Repeat</a></li><li><a href="#variant.ShallowInitBox" title="ShallowInitBox">ShallowInitBox</a></li><li><a href="#variant.ShallowInitBoxWithAlloc" title="ShallowInitBoxWithAlloc">ShallowInitBoxWithAlloc</a></li><li><a href="#variant.ThreadLocalRef" title="ThreadLocalRef">ThreadLocalRef</a></li><li><a href="#variant.UnaryOp" title="UnaryOp">UnaryOp</a></li><li><a href="#variant.Use" title="Use">Use</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Rvalue" title="Clone">Clone</a></li><li><a href="#impl-Debug-for-Rvalue" title="Debug">Debug</a></li><li><a href="#impl-Eq-for-Rvalue" title="Eq">Eq</a></li><li><a href="#impl-From%3COperand%3E-for-Rvalue" title="From&#60;Operand&#62;">From&#60;Operand&#62;</a></li><li><a href="#impl-PartialEq-for-Rvalue" title="PartialEq">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-Rvalue" title="StructuralPartialEq">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Rvalue" title="!RefUnwindSafe">!RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-Rvalue" title="!UnwindSafe">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-Rvalue" title="Freeze">Freeze</a></li><li><a href="#impl-Send-for-Rvalue" title="Send">Send</a></li><li><a href="#impl-Sync-for-Rvalue" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Rvalue" title="Unpin">Unpin</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-Captures%3C'a%3E-for-T" title="Captures&#60;&#39;a&#62;">Captures&#60;&#39;a&#62;</a></li><li><a href="#impl-Cast-for-T" title="Cast">Cast</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-CollectAndApply%3CT,+R%3E-for-T" title="CollectAndApply&#60;T, R&#62;">CollectAndApply&#60;T, R&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q" title="Equivalent&#60;K&#62;">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1" title="Equivalent&#60;K&#62;">Equivalent&#60;K&#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-Instrument-for-T" title="Instrument">Instrument</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-IntoBox%3Cdyn+Any+%2B+Send%3E-for-T" title="IntoBox&#60;dyn Any + Send&#62;">IntoBox&#60;dyn Any + Send&#62;</a></li><li><a href="#impl-IntoBox%3Cdyn+Any+%2B+Send+%2B+Sync%3E-for-T" title="IntoBox&#60;dyn Any + Sync + Send&#62;">IntoBox&#60;dyn Any + Sync + Send&#62;</a></li><li><a href="#impl-IntoBox%3Cdyn+Any%3E-for-T" title="IntoBox&#60;dyn Any&#62;">IntoBox&#60;dyn Any&#62;</a></li><li><a href="#impl-IntoEither-for-T" title="IntoEither">IntoEither</a></li><li><a href="#impl-Pointable-for-T" title="Pointable">Pointable</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</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><li><a href="#impl-Upcast%3CI,+U%3E-for-T" title="Upcast&#60;I, U&#62;">Upcast&#60;I, U&#62;</a></li><li><a href="#impl-UpcastFrom%3CI,+T%3E-for-T" title="UpcastFrom&#60;I, T&#62;">UpcastFrom&#60;I, T&#62;</a></li><li><a href="#impl-WithSubscriber-for-T" title="WithSubscriber">WithSubscriber</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In hir::<wbr>mir</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">hir</a>::<wbr><a href="index.html">mir</a></div><h1>Enum <span class="enum">Rvalue</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"></span></div><pre class="rust item-decl"><code>pub enum Rvalue {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 16 variants</span></summary> Use(<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>),
Repeat(<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>, Const&lt;<a class="struct" href="../struct.ChalkTyInterner.html" title="struct hir::ChalkTyInterner">Interner</a>&gt;),
Ref(<a class="enum" href="enum.BorrowKind.html" title="enum hir::mir::BorrowKind">BorrowKind</a>, <a class="struct" href="struct.Place.html" title="struct hir::mir::Place">Place</a>),
ThreadLocalRef(<a class="enum" href="https://doc.rust-lang.org/1.89.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>),
AddressOf(<a class="enum" href="https://doc.rust-lang.org/1.89.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>),
Len(<a class="struct" href="struct.Place.html" title="struct hir::mir::Place">Place</a>),
Cast(<a class="enum" href="enum.CastKind.html" title="enum hir::mir::CastKind">CastKind</a>, <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>, Ty&lt;<a class="struct" href="../struct.ChalkTyInterner.html" title="struct hir::ChalkTyInterner">Interner</a>&gt;),
BinaryOp(<a class="enum" href="https://doc.rust-lang.org/1.89.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>),
CheckedBinaryOp(<a class="enum" href="enum.BinOp.html" title="enum hir::mir::BinOp">BinOp</a>, <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>, <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>),
NullaryOp(<a class="enum" href="https://doc.rust-lang.org/1.89.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>),
UnaryOp(<a class="enum" href="enum.UnOp.html" title="enum hir::mir::UnOp">UnOp</a>, <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>),
Discriminant(<a class="struct" href="struct.Place.html" title="struct hir::mir::Place">Place</a>),
Aggregate(<a class="enum" href="enum.AggregateKind.html" title="enum hir::mir::AggregateKind">AggregateKind</a>, <a class="struct" href="https://doc.rust-lang.org/1.89.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>]&gt;),
ShallowInitBox(<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>, Ty&lt;<a class="struct" href="../struct.ChalkTyInterner.html" title="struct hir::ChalkTyInterner">Interner</a>&gt;),
ShallowInitBoxWithAlloc(Ty&lt;<a class="struct" href="../struct.ChalkTyInterner.html" title="struct hir::ChalkTyInterner">Interner</a>&gt;),
CopyForDeref(<a class="struct" href="struct.Place.html" title="struct hir::mir::Place">Place</a>),
</details>}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Use" class="variant"><a href="#variant.Use" class="anchor">§</a><h3 class="code-header">Use(<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>)</h3></section><div class="docblock"><p>Yields the operand unchanged</p>
</div><section id="variant.Repeat" class="variant"><a href="#variant.Repeat" class="anchor">§</a><h3 class="code-header">Repeat(<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>, Const&lt;<a class="struct" href="../struct.ChalkTyInterner.html" title="struct hir::ChalkTyInterner">Interner</a>&gt;)</h3></section><div class="docblock"><p>Creates an array where each element is the value of the operand.</p>
<p>Corresponds to source code like <code>[x; 32]</code>.</p>
</div><section id="variant.Ref" class="variant"><a href="#variant.Ref" class="anchor">§</a><h3 class="code-header">Ref(<a class="enum" href="enum.BorrowKind.html" title="enum hir::mir::BorrowKind">BorrowKind</a>, <a class="struct" href="struct.Place.html" title="struct hir::mir::Place">Place</a>)</h3></section><div class="docblock"><p>Creates a reference of the indicated kind to the place.</p>
<p>There is not much to document here, because besides the obvious parts the semantics of this
are essentially entirely a part of the aliasing model. There are many UCG issues discussing
exactly what the behavior of this operation should be.</p>
<p><code>Shallow</code> borrows are disallowed after drop lowering.</p>
</div><section id="variant.ThreadLocalRef" class="variant"><a href="#variant.ThreadLocalRef" class="anchor">§</a><h3 class="code-header">ThreadLocalRef(<a class="enum" href="https://doc.rust-lang.org/1.89.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>)</h3></section><div class="docblock"><p>Creates a pointer/reference to the given thread local.</p>
<p>The yielded type is a <code>*mut T</code> if the static is mutable, otherwise if the static is extern a
<code>*const T</code>, and if neither of those apply a <code>&amp;T</code>.</p>
<p><strong>Note:</strong> This is a runtime operation that actually executes code and is in this sense more
like a function call. Also, eliminating dead stores of this rvalue causes <code>fn main() {}</code> to
SIGILL for some reason that I (JakobDegen) never got a chance to look into.</p>
<p><strong>Needs clarification</strong>: Are there weird additional semantics here related to the runtime
nature of this operation?</p>
</div><section id="variant.AddressOf" class="variant"><a href="#variant.AddressOf" class="anchor">§</a><h3 class="code-header">AddressOf(<a class="enum" href="https://doc.rust-lang.org/1.89.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>)</h3></section><div class="docblock"><p>Creates a pointer with the indicated mutability to the place.</p>
<p>This is generated by pointer casts like <code>&amp;v as *const _</code> or raw address of expressions like
<code>&amp;raw v</code> or <code>addr_of!(v)</code>.</p>
<p>Like with references, the semantics of this operation are heavily dependent on the aliasing
model.</p>
</div><section id="variant.Len" class="variant"><a href="#variant.Len" class="anchor">§</a><h3 class="code-header">Len(<a class="struct" href="struct.Place.html" title="struct hir::mir::Place">Place</a>)</h3></section><div class="docblock"><p>Yields the length of the place, as a <code>usize</code>.</p>
<p>If the type of the place is an array, this is the array length. For slices (<code>[T]</code>, not
<code>&amp;[T]</code>) this accesses the place’s metadata to determine the length. This rvalue is
ill-formed for places of other types.</p>
</div><section id="variant.Cast" class="variant"><a href="#variant.Cast" class="anchor">§</a><h3 class="code-header">Cast(<a class="enum" href="enum.CastKind.html" title="enum hir::mir::CastKind">CastKind</a>, <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>, Ty&lt;<a class="struct" href="../struct.ChalkTyInterner.html" title="struct hir::ChalkTyInterner">Interner</a>&gt;)</h3></section><div class="docblock"><p>Performs essentially all of the casts that can be performed via <code>as</code>.</p>
<p>This allows for casts from/to a variety of types.</p>
<p><strong>FIXME</strong>: Document exactly which <code>CastKind</code>s allow which types of casts. Figure out why
<code>ArrayToPointer</code> and <code>MutToConstPointer</code> are special.</p>
</div><section id="variant.BinaryOp" class="variant"><a href="#variant.BinaryOp" class="anchor">§</a><h3 class="code-header">BinaryOp(<a class="enum" href="https://doc.rust-lang.org/1.89.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>)</h3></section><div class="docblock"><ul>
<li><code>Offset</code> has the same semantics as <code>pointer::offset</code>, except that the second
parameter may be a <code>usize</code> as well.</li>
<li>The comparison operations accept <code>bool</code>s, <code>char</code>s, signed or unsigned integers, floats,
raw pointers, or function pointers and return a <code>bool</code>. The types of the operands must be
matching, up to the usual caveat of the lifetimes in function pointers.</li>
<li>Left and right shift operations accept signed or unsigned integers not necessarily of the
same type and return a value of the same type as their LHS. Like in Rust, the RHS is
truncated as needed.</li>
<li>The <code>Bit*</code> operations accept signed integers, unsigned integers, or bools with matching
types and return a value of that type.</li>
<li>The remaining operations accept signed integers, unsigned integers, or floats with
matching types and return a value of that type.</li>
</ul>
</div><section id="variant.CheckedBinaryOp" class="variant"><a href="#variant.CheckedBinaryOp" class="anchor">§</a><h3 class="code-header">CheckedBinaryOp(<a class="enum" href="enum.BinOp.html" title="enum hir::mir::BinOp">BinOp</a>, <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>, <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>)</h3></section><div class="docblock"><p>Same as <code>BinaryOp</code>, but yields <code>(T, bool)</code> with a <code>bool</code> indicating an error condition.</p>
<p>When overflow checking is disabled and we are generating run-time code, the error condition
is false. Otherwise, and always during CTFE, the error condition is determined as described
below.</p>
<p>For addition, subtraction, and multiplication on integers the error condition is set when
the infinite precision result would be unequal to the actual result.</p>
<p>For shift operations on integers the error condition is set when the value of right-hand
side is greater than or equal to the number of bits in the type of the left-hand side, or
when the value of right-hand side is negative.</p>
<p>Other combinations of types and operators are unsupported.</p>
</div><section id="variant.NullaryOp" class="variant"><a href="#variant.NullaryOp" class="anchor">§</a><h3 class="code-header">NullaryOp(<a class="enum" href="https://doc.rust-lang.org/1.89.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a>)</h3></section><div class="docblock"><p>Computes a value as described by the operation.</p>
</div><section id="variant.UnaryOp" class="variant"><a href="#variant.UnaryOp" class="anchor">§</a><h3 class="code-header">UnaryOp(<a class="enum" href="enum.UnOp.html" title="enum hir::mir::UnOp">UnOp</a>, <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>)</h3></section><div class="docblock"><p>Exactly like <code>BinaryOp</code>, but less operands.</p>
<p>Also does two’s-complement arithmetic. Negation requires a signed integer or a float;
bitwise not requires a signed integer, unsigned integer, or bool. Both operation kinds
return a value with the same type as their operand.</p>
</div><section id="variant.Discriminant" class="variant"><a href="#variant.Discriminant" class="anchor">§</a><h3 class="code-header">Discriminant(<a class="struct" href="struct.Place.html" title="struct hir::mir::Place">Place</a>)</h3></section><div class="docblock"><p>Computes the discriminant of the place, returning it as an integer of type
<a href="crate::ty::Ty::discriminant_ty"><code>discriminant_ty</code></a>. Returns zero for types without discriminant.</p>
<p>The validity requirements for the underlying value are undecided for this rvalue, see
<a href="https://github.com/rust-lang/rust/issues/91095">#91095</a>. Note too that the value of the discriminant is not the same thing as the
variant index; use <a href="crate::ty::Ty::discriminant_for_variant"><code>discriminant_for_variant</code></a> to convert.</p>
</div><section id="variant.Aggregate" class="variant"><a href="#variant.Aggregate" class="anchor">§</a><h3 class="code-header">Aggregate(<a class="enum" href="enum.AggregateKind.html" title="enum hir::mir::AggregateKind">AggregateKind</a>, <a class="struct" href="https://doc.rust-lang.org/1.89.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>]&gt;)</h3></section><div class="docblock"><p>Creates an aggregate value, like a tuple or struct.</p>
<p>This is needed because dataflow analysis needs to distinguish
<code>dest = Foo { x: ..., y: ... }</code> from <code>dest.x = ...; dest.y = ...;</code> in the case that <code>Foo</code>
has a destructor.</p>
<p>Disallowed after deaggregation for all aggregate kinds except <code>Array</code> and <code>Coroutine</code>. After
coroutine lowering, <code>Coroutine</code> aggregate kinds are disallowed too.</p>
</div><section id="variant.ShallowInitBox" class="variant"><a href="#variant.ShallowInitBox" class="anchor">§</a><h3 class="code-header">ShallowInitBox(<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>, Ty&lt;<a class="struct" href="../struct.ChalkTyInterner.html" title="struct hir::ChalkTyInterner">Interner</a>&gt;)</h3></section><div class="docblock"><p>Transmutes a <code>*mut u8</code> into shallow-initialized <code>Box&lt;T&gt;</code>.</p>
<p>This is different from a normal transmute because dataflow analysis will treat the box as
initialized but its content as uninitialized. Like other pointer casts, this in general
affects alias analysis.</p>
</div><section id="variant.ShallowInitBoxWithAlloc" class="variant"><a href="#variant.ShallowInitBoxWithAlloc" class="anchor">§</a><h3 class="code-header">ShallowInitBoxWithAlloc(Ty&lt;<a class="struct" href="../struct.ChalkTyInterner.html" title="struct hir::ChalkTyInterner">Interner</a>&gt;)</h3></section><div class="docblock"><p>NON STANDARD: allocates memory with the type’s layout, and shallow init the box with the resulting pointer.</p>
</div><section id="variant.CopyForDeref" class="variant"><a href="#variant.CopyForDeref" class="anchor">§</a><h3 class="code-header">CopyForDeref(<a class="struct" href="struct.Place.html" title="struct hir::mir::Place">Place</a>)</h3></section><div class="docblock"><p>A CopyForDeref is equivalent to a read from a place at the
codegen level, but is treated specially by drop elaboration. When such a read happens, it
is guaranteed (via nature of the mir_opt <code>Derefer</code> in rustc_mir_transform/src/deref_separator)
that the only use of the returned value is a deref operation, immediately
followed by one or more projections. Drop elaboration treats this rvalue as if the
read never happened and just projects further. This allows simplifying various MIR
optimizations and codegen backends that previously had to handle deref operations anywhere
in a place.</p>
</div></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Rvalue" class="impl"><a href="#impl-Clone-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h4></section></summary><div class='docblock'>Returns a duplicate of the value. <a href="https://doc.rust-lang.org/1.89.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.89.0/src/core/clone.rs.html#213-215">Source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.89.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Rvalue" class="impl"><a href="#impl-Debug-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.89.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.89.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.89.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.89.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3COperand%3E-for-Rvalue" class="impl"><a href="#impl-From%3COperand%3E-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>&gt; for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(x: <a class="struct" href="struct.Operand.html" title="struct hir::mir::Operand">Operand</a>) -&gt; <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Rvalue" class="impl"><a href="#impl-PartialEq-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.89.0/src/core/cmp.rs.html#263">Source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-Rvalue" class="impl"><a href="#impl-Eq-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section><section id="impl-StructuralPartialEq-for-Rvalue" class="impl"><a href="#impl-StructuralPartialEq-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</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-Rvalue" class="impl"><a href="#impl-Freeze-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section><section id="impl-RefUnwindSafe-for-Rvalue" class="impl"><a href="#impl-RefUnwindSafe-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.89.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section><section id="impl-Send-for-Rvalue" class="impl"><a href="#impl-Send-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section><section id="impl-Sync-for-Rvalue" class="impl"><a href="#impl-Sync-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section><section id="impl-Unpin-for-Rvalue" class="impl"><a href="#impl-Unpin-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</a></h3></section><section id="impl-UnwindSafe-for-Rvalue" class="impl"><a href="#impl-UnwindSafe-for-Rvalue" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.89.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Rvalue.html" title="enum hir::mir::Rvalue">Rvalue</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.89.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.89.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.89.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.89.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.89.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.89.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.89.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.89.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.89.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.89.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.89.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.89.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.89.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.89.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.89.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.89.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.89.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.89.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.89.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.89.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.89.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-Cast-for-T" class="impl"><a href="#impl-Cast-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Cast for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast" class="method trait-impl"><a href="#method.cast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cast</a>&lt;U&gt;(self, interner: &lt;U as HasInterner&gt;::Interner) -&gt; U<div class="where">where
Self: CastTo&lt;U&gt;,
U: HasInterner,</div></h4></section></summary><div class='docblock'>Cast a value to type <code>U</code> using <code>CastTo</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.89.0/src/core/clone.rs.html#483">Source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.89.0/src/core/clone.rs.html#485">Source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.89.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dest: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.u8.html">u8</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dest</code>. <a href="https://doc.rust-lang.org/1.89.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CollectAndApply%3CT,+R%3E-for-T" class="impl"><a href="#impl-CollectAndApply%3CT,+R%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, R&gt; CollectAndApply&lt;T, R&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.collect_and_apply" class="method trait-impl"><a href="#method.collect_and_apply" class="anchor">§</a><h4 class="code-header">fn <a class="fn">collect_and_apply</a>&lt;I, F&gt;(iter: I, f: F) -&gt; R<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = T&gt;,
F: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;<a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.slice.html">[T]</a>) -&gt; R,</div></h4></section></summary><div class="docblock"><p>Equivalent to <code>f(&amp;iter.collect::&lt;Vec&lt;_&gt;&gt;())</code>.</p>
</div></details><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Output</a> = R</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Q" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Q" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<div class="where">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.89.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.equivalent" class="method trait-impl"><a href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return <code>true</code> if they are equal.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Q-1" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Q-1" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<div class="where">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.89.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.equivalent-1" class="method trait-impl"><a href="#method.equivalent-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a>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.89.0/src/core/convert/mod.rs.html#774">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.89.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-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.89.0/src/core/convert/mod.rs.html#777">Source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.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-Instrument-for-T" class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a>Read more</a></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.89.0/src/core/convert/mod.rs.html#757-759">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.89.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.89.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.89.0/src/core/convert/mod.rs.html#767">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.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.89.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-IntoBox%3Cdyn+Any%3E-for-T" class="impl"><a href="#impl-IntoBox%3Cdyn+Any%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; IntoBox&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt; for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_box" class="method trait-impl"><a href="#method.into_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_box</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.89.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Convert self into the appropriate boxed form.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoBox%3Cdyn+Any+%2B+Send%3E-for-T" class="impl"><a href="#impl-IntoBox%3Cdyn+Any+%2B+Send%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; IntoBox&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_box-1" class="method trait-impl"><a href="#method.into_box-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_box</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.89.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt;</h4></section></summary><div class='docblock'>Convert self into the appropriate boxed form.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoBox%3Cdyn+Any+%2B+Send+%2B+Sync%3E-for-T" class="impl"><a href="#impl-IntoBox%3Cdyn+Any+%2B+Send+%2B+Sync%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; IntoBox&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_box-2" class="method trait-impl"><a href="#method.into_box-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_box</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.89.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt;</h4></section></summary><div class='docblock'>Convert self into the appropriate boxed form.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoEither-for-T" class="impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#64">Source</a><a href="#impl-IntoEither-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html" title="trait either::into_either::IntoEither">IntoEither</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_either" class="method trait-impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#29">Source</a><a href="#method.into_either" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either" class="fn">into_either</a>(self, into_left: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either">Either</a>&lt;Self, Self&gt;</h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
if <code>into_left</code> is <code>true</code>.
Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
otherwise. <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_either_with" class="method trait-impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#55-57">Source</a><a href="#method.into_either_with" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with" class="fn">into_either_with</a>&lt;F&gt;(self, into_left: F) -&gt; <a class="enum" href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either">Either</a>&lt;Self, Self&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
if <code>into_left(&amp;self)</code> returns <code>true</code>.
Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
otherwise. <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-T" class="impl"><a href="#impl-Pointable-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anchor">§</a><h4 class="code-header">const <a class="constant">ALIGN</a>: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>The alignment of pointer.</div></details><details class="toggle" open><summary><section id="associatedtype.Init" class="associatedtype trait-impl"><a href="#associatedtype.Init" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Init</a> = T</h4></section></summary><div class='docblock'>The type for initializers.</div></details><details class="toggle method-toggle" open><summary><section id="method.init" class="method trait-impl"><a href="#method.init" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">init</a>(init: &lt;T as Pointable&gt;::Init) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Initializes a with the given initializer. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a href="#method.deref" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">deref</a>&lt;'a&gt;(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>Dereferences the given pointer. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl"><a href="#method.deref_mut" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">deref_mut</a>&lt;'a&gt;(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.reference.html">&amp;'a mut T</a></h4></section></summary><div class='docblock'>Mutably dereferences the given pointer. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a href="#method.drop" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Drops the object pointed to by the given pointer. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.89.0/src/alloc/borrow.rs.html#82-84">Source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.89.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.89.0/src/alloc/borrow.rs.html#86">Source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.89.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.89.0/src/alloc/borrow.rs.html#87">Source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.89.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.89.0/src/alloc/borrow.rs.html#91">Source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.89.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.89.0/src/core/convert/mod.rs.html#813-815">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.89.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.89.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.89.0/src/core/convert/mod.rs.html#817">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.89.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.89.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.89.0/src/core/convert/mod.rs.html#820">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.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.89.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.89.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.89.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.89.0/src/core/convert/mod.rs.html#798-800">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.89.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.89.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.89.0/src/core/convert/mod.rs.html#802">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.89.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.89.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.89.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.89.0/src/core/convert/mod.rs.html#805">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.89.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.89.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.89.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.89.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-Upcast%3CI,+U%3E-for-T" class="impl"><a href="#impl-Upcast%3CI,+U%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;I, T, U&gt; Upcast&lt;I, U&gt; for T<div class="where">where
U: UpcastFrom&lt;I, T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.upcast" class="method trait-impl"><a href="#method.upcast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">upcast</a>(self, interner: I) -&gt; U</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-UpcastFrom%3CI,+T%3E-for-T" class="impl"><a href="#impl-UpcastFrom%3CI,+T%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;I, T&gt; UpcastFrom&lt;I, T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.upcast_from" class="method trait-impl"><a href="#method.upcast_from" class="anchor">§</a><h4 class="code-header">fn <a class="fn">upcast_from</a>(from: T, _tcx: I) -&gt; T</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.89.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><section id="impl-Captures%3C'a%3E-for-T" class="impl"><a href="#impl-Captures%3C'a%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; Captures&lt;'a&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.89.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></div></section></div></main></body></html>