edlang/tracing_subscriber/layer/struct.Context.html
2024-07-26 09:42:18 +00:00

174 lines
51 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Represents information about the current context provided to `Layer`s by the wrapped `Subscriber`."><title>Context in tracing_subscriber::layer - 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-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="tracing_subscriber" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0 (051478957 2024-07-21)" data-channel="1.80.0" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-df360f571f6edeae.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><a class="logo-container" href="../../tracing_subscriber/index.html"><img src="https://raw.githubusercontent.com/tokio-rs/tracing/master/assets/logo-type.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../tracing_subscriber/index.html"><img src="https://raw.githubusercontent.com/tokio-rs/tracing/master/assets/logo-type.png" alt="logo"></a><h2><a href="../../tracing_subscriber/index.html">tracing_subscriber</a><span class="version">0.3.18</span></h2></div><h2 class="location"><a href="#">Context</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.current_span">current_span</a></li><li><a href="#method.enabled">enabled</a></li><li><a href="#method.event">event</a></li><li><a href="#method.event_scope">event_scope</a></li><li><a href="#method.event_span">event_span</a></li><li><a href="#method.exists">exists</a></li><li><a href="#method.lookup_current">lookup_current</a></li><li><a href="#method.metadata">metadata</a></li><li><a href="#method.span">span</a></li><li><a href="#method.span_scope">span_scope</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Context%3C'a,+S%3E">Clone</a></li><li><a href="#impl-Debug-for-Context%3C'a,+S%3E">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Context%3C'a,+S%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Context%3C'a,+S%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Context%3C'a,+S%3E">Send</a></li><li><a href="#impl-Sync-for-Context%3C'a,+S%3E">Sync</a></li><li><a href="#impl-Unpin-for-Context%3C'a,+S%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Context%3C'a,+S%3E">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">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In tracing_subscriber::layer</a></h2></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"><h1>Struct <a href="../index.html">tracing_subscriber</a>::<wbr><a href="index.html">layer</a>::<wbr><a class="struct" href="#">Context</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../src/tracing_subscriber/layer/context.rs.html#33-47">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Context&lt;'a, S&gt; { <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>Represents information about the current context provided to <a href="trait.Layer.html" title="trait tracing_subscriber::layer::Layer"><code>Layer</code></a>s by the
wrapped <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>.</p>
<p>To access <a href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef">stored data</a> keyed by a span ID, implementors of the <code>Layer</code>
trait should ensure that the <code>Subscriber</code> type parameter is <em>also</em> bound by the
<a href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan"><code>LookupSpan</code></a>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing::Subscriber;
<span class="kw">use </span>tracing_subscriber::{Layer, registry::LookupSpan};
<span class="kw">pub struct </span>MyLayer;
<span class="kw">impl</span>&lt;S&gt; Layer&lt;S&gt; <span class="kw">for </span>MyLayer
<span class="kw">where
</span>S: Subscriber + <span class="kw">for</span>&lt;<span class="lifetime">'a</span>&gt; LookupSpan&lt;<span class="lifetime">'a</span>&gt;,
{
<span class="comment">// ...
</span>}</code></pre></div>
</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-Context%3C'a,+S%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#51-410">source</a><a href="#impl-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S&gt; <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;<div class="where">where
S: <a class="trait" href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber">Subscriber</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.current_span" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#66-72">source</a><h4 class="code-header">pub fn <a href="#method.current_span" class="fn">current_span</a>(&amp;self) -&gt; <a class="struct" href="../../tracing_core/span/struct.Current.html" title="struct tracing_core::span::Current">Current</a></h4></section></summary><div class="docblock"><p>Returns the wrapped subscribers view of the current span.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.enabled" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#76-84">source</a><h4 class="code-header">pub fn <a href="#method.enabled" class="fn">enabled</a>(&amp;self, metadata: &amp;<a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the wrapped subscriber would enable the current span.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.event" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#106-110">source</a><h4 class="code-header">pub fn <a href="#method.event" class="fn">event</a>(&amp;self, event: &amp;<a class="struct" href="../../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event">Event</a>&lt;'_&gt;)</h4></section></summary><div class="docblock"><p>Records the provided <code>event</code> with the wrapped subscriber.</p>
<h5 id="notes"><a class="doc-anchor" href="#notes">§</a>Notes</h5>
<ul>
<li>The subscriber is free to expect that the events callsite has been
<a href="../../tracing_core/subscriber/trait.Subscriber.html#method.register_callsite" title="method tracing_core::subscriber::Subscriber::register_callsite">registered</a>, and may panic or fail to observe the event if this is
not the case. The <code>tracing</code> crates macros ensure that all events are
registered, but if the event is constructed through other means, the
user is responsible for ensuring that <a href="../../tracing_core/subscriber/trait.Subscriber.html#method.register_callsite" title="method tracing_core::subscriber::Subscriber::register_callsite"><code>register_callsite</code></a>
has been called prior to calling this method.</li>
<li>This does <em>not</em> call <a href="../../tracing_core/subscriber/trait.Subscriber.html#tymethod.enabled" title="method tracing_core::subscriber::Subscriber::enabled"><code>enabled</code></a> on the inner subscriber. If the
caller wishes to apply the wrapped subscribers filter before choosing
whether to record the event, it may first call <a href="struct.Context.html#method.enabled" title="method tracing_subscriber::layer::Context::enabled"><code>Context::enabled</code></a> to
check whether the event would be enabled. This allows <code>Layer</code>s to
elide constructing the event if it would not be recorded.</li>
</ul>
</div></details><details class="toggle method-toggle" open><summary><section id="method.event_span" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#169-181">source</a><h4 class="code-header">pub fn <a href="#method.event_span" class="fn">event_span</a>(&amp;self, event: &amp;<a class="struct" href="../../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event">Event</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef">SpanRef</a>&lt;'_, S&gt;&gt;<div class="where">where
S: for&lt;'lookup&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'lookup&gt;,</div></h4></section></summary><div class="docblock"><p>Returns a <a href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef"><code>SpanRef</code></a> for the parent span of the given <a href="../../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event"><code>Event</code></a>, if
it has a parent.</p>
<p>If the event has an explicitly overridden parent, this method returns
a reference to that span. If the events parent is the current span,
this returns a reference to the current span, if there is one. If this
returns <code>None</code>, then either the events parent was explicitly set to
<code>None</code>, or the events parent was defined contextually, but no span
is currently entered.</p>
<p>Compared to <a href="struct.Context.html#method.current_span" title="method tracing_subscriber::layer::Context::current_span"><code>Context::current_span</code></a> and <a href="struct.Context.html#method.lookup_current" title="method tracing_subscriber::layer::Context::lookup_current"><code>Context::lookup_current</code></a>,
this respects overrides provided by the <a href="../../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event"><code>Event</code></a>.</p>
<p>Compared to <a href="../../tracing_core/event/struct.Event.html#method.parent" title="method tracing_core::event::Event::parent"><code>Event::parent</code></a>, this automatically falls back to the contextual
span, if required.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing::{Event, Subscriber};
<span class="kw">use </span>tracing_subscriber::{
layer::{Context, Layer},
prelude::<span class="kw-2">*</span>,
registry::LookupSpan,
};
<span class="kw">struct </span>PrintingLayer;
<span class="kw">impl</span>&lt;S&gt; Layer&lt;S&gt; <span class="kw">for </span>PrintingLayer
<span class="kw">where
</span>S: Subscriber + <span class="kw">for</span>&lt;<span class="lifetime">'lookup</span>&gt; LookupSpan&lt;<span class="lifetime">'lookup</span>&gt;,
{
<span class="kw">fn </span>on_event(<span class="kw-2">&amp;</span><span class="self">self</span>, event: <span class="kw-2">&amp;</span>Event, ctx: Context&lt;S&gt;) {
<span class="kw">let </span>span = ctx.event_span(event);
<span class="macro">println!</span>(<span class="string">"Event in span: {:?}"</span>, span.map(|s| s.name()));
}
}
tracing::subscriber::with_default(tracing_subscriber::registry().with(PrintingLayer), || {
<span class="macro">tracing::info!</span>(<span class="string">"no span"</span>);
<span class="comment">// Prints: Event in span: None
</span><span class="kw">let </span>span = <span class="macro">tracing::info_span!</span>(<span class="string">"span"</span>);
<span class="macro">tracing::info!</span>(parent: <span class="kw-2">&amp;</span>span, <span class="string">"explicitly specified"</span>);
<span class="comment">// Prints: Event in span: Some("span")
</span><span class="kw">let </span>_guard = span.enter();
<span class="macro">tracing::info!</span>(<span class="string">"contextual span"</span>);
<span class="comment">// Prints: Event in span: Some("span")
</span>});</code></pre></div>
<pre class="ignore" style="white-space:normal;font:inherit;">
<strong>Note</strong>: This requires the wrapped subscriber to
implement the <a href="../registry/trait.LookupSpan.html"><code>
LookupSpan</code></a> trait. See the documentation on
<a href="./struct.Context.html"><code>Context</code>'s
declaration</a> for details.
</pre></div></details><details class="toggle method-toggle" open><summary><section id="method.metadata" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#188-194">source</a><h4 class="code-header">pub fn <a href="#method.metadata" class="fn">metadata</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'static <a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'static&gt;&gt;<div class="where">where
S: for&lt;'lookup&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'lookup&gt;,</div></h4></section></summary><div class="docblock"><p>Returns metadata for the span with the given <code>id</code>, if it exists.</p>
<p>If this returns <code>None</code>, then no span exists for that ID (either it has
closed or the ID is invalid).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.span" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#211-222">source</a><h4 class="code-header">pub fn <a href="#method.span" class="fn">span</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef">SpanRef</a>&lt;'_, S&gt;&gt;<div class="where">where
S: for&lt;'lookup&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'lookup&gt;,</div></h4></section></summary><div class="docblock"><p>Returns <a href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef">stored data</a> for the span with the given <code>id</code>, if it exists.</p>
<p>If this returns <code>None</code>, then no span exists for that ID (either it has
closed or the ID is invalid).</p>
<pre class="ignore" style="white-space:normal;font:inherit;">
<strong>Note</strong>: This requires the wrapped subscriber to
implement the <a href="../registry/trait.LookupSpan.html"><code>
LookupSpan</code></a> trait. See the documentation on
<a href="./struct.Context.html"><code>Context</code>'s
declaration</a> for details.
</pre>
</div></details><details class="toggle method-toggle" open><summary><section id="method.exists" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#234-239">source</a><h4 class="code-header">pub fn <a href="#method.exists" class="fn">exists</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a><div class="where">where
S: for&lt;'lookup&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'lookup&gt;,</div></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if an active span exists for the given <code>Id</code>.</p>
<pre class="ignore" style="white-space:normal;font:inherit;">
<strong>Note</strong>: This requires the wrapped subscriber to
implement the <a href="../registry/trait.LookupSpan.html"><code>
LookupSpan</code></a> trait. See the documentation on
<a href="./struct.Context.html"><code>Context</code>'s
declaration</a> for details.
</pre></div></details><details class="toggle method-toggle" open><summary><section id="method.lookup_current" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#256-293">source</a><h4 class="code-header">pub fn <a href="#method.lookup_current" class="fn">lookup_current</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef">SpanRef</a>&lt;'_, S&gt;&gt;<div class="where">where
S: for&lt;'lookup&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'lookup&gt;,</div></h4></section></summary><div class="docblock"><p>Returns <a href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef">stored data</a> for the span that the wrapped subscriber considers
to be the current.</p>
<p>If this returns <code>None</code>, then we are not currently within a span.</p>
<pre class="ignore" style="white-space:normal;font:inherit;">
<strong>Note</strong>: This requires the wrapped subscriber to
implement the <a href="../registry/trait.LookupSpan.html"><code>
LookupSpan</code></a> trait. See the documentation on
<a href="./struct.Context.html"><code>Context</code>'s
declaration</a> for details.
</pre>
</div></details><details class="toggle method-toggle" open><summary><section id="method.span_scope" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#337-342">source</a><h4 class="code-header">pub fn <a href="#method.span_scope" class="fn">span_scope</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../registry/struct.Scope.html" title="struct tracing_subscriber::registry::Scope">Scope</a>&lt;'_, S&gt;&gt;<div class="where">where
S: for&lt;'lookup&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'lookup&gt;,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over the <a href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef">stored data</a> for all the spans in the
current context, starting with the specified span and ending with the
root of the trace tree and ending with the current span.</p>
<pre class="ignore" style="white-space:normal;font:inherit;">
<strong>Note</strong>: Compared to <a href="#method.scope"><code>scope</code></a> this
returns the spans in reverse order (from leaf to root). Use
<a href="../registry/struct.Scope.html#method.from_root"><code>Scope::from_root</code></a>
in case root-to-leaf ordering is desired.
</pre>
<pre class="ignore" style="white-space:normal;font:inherit;">
<strong>Note</strong>: This requires the wrapped subscriber to
implement the <a href="../registry/trait.LookupSpan.html"><code>
LookupSpan</code></a> trait. See the documentation on
<a href="./struct.Context.html"><code>Context</code>'s
declaration</a> for details.
</pre>
</div></details><details class="toggle method-toggle" open><summary><section id="method.event_scope" class="method"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#364-369">source</a><h4 class="code-header">pub fn <a href="#method.event_scope" class="fn">event_scope</a>(&amp;self, event: &amp;<a class="struct" href="../../tracing_core/event/struct.Event.html" title="struct tracing_core::event::Event">Event</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.80.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../registry/struct.Scope.html" title="struct tracing_subscriber::registry::Scope">Scope</a>&lt;'_, S&gt;&gt;<div class="where">where
S: for&lt;'lookup&gt; <a class="trait" href="../registry/trait.LookupSpan.html" title="trait tracing_subscriber::registry::LookupSpan">LookupSpan</a>&lt;'lookup&gt;,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over the <a href="../registry/struct.SpanRef.html" title="struct tracing_subscriber::registry::SpanRef">stored data</a> for all the spans in the
current context, starting with the parent span of the specified event,
and ending with the root of the trace tree and ending with the current span.</p>
<pre class="ignore" style="white-space:normal;font:inherit;">
<strong>Note</strong>: Compared to <a href="#method.scope"><code>scope</code></a> this
returns the spans in reverse order (from leaf to root). Use
<a href="../registry/struct.Scope.html#method.from_root"><code>Scope::from_root</code></a>
in case root-to-leaf ordering is desired.
</pre>
<pre class="ignore" style="white-space:normal;font:inherit;">
<strong>Note</strong>: This requires the wrapped subscriber to
implement the <a href="../registry/trait.LookupSpan.html"><code>
LookupSpan</code></a> trait. See the documentation on
<a href="./struct.Context.html"><code>Context</code>'s
declaration</a> for details.
</pre>
</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-Clone-for-Context%3C'a,+S%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#423-434">source</a><a href="#impl-Clone-for-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#425-433">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.80.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.80.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.80.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-Context%3C'a,+S%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#32">source</a><a href="#impl-Debug-for-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/context.rs.html#32">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.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.80.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.80.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details></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-Context%3C'a,+S%3E" class="impl"><a href="#impl-Freeze-for-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;</h3></section><section id="impl-RefUnwindSafe-for-Context%3C'a,+S%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-Context%3C'a,+S%3E" class="impl"><a href="#impl-Send-for-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Sync-for-Context%3C'a,+S%3E" class="impl"><a href="#impl-Sync-for-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-Context%3C'a,+S%3E" class="impl"><a href="#impl-Unpin-for-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;</h3></section><section id="impl-UnwindSafe-for-Context%3C'a,+S%3E" class="impl"><a href="#impl-UnwindSafe-for-Context%3C'a,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a, S&gt; <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'a, S&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></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.80.0/src/core/any.rs.html#140">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.80.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.80.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.80.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.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.80.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.80.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.80.0/src/core/borrow.rs.html#208">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.80.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.80.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.80.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.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.80.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.80.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.80.0/src/core/borrow.rs.html#216">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.80.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.80.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.80.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.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.80.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.80.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.80.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.80.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.80.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.80.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 class="src rightside" href="../../src/tracing/instrument.rs.html#325">source</a><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> 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 class="src rightside" href="../../src/tracing/instrument.rs.html#86">source</a><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.instrument" class="fn">instrument</a>(self, span: <a class="struct" href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="../../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#128">source</a><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span" class="fn">in_current_span</a>(self) -&gt; <a class="struct" href="../../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="../../tracing/span/struct.Span.html#method.current" title="associated function tracing::span::Span::current">current</a> <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span">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.80.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.80.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.80.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.80.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.80.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.80.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-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.80.0/src/alloc/borrow.rs.html#83-85">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.80.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.80.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 href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.80.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.80.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.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.80.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.80.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.80.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.80.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.80.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.80.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.80.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.80.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" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.80.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.80.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.80.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.80.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.80.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.80.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.80.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.80.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.80.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-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.80.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.80.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.80.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.80.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.80.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.80.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.80.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.80.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-WithSubscriber-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#393">source</a><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> 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 class="src rightside" href="../../src/tracing/instrument.rs.html#176-178">source</a><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#228">source</a><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fn">with_current_subscriber</a>(self) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="../../tracing/dispatcher/index.html#setting-the-default-subscriber" title="mod tracing::dispatcher">default</a> <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details></div></section></div></main></body></html>