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

223 lines
84 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="A filter implemented by a closure or function pointer that determines whether a given span or event is enabled dynamically, potentially based on the current span context."><title>DynFilterFn in tracing_subscriber::filter - 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="#">DynFilterFn</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new">new</a></li><li><a href="#method.with_callsite_filter">with_callsite_filter</a></li><li><a href="#method.with_max_level_hint">with_max_level_hint</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-DynFilterFn%3CS,+F,+R%3E">Clone</a></li><li><a href="#impl-Debug-for-DynFilterFn%3CS,+F,+R%3E">Debug</a></li><li><a href="#impl-Filter%3CS%3E-for-DynFilterFn%3CS,+F,+R%3E">Filter&lt;S&gt;</a></li><li><a href="#impl-From%3CF%3E-for-DynFilterFn%3CS,+F%3E">From&lt;F&gt;</a></li><li><a href="#impl-Layer%3CS%3E-for-DynFilterFn%3CS,+F,+R%3E">Layer&lt;S&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-DynFilterFn%3CS,+F,+R%3E">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-DynFilterFn%3CS,+F,+R%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-DynFilterFn%3CS,+F,+R%3E">Send</a></li><li><a href="#impl-Sync-for-DynFilterFn%3CS,+F,+R%3E">Sync</a></li><li><a href="#impl-Unpin-for-DynFilterFn%3CS,+F,+R%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-DynFilterFn%3CS,+F,+R%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-FilterExt%3CS%3E-for-F">FilterExt&lt;S&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::filter</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">filter</a>::<wbr><a class="struct" href="#">DynFilterFn</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/filter/filter_fn.rs.html#46-56">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 DynFilterFn&lt;S, F = <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.fn.html">fn</a>(_: &amp;<a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'_&gt;, _: &amp;<a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>, R = <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.fn.html">fn</a>(_: &amp;'static <a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'static&gt;) -&gt; <a class="struct" href="../../tracing_core/subscriber/struct.Interest.html" title="struct tracing_core::subscriber::Interest">Interest</a>&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>A filter implemented by a closure or function pointer that
determines whether a given span or event is enabled <em>dynamically</em>,
potentially based on the current <a href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">span context</a>.</p>
<p>This type can be used for both <a href="../layer/index.html#per-layer-filtering" title="mod tracing_subscriber::layer">per-layer filtering</a> (using its
<a href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter"><code>Filter</code></a> implementation) and <a href="../layer/index.html#global-filtering" title="mod tracing_subscriber::layer">global filtering</a> (using its
<a href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer"><code>Layer</code></a> implementation).</p>
<p>See the <a href="../layer/index.html#filtering-with-layers" title="mod tracing_subscriber::layer">documentation on filtering with layers</a> for details.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-DynFilterFn%3CS,+F%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#362-432">source</a><a href="#impl-DynFilterFn%3CS,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F&gt; <a class="struct" href="struct.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'_&gt;, &amp;<a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#424-431">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(enabled: F) -&gt; Self</h4></section></summary><div class="docblock"><p>Constructs a <a href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter"><code>Filter</code></a> from a function or closure that returns <code>true</code>
if a span or event should be enabled in the current <a href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">span
context</a>.</p>
<p>Unlike <a href="struct.FilterFn.html" title="struct tracing_subscriber::filter::FilterFn"><code>FilterFn</code></a>, a <code>DynFilterFn</code> is constructed from a closure or
function pointer that takes both the <a href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata"><code>Metadata</code></a> for a span or event
<em>and</em> the current <a href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context"><code>Context</code></a>. This means that a <a href="struct.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn"><code>DynFilterFn</code></a> can
choose whether to enable spans or events based on information about the
<em>current</em> span (or its parents).</p>
<p>If this is <em>not</em> necessary, use <a href="struct.FilterFn.html" title="struct tracing_subscriber::filter::FilterFn"><code>FilterFn</code></a> instead.</p>
<p>See the <a href="../layer/index.html#per-layer-filtering" title="mod tracing_subscriber::layer">documentation on per-layer filtering</a> for details on using
<a href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter"><code>Filter</code></a>s.</p>
<h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::{
layer::{Layer, SubscriberExt},
filter::DynFilterFn,
util::SubscriberInitExt,
};
<span class="comment">// Only enable spans or events within a span named "interesting_span".
</span><span class="kw">let </span>my_filter = DynFilterFn::new(|metadata, cx| {
<span class="comment">// If this *is* "interesting_span", make sure to enable it.
</span><span class="kw">if </span>metadata.is_span() &amp;&amp; metadata.name() == <span class="string">"interesting_span" </span>{
<span class="kw">return </span><span class="bool-val">true</span>;
}
<span class="comment">// Otherwise, are we in an interesting span?
</span><span class="kw">if let </span><span class="prelude-val">Some</span>(current_span) = cx.lookup_current() {
<span class="kw">return </span>current_span.name() == <span class="string">"interesting_span"</span>;
}
<span class="bool-val">false
</span>});
<span class="kw">let </span>my_layer = tracing_subscriber::fmt::layer();
tracing_subscriber::registry()
.with(my_layer.with_filter(my_filter))
.init();
<span class="comment">// This event will not be enabled.
</span><span class="macro">tracing::info!</span>(<span class="string">"something happened"</span>);
<span class="macro">tracing::info_span!</span>(<span class="string">"interesting_span"</span>).in_scope(|| {
<span class="comment">// This event will be enabled.
</span><span class="macro">tracing::debug!</span>(<span class="string">"something else happened"</span>);
});</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DynFilterFn%3CS,+F,+R%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#434-598">source</a><a href="#impl-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&gt; <a class="struct" href="struct.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'_&gt;, &amp;<a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_max_level_hint" class="method"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#489-494">source</a><h4 class="code-header">pub fn <a href="#method.with_max_level_hint" class="fn">with_max_level_hint</a>(self, max_level_hint: impl <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="struct.LevelFilter.html" title="struct tracing_subscriber::filter::LevelFilter">LevelFilter</a>&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Sets the highest verbosity <a href="../../tracing_core/metadata/struct.Level.html" title="struct tracing_core::metadata::Level"><code>Level</code></a> the filter function will enable.</p>
<p>The value passed to this method will be returned by this <code>DynFilterFn</code>s
<a href="../layer/trait.Filter.html#method.max_level_hint" title="method tracing_subscriber::layer::Filter::max_level_hint"><code>Filter::max_level_hint</code></a> method.</p>
<p>If the provided function will not enable all levels, it is recommended
to call this method to configure it with the most verbose level it will
enable.</p>
<h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::{
layer::{Layer, SubscriberExt},
filter::{DynFilterFn, LevelFilter},
util::SubscriberInitExt,
};
<span class="kw">use </span>tracing_core::Level;
<span class="comment">// Only enable spans or events with levels at or below `INFO`, if
// we are inside a span called "interesting_span".
</span><span class="kw">let </span>my_filter = DynFilterFn::new(|metadata, cx| {
<span class="comment">// If the level is greater than INFO, disable it.
</span><span class="kw">if </span>metadata.level() &gt; <span class="kw-2">&amp;</span>Level::INFO {
<span class="kw">return </span><span class="bool-val">false</span>;
}
<span class="comment">// If any span in the current scope is named "interesting_span",
// enable this span or event.
</span><span class="kw">for </span>span <span class="kw">in </span>cx.lookup_current().iter().flat_map(|span| span.scope()) {
<span class="kw">if </span>span.name() == <span class="string">"interesting_span" </span>{
<span class="kw">return </span><span class="bool-val">true</span>;
}
}
<span class="comment">// Otherwise, disable it.
</span><span class="bool-val">false
</span>})
<span class="comment">// Since the filter closure will only enable the `INFO` level and
// below, set the max level hint
</span>.with_max_level_hint(LevelFilter::INFO);
<span class="kw">let </span>my_layer = tracing_subscriber::fmt::layer();
tracing_subscriber::registry()
.with(my_layer.with_filter(my_filter))
.init();</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_callsite_filter" class="method"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#558-575">source</a><h4 class="code-header">pub fn <a href="#method.with_callsite_filter" class="fn">with_callsite_filter</a>&lt;R2&gt;(
self,
callsite_enabled: R2,
) -&gt; <a class="struct" href="struct.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R2&gt;<div class="where">where
R2: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;'static <a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'static&gt;) -&gt; <a class="struct" href="../../tracing_core/subscriber/struct.Interest.html" title="struct tracing_core::subscriber::Interest">Interest</a>,</div></h4></section></summary><div class="docblock"><p>Adds a function for filtering callsites to this filter.</p>
<p>When this filters <a href="../layer/trait.Filter.html#method.callsite_enabled" title="method tracing_subscriber::layer::Filter::callsite_enabled"><code>Filter::callsite_enabled</code></a> method is called,
the provided function will be used rather than the default.</p>
<p>By default, <code>DynFilterFn</code> assumes that, because the filter <em>may</em> depend
dynamically on the current <a href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">span context</a>, its result should never be
cached. However, some filtering strategies may require dynamic information
from the current span context in <em>some</em> cases, but are able to make
static filtering decisions from <a href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata"><code>Metadata</code></a> alone in others.</p>
<p>For example, consider the filter given in the example for
<a href="struct.DynFilterFn.html#method.new" title="associated function tracing_subscriber::filter::DynFilterFn::new"><code>DynFilterFn::new</code></a>. That filter enables all spans named
“interesting_span”, and any events and spans that occur inside of an
interesting span. Since the spans name is part of its static
<a href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata"><code>Metadata</code></a>, the “interesting_span” can be enabled in
<a href="../layer/trait.Filter.html#method.callsite_enabled" title="method tracing_subscriber::layer::Filter::callsite_enabled"><code>callsite_enabled</code></a>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>tracing_subscriber::{
layer::{Layer, SubscriberExt},
filter::DynFilterFn,
util::SubscriberInitExt,
};
<span class="kw">use </span>tracing_core::subscriber::Interest;
<span class="comment">// Only enable spans or events within a span named "interesting_span".
</span><span class="kw">let </span>my_filter = DynFilterFn::new(|metadata, cx| {
<span class="comment">// If this *is* "interesting_span", make sure to enable it.
</span><span class="kw">if </span>metadata.is_span() &amp;&amp; metadata.name() == <span class="string">"interesting_span" </span>{
<span class="kw">return </span><span class="bool-val">true</span>;
}
<span class="comment">// Otherwise, are we in an interesting span?
</span><span class="kw">if let </span><span class="prelude-val">Some</span>(current_span) = cx.lookup_current() {
<span class="kw">return </span>current_span.name() == <span class="string">"interesting_span"</span>;
}
<span class="bool-val">false
</span>}).with_callsite_filter(|metadata| {
<span class="comment">// If this is an "interesting_span", we know we will always
// enable it.
</span><span class="kw">if </span>metadata.is_span() &amp;&amp; metadata.name() == <span class="string">"interesting_span" </span>{
<span class="kw">return </span>Interest::always();
}
<span class="comment">// Otherwise, it depends on whether or not we're in an interesting
// span. You'll have to ask us again for each span/event!
</span>Interest::sometimes()
});
<span class="kw">let </span>my_layer = tracing_subscriber::fmt::layer();
tracing_subscriber::registry()
.with(my_layer.with_filter(my_filter))
.init();</code></pre></div>
</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-DynFilterFn%3CS,+F,+R%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#679-692">source</a><a href="#impl-Clone-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&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.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
R: <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 method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#684-691">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-DynFilterFn%3CS,+F,+R%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#662-677">source</a><a href="#impl-Debug-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&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.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&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/filter/filter_fn.rs.html#663-676">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><details class="toggle implementors-toggle" open><summary><section id="impl-Filter%3CS%3E-for-DynFilterFn%3CS,+F,+R%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#726-742">source</a><a href="#impl-Filter%3CS%3E-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&gt; <a class="trait" href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter">Filter</a>&lt;S&gt; for <a class="struct" href="struct.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'_&gt;, &amp;<a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,
R: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;'static <a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'static&gt;) -&gt; <a class="struct" href="../../tracing_core/subscriber/struct.Interest.html" title="struct tracing_core::subscriber::Interest">Interest</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.enabled-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#731-733">source</a><a href="#method.enabled-1" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#tymethod.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;, cx: &amp;<a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&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'>Returns <code>true</code> if this layer is interested in a span or event with the
given <a href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata"><code>Metadata</code></a> in the current <a href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context"><code>Context</code></a>, similarly to
<a href="../../tracing_core/subscriber/trait.Subscriber.html#tymethod.enabled" title="method tracing_core::subscriber::Subscriber::enabled"><code>Subscriber::enabled</code></a>. <a href="../layer/trait.Filter.html#tymethod.enabled">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.callsite_enabled" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#735-737">source</a><a href="#method.callsite_enabled" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#method.callsite_enabled" class="fn">callsite_enabled</a>(&amp;self, metadata: &amp;'static <a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'static&gt;) -&gt; <a class="struct" href="../../tracing_core/subscriber/struct.Interest.html" title="struct tracing_core::subscriber::Interest">Interest</a></h4></section></summary><div class='docblock'>Returns an <a href="../../tracing_core/subscriber/struct.Interest.html" title="struct tracing_core::subscriber::Interest"><code>Interest</code></a> indicating whether this layer will <a href="../../tracing_core/subscriber/struct.Interest.html#method.always" title="associated function tracing_core::subscriber::Interest::always">always</a>,
<a href="../../tracing_core/subscriber/struct.Interest.html#method.sometimes" title="associated function tracing_core::subscriber::Interest::sometimes">sometimes</a>, or <a href="../../tracing_core/subscriber/struct.Interest.html#method.never" title="associated function tracing_core::subscriber::Interest::never">never</a> be interested in the given <a href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata"><code>Metadata</code></a>. <a href="../layer/trait.Filter.html#method.callsite_enabled">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max_level_hint" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#739-741">source</a><a href="#method.max_level_hint" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#method.max_level_hint" class="fn">max_level_hint</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="struct.LevelFilter.html" title="struct tracing_subscriber::filter::LevelFilter">LevelFilter</a>&gt;</h4></section></summary><div class='docblock'>Returns an optional hint of the highest <a href="../../tracing_core/metadata/struct.Level.html" title="struct tracing_core::metadata::Level">verbosity level</a> that
this <code>Filter</code> will enable. <a href="../layer/trait.Filter.html#method.max_level_hint">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.event_enabled-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1413-1416">source</a><a href="#method.event_enabled-1" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#method.event_enabled" class="fn">event_enabled</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;, cx: &amp;<a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&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'>Called before the filtered [<code>Layer]'s [</code>on_event<code>], to determine if </code>on_event` should be called. <a href="../layer/trait.Filter.html#method.event_enabled">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_new_span-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1457-1459">source</a><a href="#method.on_new_span-1" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#method.on_new_span" class="fn">on_new_span</a>(&amp;self, attrs: &amp;<a class="struct" href="../../tracing_core/span/struct.Attributes.html" title="struct tracing_core::span::Attributes">Attributes</a>&lt;'_&gt;, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this filter that a new span was constructed with the given
<code>Attributes</code> and <code>Id</code>. <a href="../layer/trait.Filter.html#method.on_new_span">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_record-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1468-1470">source</a><a href="#method.on_record-1" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#method.on_record" class="fn">on_record</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, values: &amp;<a class="struct" href="../../tracing_core/span/struct.Record.html" title="struct tracing_core::span::Record">Record</a>&lt;'_&gt;, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this filter that a span with the given <code>Id</code> recorded the given
<code>values</code>. <a href="../layer/trait.Filter.html#method.on_record">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_enter-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1476-1478">source</a><a href="#method.on_enter-1" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#method.on_enter" class="fn">on_enter</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this filter that a span with the given ID was entered. <a href="../layer/trait.Filter.html#method.on_enter">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_exit-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1484-1486">source</a><a href="#method.on_exit-1" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#method.on_exit" class="fn">on_exit</a>(&amp;self, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this filter that a span with the given ID was exited. <a href="../layer/trait.Filter.html#method.on_exit">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_close-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1492-1494">source</a><a href="#method.on_close-1" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Filter.html#method.on_close" class="fn">on_close</a>(&amp;self, id: <a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this filter that a span with the given ID has been closed. <a href="../layer/trait.Filter.html#method.on_close">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CF%3E-for-DynFilterFn%3CS,+F%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#694-701">source</a><a href="#impl-From%3CF%3E-for-DynFilterFn%3CS,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;F, S&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;F&gt; for <a class="struct" href="struct.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'_&gt;, &amp;<a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>,</div></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="../../src/tracing_subscriber/filter/filter_fn.rs.html#698-700">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>(f: F) -&gt; Self</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-Layer%3CS%3E-for-DynFilterFn%3CS,+F,+R%3E" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#643-660">source</a><a href="#impl-Layer%3CS%3E-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&gt; <a class="trait" href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer">Layer</a>&lt;S&gt; for <a class="struct" href="struct.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'_&gt;, &amp;<a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a> + 'static,
R: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;'static <a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'static&gt;) -&gt; <a class="struct" href="../../tracing_core/subscriber/struct.Interest.html" title="struct tracing_core::subscriber::Interest">Interest</a> + 'static,
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.enabled" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#649-651">source</a><a href="#method.enabled" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#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;, cx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&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'>Returns <code>true</code> if this layer is interested in a span or event with the
given <code>metadata</code> in the current <a href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context"><code>Context</code></a>, similarly to
<a href="../../tracing_core/subscriber/trait.Subscriber.html#tymethod.enabled" title="method tracing_core::subscriber::Subscriber::enabled"><code>Subscriber::enabled</code></a>. <a href="../layer/trait.Layer.html#method.enabled">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.register_callsite" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/filter_fn.rs.html#653-655">source</a><a href="#method.register_callsite" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.register_callsite" class="fn">register_callsite</a>(&amp;self, metadata: &amp;'static <a class="struct" href="../../tracing_core/metadata/struct.Metadata.html" title="struct tracing_core::metadata::Metadata">Metadata</a>&lt;'static&gt;) -&gt; <a class="struct" href="../../tracing_core/subscriber/struct.Interest.html" title="struct tracing_core::subscriber::Interest">Interest</a></h4></section></summary><div class='docblock'>Registers a new callsite with this layer, returning whether or not
the layer is interested in being notified about the callsite, similarly
to <a href="../../tracing_core/subscriber/trait.Subscriber.html#method.register_callsite" title="method tracing_core::subscriber::Subscriber::register_callsite"><code>Subscriber::register_callsite</code></a>. <a href="../layer/trait.Layer.html#method.register_callsite">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_register_dispatch" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#753-755">source</a><a href="#method.on_register_dispatch" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_register_dispatch" class="fn">on_register_dispatch</a>(&amp;self, subscriber: &amp;<a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>)</h4></section></summary><div class='docblock'>Performs late initialization when installing this layer as a
<a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>. <a href="../layer/trait.Layer.html#method.on_register_dispatch">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_layer" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#784-786">source</a><a href="#method.on_layer" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_layer" class="fn">on_layer</a>(&amp;mut self, subscriber: <a class="primitive" href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Performs late initialization when attaching a <code>Layer</code> to a
<a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>. <a href="../layer/trait.Layer.html#method.on_layer">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.on_new_span" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#875-877">source</a><a href="#method.on_new_span" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_new_span" class="fn">on_new_span</a>(&amp;self, attrs: &amp;<a class="struct" href="../../tracing_core/span/struct.Attributes.html" title="struct tracing_core::span::Attributes">Attributes</a>&lt;'_&gt;, id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a new span was constructed with the given
<code>Attributes</code> and <code>Id</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_record" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#892">source</a><a href="#method.on_record" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_record" class="fn">on_record</a>(&amp;self, _span: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _values: &amp;<a class="struct" href="../../tracing_core/span/struct.Record.html" title="struct tracing_core::span::Record">Record</a>&lt;'_&gt;, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a span with the given <code>Id</code> recorded the given
<code>values</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_follows_from" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#899">source</a><a href="#method.on_follows_from" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_follows_from" class="fn">on_follows_from</a>(&amp;self, _span: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _follows: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a span with the ID <code>span</code> recorded that it
follows from the span with the ID <code>follows</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.event_enabled" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#922-924">source</a><a href="#method.event_enabled" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.event_enabled" class="fn">event_enabled</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;, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&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'>Called before <a href="../layer/trait.Layer.html#method.on_event"><code>on_event</code></a>, to determine if <code>on_event</code> should be called.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_event" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#927">source</a><a href="#method.on_event" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_event" class="fn">on_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;, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that an event has occurred.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_enter" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#930">source</a><a href="#method.on_enter" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_enter" class="fn">on_enter</a>(&amp;self, _id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a span with the given ID was entered.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_exit" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#933">source</a><a href="#method.on_exit" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_exit" class="fn">on_exit</a>(&amp;self, _id: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that the span with the given ID was exited.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_close" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#936">source</a><a href="#method.on_close" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_close" class="fn">on_close</a>(&amp;self, _id: <a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that the span with the given ID has been closed.</div></details><details class="toggle method-toggle" open><summary><section id="method.on_id_change" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#940">source</a><a href="#method.on_id_change" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.on_id_change" class="fn">on_id_change</a>(&amp;self, _old: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _new: &amp;<a class="struct" href="../../tracing_core/span/struct.Id.html" title="struct tracing_core::span::Id">Id</a>, _ctx: <a class="struct" href="../layer/struct.Context.html" title="struct tracing_subscriber::layer::Context">Context</a>&lt;'_, S&gt;)</h4></section></summary><div class='docblock'>Notifies this layer that a span ID has been cloned, and that the
subscriber returned a different ID.</div></details><details class="toggle method-toggle" open><summary><section id="method.and_then" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1039-1046">source</a><a href="#method.and_then" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.and_then" class="fn">and_then</a>&lt;L&gt;(self, layer: L) -&gt; <a class="struct" href="../layer/struct.Layered.html" title="struct tracing_subscriber::layer::Layered">Layered</a>&lt;L, Self, S&gt;<div class="where">where
L: <a class="trait" href="../layer/trait.Layer.html" title="trait tracing_subscriber::layer::Layer">Layer</a>&lt;S&gt;,
Self: <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></h4></section></summary><div class='docblock'>Composes this layer around the given <code>Layer</code>, returning a <code>Layered</code>
struct implementing <code>Layer</code>. <a href="../layer/trait.Layer.html#method.and_then">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1091-1098">source</a><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.with_subscriber" class="fn">with_subscriber</a>(self, inner: S) -&gt; <a class="struct" href="../layer/struct.Layered.html" title="struct tracing_subscriber::layer::Layered">Layered</a>&lt;Self, S&gt;<div class="where">where
Self: <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></h4></section></summary><div class='docblock'>Composes this <code>Layer</code> with the given <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>, returning a
<code>Layered</code> struct that implements <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a>. <a href="../layer/trait.Layer.html#method.with_subscriber">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_filter" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/layer/mod.rs.html#1110-1116">source</a><a href="#method.with_filter" class="anchor">§</a><h4 class="code-header">fn <a href="../layer/trait.Layer.html#method.with_filter" class="fn">with_filter</a>&lt;F&gt;(self, filter: F) -&gt; <a class="struct" href="struct.Filtered.html" title="struct tracing_subscriber::filter::Filtered">Filtered</a>&lt;Self, F, S&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter">Filter</a>&lt;S&gt;,</div></h4></section></summary><div class='docblock'>Combines <code>self</code> with a <a href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter"><code>Filter</code></a>, returning a <a href="struct.Filtered.html" title="struct tracing_subscriber::filter::Filtered"><code>Filtered</code></a> layer. <a href="../layer/trait.Layer.html#method.with_filter">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-DynFilterFn%3CS,+F,+R%3E" class="impl"><a href="#impl-Freeze-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&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.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,
R: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-DynFilterFn%3CS,+F,+R%3E" class="impl"><a href="#impl-RefUnwindSafe-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&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.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <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>,
R: <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-DynFilterFn%3CS,+F,+R%3E" class="impl"><a href="#impl-Send-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&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.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
R: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-DynFilterFn%3CS,+F,+R%3E" class="impl"><a href="#impl-Sync-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&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.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
R: <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-DynFilterFn%3CS,+F,+R%3E" class="impl"><a href="#impl-Unpin-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&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.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
R: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-DynFilterFn%3CS,+F,+R%3E" class="impl"><a href="#impl-UnwindSafe-for-DynFilterFn%3CS,+F,+R%3E" class="anchor">§</a><h3 class="code-header">impl&lt;S, F, R&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.DynFilterFn.html" title="struct tracing_subscriber::filter::DynFilterFn">DynFilterFn</a>&lt;S, F, R&gt;<div class="where">where
F: <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>,
R: <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>,</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-FilterExt%3CS%3E-for-F" class="impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/layer_filters/mod.rs.html#1026">source</a><a href="#impl-FilterExt%3CS%3E-for-F" class="anchor">§</a><h3 class="code-header">impl&lt;F, S&gt; <a class="trait" href="trait.FilterExt.html" title="trait tracing_subscriber::filter::FilterExt">FilterExt</a>&lt;S&gt; for F<div class="where">where
F: <a class="trait" href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter">Filter</a>&lt;S&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.and" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/layer_filters/mod.rs.html#209-215">source</a><a href="#method.and" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FilterExt.html#method.and" class="fn">and</a>&lt;B&gt;(self, other: B) -&gt; <a class="struct" href="combinator/struct.And.html" title="struct tracing_subscriber::filter::combinator::And">And</a>&lt;Self, B, S&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B: <a class="trait" href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter">Filter</a>&lt;S&gt;,</div></h4></section></summary><div class='docblock'>Combines this <a href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter"><code>Filter</code></a> with another <a href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter"><code>Filter</code></a> s so that spans and
events are enabled if and only if <em>both</em> filters return <code>true</code>. <a href="trait.FilterExt.html#method.and">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.or" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/layer_filters/mod.rs.html#291-297">source</a><a href="#method.or" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FilterExt.html#method.or" class="fn">or</a>&lt;B&gt;(self, other: B) -&gt; <a class="struct" href="combinator/struct.Or.html" title="struct tracing_subscriber::filter::combinator::Or">Or</a>&lt;Self, B, S&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B: <a class="trait" href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter">Filter</a>&lt;S&gt;,</div></h4></section></summary><div class='docblock'>Combines two <a href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter"><code>Filter</code></a>s so that spans and events are enabled if <em>either</em> filter
returns <code>true</code>. <a href="trait.FilterExt.html#method.or">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.not" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/layer_filters/mod.rs.html#358-363">source</a><a href="#method.not" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FilterExt.html#method.not" class="fn">not</a>(self) -&gt; <a class="struct" href="combinator/struct.Not.html" title="struct tracing_subscriber::filter::combinator::Not">Not</a>&lt;Self, S&gt;<div class="where">where
Self: <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></h4></section></summary><div class='docblock'>Inverts <code>self</code>, returning a filter that enables spans and events only if
<code>self</code> would <em>not</em> enable them. <a href="trait.FilterExt.html#method.not">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.boxed" class="method trait-impl"><a class="src rightside" href="../../src/tracing_subscriber/filter/layer_filters/mod.rs.html#435-440">source</a><a href="#method.boxed" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FilterExt.html#method.boxed" class="fn">boxed</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.80.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../layer/trait.Filter.html" title="trait tracing_subscriber::layer::Filter">Filter</a>&lt;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> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div></h4></section></summary><div class='docblock'><a href="https://doc.rust-lang.org/1.80.0/alloc/boxed/index.html" title="mod alloc::boxed">Boxes</a> <code>self</code>, erasing its concrete type. <a href="trait.FilterExt.html#method.boxed">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-1" 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-1" 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-1" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#176-178">source</a><a href="#method.with_subscriber-1" 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>