Impl filter for EnvFilter
Fixes #1868
Follow-up on https://github.com/tokio-rs/tracing/pull/1973

## Motivation

Filtering by span and field requires using EnvFilter. Per-layer filtering requires the Filter trait.

## Solution

Implement the Filter trait for EnvFilter

## Bug Report

### Version

tracing-subscriber v0.3.7

### Crates

tracing-subscriber

### Description

`tracing_subscriber::layer::Filter` is implemented for most various filter-like things I can think of, including `LevelFilter`, `Targets`, `FilterFn`, `DynFilterFn`, and the new combinators. But what is notably missing from this list is `EnvFilter`. I can apply a filter on top of `EnvFilter` using `<EnvFilter as Layer>::with_filter()`, but I can't apply an `EnvFilter` on top of an existing filter. This is a weird limitation and feels like a simple oversight.
`EnvFilter` does not implement `Filter`
diff --git a/tracing-subscriber/Cargo.toml b/tracing-subscriber/Cargo.toml
index 5f86fee69e..5e9dd72855 100644
--- a/tracing-subscriber/Cargo.toml
+++ b/tracing-subscriber/Cargo.toml
@@ -27,7 +27,7 @@ rust-version = "1.49.0"
 default = ["smallvec", "fmt", "ansi", "tracing-log", "std"]
 alloc = []
 std = ["alloc", "tracing-core/std"]
-env-filter = ["matchers", "regex", "lazy_static", "tracing", "std"]
+env-filter = ["matchers", "regex", "lazy_static", "tracing", "std", "thread_local"]
 fmt = ["registry", "std"]
 ansi = ["fmt", "ansi_term"]
 registry = ["sharded-slab", "thread_local", "std"]
diff --git a/tracing-subscriber/src/filter/env/mod.rs b/tracing-subscriber/src/filter/env/mod.rs
index 92f43a1443..d2a403afbc 100644
--- a/tracing-subscriber/src/filter/env/mod.rs
+++ b/tracing-subscriber/src/filter/env/mod.rs
@@ -10,11 +10,12 @@ mod field;
 
 use crate::{
     filter::LevelFilter,
-    layer::{Context, Layer},
+    layer::{self, Context, Layer},
     sync::RwLock,
 };
 use directive::ParseError;
 use std::{cell::RefCell, collections::HashMap, env, error::Error, fmt, str::FromStr};
+use thread_local::ThreadLocal;
 use tracing_core::{
     callsite,
     field::Field,
@@ -26,6 +27,16 @@ use tracing_core::{
 /// A [`Layer`] which filters spans and events based on a set of filter
 /// directives.
 ///
+/// `EnvFilter` implements both the [`Layer`](#impl-Layer<S>) and [`Filter`] traits, so it may
+/// be used for both [global filtering][global] and [per-layer filtering][plf],
+/// respectively. See [the documentation on filtering with `Layer`s][filtering]
+/// for details.
+///
+/// The [`Targets`] type implements a similar form of filtering, but without the
+/// ability to dynamically enable events based on the current span context, and
+/// without filtering on field values. When these features are not required,
+/// [`Targets`] provides a lighter-weight alternative to [`EnvFilter`].
+///
 /// # Directives
 ///
 /// A filter consists of one or more comma-separated directives which match on [`Span`]s and [`Event`]s.
@@ -72,7 +83,7 @@ use tracing_core::{
 /// - A dash in a target will only appear when being specified explicitly:
 ///   `tracing::info!(target: "target-name", ...);`
 ///
-/// ## Examples
+/// ## Example Syntax
 ///
 /// - `tokio::net=info` will enable all spans or events that:
 ///    - have the `tokio::net` target,
@@ -89,10 +100,54 @@ use tracing_core::{
 ///    - which has a field named `name` with value `bob`,
 ///    - at _any_ level.
 ///
-/// The [`Targets`] type implements a similar form of filtering, but without the
-/// ability to dynamically enable events based on the current span context, and
-/// without filtering on field values. When these features are not required,
-/// [`Targets`] provides a lighter-weight alternative to [`EnvFilter`].
+/// # Examples
+///
+/// Parsing an `EnvFilter` from the [default environment
+/// variable](EnvFilter::from_default_env) (`RUST_LOG`):
+///
+/// ```
+/// use tracing_subscriber::{EnvFilter, fmt, prelude::*};
+///
+/// tracing_subscriber::registry()
+///     .with(fmt::layer())
+///     .with(EnvFilter::from_default_env())
+///     .init();
+/// ```
+///
+/// Parsing an `EnvFilter` [from a user-provided environment
+/// variable](EnvFilter::from_env):
+///
+/// ```
+/// use tracing_subscriber::{EnvFilter, fmt, prelude::*};
+///
+/// tracing_subscriber::registry()
+///     .with(fmt::layer())
+///     .with(EnvFilter::from_env("MYAPP_LOG"))
+///     .init();
+/// ```
+///
+/// Using `EnvFilter` as a [per-layer filter][plf] to filter only a single
+/// [`Layer`]:
+///
+/// ```
+/// use tracing_subscriber::{EnvFilter, fmt, prelude::*};
+///
+/// // Parse an `EnvFilter` configuration from the `RUST_LOG`
+/// // environment variable.
+/// let filter = EnvFilter::from_default_env();
+///
+/// // Apply the filter to this layer *only*.
+/// let filtered_layer = fmt::layer().with_filter(filter);
+///
+/// // Some other layer, whose output we don't want to filter.
+/// let unfiltered_layer = // ...
+///     # fmt::layer();
+///
+/// tracing_subscriber::registry()
+///     .with(filtered_layer)
+///     .with(unfiltered_layer)
+///     .init();
+/// ```
 ///
 /// [`Span`]: tracing_core::span
 /// [fields]: tracing_core::Field
@@ -101,6 +156,10 @@ use tracing_core::{
 /// [`Metadata`]: tracing_core::Metadata
 /// [`Targets`]: crate::filter::Targets
 /// [`env_logger`]: https://crates.io/crates/env_logger
+/// [`Filter`]: #impl-Filter<S>
+/// [global]: crate::layer#global-filtering
+/// [plf]: crate::layer#per-layer-filtering
+/// [filtering]: crate::layer#filtering-with-layers
 #[cfg_attr(docsrs, doc(cfg(all(feature = "env-filter", feature = "std"))))]
 #[derive(Debug)]
 pub struct EnvFilter {
@@ -109,10 +168,7 @@ pub struct EnvFilter {
     has_dynamics: bool,
     by_id: RwLock<HashMap<span::Id, directive::SpanMatcher>>,
     by_cs: RwLock<HashMap<callsite::Identifier, directive::CallsiteMatcher>>,
-}
-
-thread_local! {
-    static SCOPE: RefCell<Vec<LevelFilter>> = RefCell::new(Vec::new());
+    scope: ThreadLocal<RefCell<Vec<LevelFilter>>>,
 }
 
 type FieldMap<T> = HashMap<Field, T>;
@@ -350,6 +406,10 @@ impl EnvFilter {
             has_dynamics,
             by_id: RwLock::new(HashMap::new()),
             by_cs: RwLock::new(HashMap::new()),
+            // TODO(eliza): maybe worth allocating capacity for `num_cpus`
+            // threads or something (assuming we're running in Tokio)? or
+            // `num_cpus * 2` or something?
+            scope: ThreadLocal::new(),
         }
     }
 
@@ -365,9 +425,7 @@ impl EnvFilter {
             Interest::never()
         }
     }
-}
 
-impl<S: Subscriber> Layer<S> for EnvFilter {
     fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest {
         if self.has_dynamics && metadata.is_span() {
             // If this metadata describes a span, first, check if there is a
@@ -388,20 +446,7 @@ impl<S: Subscriber> Layer<S> for EnvFilter {
         }
     }
 
-    fn max_level_hint(&self) -> Option<LevelFilter> {
-        if self.dynamics.has_value_filters() {
-            // If we perform any filtering on span field *values*, we will
-            // enable *all* spans, because their field values are not known
-            // until recording.
-            return Some(LevelFilter::TRACE);
-        }
-        std::cmp::max(
-            self.statics.max_level.into(),
-            self.dynamics.max_level.into(),
-        )
-    }
-
-    fn enabled(&self, metadata: &Metadata<'_>, _: Context<'_, S>) -> bool {
+    fn enabled(&self, metadata: &Metadata<'_>) -> bool {
         let level = metadata.level();
 
         // is it possible for a dynamic filter directive to enable this event?
@@ -421,14 +466,15 @@ impl<S: Subscriber> Layer<S> for EnvFilter {
                 }
             }
 
-            let enabled_by_scope = SCOPE.with(|scope| {
-                for filter in scope.borrow().iter() {
+            let enabled_by_scope = {
+                let scope = self.scope.get_or_default().borrow();
+                for filter in &*scope {
                     if filter >= level {
                         return true;
                     }
                 }
                 false
-            });
+            };
             if enabled_by_scope {
                 return true;
             }
@@ -444,7 +490,20 @@ impl<S: Subscriber> Layer<S> for EnvFilter {
         false
     }
 
-    fn on_new_span(&self, attrs: &span::Attributes<'_>, id: &span::Id, _: Context<'_, S>) {
+    fn max_level_hint(&self) -> Option<LevelFilter> {
+        if self.dynamics.has_value_filters() {
+            // If we perform any filtering on span field *values*, we will
+            // enable *all* spans, because their field values are not known
+            // until recording.
+            return Some(LevelFilter::TRACE);
+        }
+        std::cmp::max(
+            self.statics.max_level.into(),
+            self.dynamics.max_level.into(),
+        )
+    }
+
+    fn on_new_span(&self, attrs: &span::Attributes<'_>, id: &span::Id) {
         let by_cs = try_lock!(self.by_cs.read());
         if let Some(cs) = by_cs.get(&attrs.metadata().callsite()) {
             let span = cs.to_span_match(attrs);
@@ -452,28 +511,22 @@ impl<S: Subscriber> Layer<S> for EnvFilter {
         }
     }
 
-    fn on_record(&self, id: &span::Id, values: &span::Record<'_>, _: Context<'_, S>) {
-        if let Some(span) = try_lock!(self.by_id.read()).get(id) {
-            span.record_update(values);
-        }
-    }
-
-    fn on_enter(&self, id: &span::Id, _: Context<'_, S>) {
+    fn on_enter(&self, id: &span::Id) {
         // XXX: This is where _we_ could push IDs to the stack instead, and use
         // that to allow changing the filter while a span is already entered.
         // But that might be much less efficient...
         if let Some(span) = try_lock!(self.by_id.read()).get(id) {
-            SCOPE.with(|scope| scope.borrow_mut().push(span.level()));
+            self.scope.get_or_default().borrow_mut().push(span.level());
         }
     }
 
-    fn on_exit(&self, id: &span::Id, _: Context<'_, S>) {
+    fn on_exit(&self, id: &span::Id) {
         if self.cares_about_span(id) {
-            SCOPE.with(|scope| scope.borrow_mut().pop());
+            self.scope.get_or_default().borrow_mut().pop();
         }
     }
 
-    fn on_close(&self, id: span::Id, _: Context<'_, S>) {
+    fn on_close(&self, id: span::Id) {
         // If we don't need to acquire a write lock, avoid doing so.
         if !self.cares_about_span(&id) {
             return;
@@ -484,6 +537,90 @@ impl<S: Subscriber> Layer<S> for EnvFilter {
     }
 }
 
+impl<S: Subscriber> Layer<S> for EnvFilter {
+    #[inline]
+    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest {
+        EnvFilter::register_callsite(self, metadata)
+    }
+
+    #[inline]
+    fn max_level_hint(&self) -> Option<LevelFilter> {
+        EnvFilter::max_level_hint(self)
+    }
+
+    #[inline]
+    fn enabled(&self, metadata: &Metadata<'_>, _: Context<'_, S>) -> bool {
+        self.enabled(metadata)
+    }
+
+    #[inline]
+    fn on_new_span(&self, attrs: &span::Attributes<'_>, id: &span::Id, _: Context<'_, S>) {
+        self.on_new_span(attrs, id)
+    }
+
+    fn on_record(&self, id: &span::Id, values: &span::Record<'_>, _: Context<'_, S>) {
+        if let Some(span) = try_lock!(self.by_id.read()).get(id) {
+            span.record_update(values);
+        }
+    }
+
+    #[inline]
+    fn on_enter(&self, id: &span::Id, _: Context<'_, S>) {
+        self.on_enter(id);
+    }
+
+    #[inline]
+    fn on_exit(&self, id: &span::Id, _: Context<'_, S>) {
+        self.on_exit(id);
+    }
+
+    #[inline]
+    fn on_close(&self, id: span::Id, _: Context<'_, S>) {
+        self.on_close(id);
+    }
+}
+
+feature! {
+    #![all(feature = "registry", feature = "std")]
+
+    impl<S> layer::Filter<S> for EnvFilter {
+        #[inline]
+        fn enabled(&self, meta: &Metadata<'_>, _: &Context<'_, S>) -> bool {
+            self.enabled(meta)
+        }
+
+        #[inline]
+        fn callsite_enabled(&self, meta: &'static Metadata<'static>) -> Interest {
+            self.register_callsite(meta)
+        }
+
+        #[inline]
+        fn max_level_hint(&self) -> Option<LevelFilter> {
+            EnvFilter::max_level_hint(self)
+        }
+
+        #[inline]
+        fn on_new_span(&self, attrs: &span::Attributes<'_>, id: &span::Id, _: Context<'_, S>) {
+            self.on_new_span(attrs, id)
+        }
+
+        #[inline]
+        fn on_enter(&self, id: &span::Id, _: Context<'_, S>) {
+            self.on_enter(id);
+        }
+
+        #[inline]
+        fn on_exit(&self, id: &span::Id, _: Context<'_, S>) {
+            self.on_exit(id);
+        }
+
+        #[inline]
+        fn on_close(&self, id: span::Id, _: Context<'_, S>) {
+            self.on_close(id);
+        }
+    }
+}
+
 impl FromStr for EnvFilter {
     type Err = directive::ParseError;
 

diff --git a/tracing-subscriber/tests/env_filter/main.rs b/tracing-subscriber/tests/env_filter/main.rs
new file mode 100644
index 0000000000..05e983e1af
--- /dev/null
+++ b/tracing-subscriber/tests/env_filter/main.rs
@@ -0,0 +1,538 @@
+#![cfg(feature = "env-filter")]
+
+#[path = "../support.rs"]
+mod support;
+use self::support::*;
+
+mod per_layer;
+
+use tracing::{self, subscriber::with_default, Level};
+use tracing_subscriber::{
+    filter::{EnvFilter, LevelFilter},
+    prelude::*,
+};
+
+#[test]
+fn level_filter_event() {
+    let filter: EnvFilter = "info".parse().expect("filter should parse");
+    let (subscriber, finished) = subscriber::mock()
+        .event(event::mock().at_level(Level::INFO))
+        .event(event::mock().at_level(Level::WARN))
+        .event(event::mock().at_level(Level::ERROR))
+        .done()
+        .run_with_handle();
+    let subscriber = subscriber.with(filter);
+
+    with_default(subscriber, || {
+        tracing::trace!("this should be disabled");
+        tracing::info!("this shouldn't be");
+        tracing::debug!(target: "foo", "this should also be disabled");
+        tracing::warn!(target: "foo", "this should be enabled");
+        tracing::error!("this should be enabled too");
+    });
+
+    finished.assert_finished();
+}
+
+#[test]
+fn same_name_spans() {
+    let filter: EnvFilter = "[foo{bar}]=trace,[foo{baz}]=trace"
+        .parse()
+        .expect("filter should parse");
+    let (subscriber, finished) = subscriber::mock()
+        .new_span(
+            span::mock()
+                .named("foo")
+                .at_level(Level::TRACE)
+                .with_field(field::mock("bar")),
+        )
+        .new_span(
+            span::mock()
+                .named("foo")
+                .at_level(Level::TRACE)
+                .with_field(field::mock("baz")),
+        )
+        .done()
+        .run_with_handle();
+    let subscriber = subscriber.with(filter);
+    with_default(subscriber, || {
+        tracing::trace_span!("foo", bar = 1);
+        tracing::trace_span!("foo", baz = 1);
+    });
+
+    finished.assert_finished();
+}
+
+#[test]
+fn level_filter_event_with_target() {
+    let filter: EnvFilter = "info,stuff=debug".parse().expect("filter should parse");
+    let (subscriber, finished) = subscriber::mock()
+        .event(event::mock().at_level(Level::INFO))
+        .event(event::mock().at_level(Level::DEBUG).with_target("stuff"))
+        .event(event::mock().at_level(Level::WARN).with_target("stuff"))
+        .event(event::mock().at_level(Level::ERROR))
+        .event(event::mock().at_level(Level::ERROR).with_target("stuff"))
+        .done()
+        .run_with_handle();
+    let subscriber = subscriber.with(filter);
+
+    with_default(subscriber, || {
+        tracing::trace!("this should be disabled");
+        tracing::info!("this shouldn't be");
+        tracing::debug!(target: "stuff", "this should be enabled");
+        tracing::debug!("but this shouldn't");
+        tracing::trace!(target: "stuff", "and neither should this");
+        tracing::warn!(target: "stuff", "this should be enabled");
+        tracing::error!("this should be enabled too");
+        tracing::error!(target: "stuff", "this should be enabled also");
+    });
+
+    finished.assert_finished();
+}
+
+#[test]
+fn level_filter_event_with_target_and_span_global() {
+    let filter: EnvFilter = "info,stuff[cool_span]=debug"
+        .parse()
+        .expect("filter should parse");
+
+    let cool_span = span::named("cool_span");
+    let uncool_span = span::named("uncool_span");
+    let (subscriber, handle) = subscriber::mock()
+        .enter(cool_span.clone())
+        .event(
+            event::mock()
+                .at_level(Level::DEBUG)
+                .in_scope(vec![cool_span.clone()]),
+        )
+        .exit(cool_span)
+        .enter(uncool_span.clone())
+        .exit(uncool_span)
+        .done()
+        .run_with_handle();
+
+    let subscriber = subscriber.with(filter);
+
+    with_default(subscriber, || {
+        {
+            let _span = tracing::info_span!(target: "stuff", "cool_span").entered();
+            tracing::debug!("this should be enabled");
+        }
+
+        tracing::debug!("should also be disabled");
+
+        {
+            let _span = tracing::info_span!("uncool_span").entered();
+            tracing::debug!("this should be disabled");
+        }
+    });
+
+    handle.assert_finished();
+}
+
+#[test]
+fn not_order_dependent() {
+    // this test reproduces tokio-rs/tracing#623
+
+    let filter: EnvFilter = "stuff=debug,info".parse().expect("filter should parse");
+    let (subscriber, finished) = subscriber::mock()
+        .event(event::mock().at_level(Level::INFO))
+        .event(event::mock().at_level(Level::DEBUG).with_target("stuff"))
+        .event(event::mock().at_level(Level::WARN).with_target("stuff"))
+        .event(event::mock().at_level(Level::ERROR))
+        .event(event::mock().at_level(Level::ERROR).with_target("stuff"))
+        .done()
+        .run_with_handle();
+    let subscriber = subscriber.with(filter);
+
+    with_default(subscriber, || {
+        tracing::trace!("this should be disabled");
+        tracing::info!("this shouldn't be");
+        tracing::debug!(target: "stuff", "this should be enabled");
+        tracing::debug!("but this shouldn't");
+        tracing::trace!(target: "stuff", "and neither should this");
+        tracing::warn!(target: "stuff", "this should be enabled");
+        tracing::error!("this should be enabled too");
+        tracing::error!(target: "stuff", "this should be enabled also");
+    });
+
+    finished.assert_finished();
+}
+
+#[test]
+fn add_directive_enables_event() {
+    // this test reproduces tokio-rs/tracing#591
+
+    // by default, use info level
+    let mut filter = EnvFilter::new(LevelFilter::INFO.to_string());
+
+    // overwrite with a more specific directive
+    filter = filter.add_directive("hello=trace".parse().expect("directive should parse"));
+
+    let (subscriber, finished) = subscriber::mock()
+        .event(event::mock().at_level(Level::INFO).with_target("hello"))
+        .event(event::mock().at_level(Level::TRACE).with_target("hello"))
+        .done()
+        .run_with_handle();
+    let subscriber = subscriber.with(filter);
+
+    with_default(subscriber, || {
+        tracing::info!(target: "hello", "hello info");
+        tracing::trace!(target: "hello", "hello trace");
+    });
+
+    finished.assert_finished();
+}
+
+#[test]
+fn span_name_filter_is_dynamic() {
+    let filter: EnvFilter = "info,[cool_span]=debug"
+        .parse()
+        .expect("filter should parse");
+    let (subscriber, finished) = subscriber::mock()
+        .event(event::mock().at_level(Level::INFO))
+        .enter(span::named("cool_span"))
+        .event(event::mock().at_level(Level::DEBUG))
+        .enter(span::named("uncool_span"))
+        .event(event::mock().at_level(Level::WARN))
+        .event(event::mock().at_level(Level::DEBUG))
+        .exit(span::named("uncool_span"))
+        .exit(span::named("cool_span"))
+        .enter(span::named("uncool_span"))
+        .event(event::mock().at_level(Level::WARN))
+        .event(event::mock().at_level(Level::ERROR))
+        .exit(span::named("uncool_span"))
+        .done()
+        .run_with_handle();
+    let subscriber = subscriber.with(filter);
+
+    with_default(subscriber, || {
+        tracing::trace!("this should be disabled");
+        tracing::info!("this shouldn't be");
+        let cool_span = tracing::info_span!("cool_span");
+        let uncool_span = tracing::info_span!("uncool_span");
+
+        {
+            let _enter = cool_span.enter();
+            tracing::debug!("i'm a cool event");
+            tracing::trace!("i'm cool, but not cool enough");
+            let _enter2 = uncool_span.enter();
+            tracing::warn!("warning: extremely cool!");
+            tracing::debug!("i'm still cool");
+        }
+
+        let _enter = uncool_span.enter();
+        tracing::warn!("warning: not that cool");
+        tracing::trace!("im not cool enough");
+        tracing::error!("uncool error");
+    });
+
+    finished.assert_finished();
+}
+
+// contains the same tests as the first half of this file
+// but using EnvFilter as a `Filter`, not as a `Layer`
+mod per_layer_filter {
+    use super::*;
+
+    #[test]
+    fn level_filter_event() {
+        let filter: EnvFilter = "info".parse().expect("filter should parse");
+        let (layer, handle) = layer::mock()
+            .event(event::mock().at_level(Level::INFO))
+            .event(event::mock().at_level(Level::WARN))
+            .event(event::mock().at_level(Level::ERROR))
+            .done()
+            .run_with_handle();
+
+        let _subscriber = tracing_subscriber::registry()
+            .with(layer.with_filter(filter))
+            .set_default();
+
+        tracing::trace!("this should be disabled");
+        tracing::info!("this shouldn't be");
+        tracing::debug!(target: "foo", "this should also be disabled");
+        tracing::warn!(target: "foo", "this should be enabled");
+        tracing::error!("this should be enabled too");
+
+        handle.assert_finished();
+    }
+
+    #[test]
+    fn same_name_spans() {
+        let filter: EnvFilter = "[foo{bar}]=trace,[foo{baz}]=trace"
+            .parse()
+            .expect("filter should parse");
+        let (layer, handle) = layer::mock()
+            .new_span(
+                span::mock()
+                    .named("foo")
+                    .at_level(Level::TRACE)
+                    .with_field(field::mock("bar")),
+            )
+            .new_span(
+                span::mock()
+                    .named("foo")
+                    .at_level(Level::TRACE)
+                    .with_field(field::mock("baz")),
+            )
+            .done()
+            .run_with_handle();
+
+        let _subscriber = tracing_subscriber::registry()
+            .with(layer.with_filter(filter))
+            .set_default();
+
+        tracing::trace_span!("foo", bar = 1);
+        tracing::trace_span!("foo", baz = 1);
+
+        handle.assert_finished();
+    }
+
+    #[test]
+    fn level_filter_event_with_target() {
+        let filter: EnvFilter = "info,stuff=debug".parse().expect("filter should parse");
+        let (layer, handle) = layer::mock()
+            .event(event::mock().at_level(Level::INFO))
+            .event(event::mock().at_level(Level::DEBUG).with_target("stuff"))
+            .event(event::mock().at_level(Level::WARN).with_target("stuff"))
+            .event(event::mock().at_level(Level::ERROR))
+            .event(event::mock().at_level(Level::ERROR).with_target("stuff"))
+            .done()
+            .run_with_handle();
+
+        let _subscriber = tracing_subscriber::registry()
+            .with(layer.with_filter(filter))
+            .set_default();
+
+        tracing::trace!("this should be disabled");
+        tracing::info!("this shouldn't be");
+        tracing::debug!(target: "stuff", "this should be enabled");
+        tracing::debug!("but this shouldn't");
+        tracing::trace!(target: "stuff", "and neither should this");
+        tracing::warn!(target: "stuff", "this should be enabled");
+        tracing::error!("this should be enabled too");
+        tracing::error!(target: "stuff", "this should be enabled also");
+
+        handle.assert_finished();
+    }
+
+    #[test]
+    fn level_filter_event_with_target_and_span() {
+        let filter: EnvFilter = "stuff[cool_span]=debug"
+            .parse()
+            .expect("filter should parse");
+
+        let cool_span = span::named("cool_span");
+        let (layer, handle) = layer::mock()
+            .enter(cool_span.clone())
+            .event(
+                event::mock()
+                    .at_level(Level::DEBUG)
+                    .in_scope(vec![cool_span.clone()]),
+            )
+            .exit(cool_span)
+            .done()
+            .run_with_handle();
+
+        let _subscriber = tracing_subscriber::registry()
+            .with(layer.with_filter(filter))
+            .set_default();
+
+        {
+            let _span = tracing::info_span!(target: "stuff", "cool_span").entered();
+            tracing::debug!("this should be enabled");
+        }
+
+        tracing::debug!("should also be disabled");
+
+        {
+            let _span = tracing::info_span!("uncool_span").entered();
+            tracing::debug!("this should be disabled");
+        }
+
+        handle.assert_finished();
+    }
+
+    #[test]
+    fn not_order_dependent() {
+        // this test reproduces tokio-rs/tracing#623
+
+        let filter: EnvFilter = "stuff=debug,info".parse().expect("filter should parse");
+        let (layer, finished) = layer::mock()
+            .event(event::mock().at_level(Level::INFO))
+            .event(event::mock().at_level(Level::DEBUG).with_target("stuff"))
+            .event(event::mock().at_level(Level::WARN).with_target("stuff"))
+            .event(event::mock().at_level(Level::ERROR))
+            .event(event::mock().at_level(Level::ERROR).with_target("stuff"))
+            .done()
+            .run_with_handle();
+
+        let _subscriber = tracing_subscriber::registry()
+            .with(layer.with_filter(filter))
+            .set_default();
+
+        tracing::trace!("this should be disabled");
+        tracing::info!("this shouldn't be");
+        tracing::debug!(target: "stuff", "this should be enabled");
+        tracing::debug!("but this shouldn't");
+        tracing::trace!(target: "stuff", "and neither should this");
+        tracing::warn!(target: "stuff", "this should be enabled");
+        tracing::error!("this should be enabled too");
+        tracing::error!(target: "stuff", "this should be enabled also");
+
+        finished.assert_finished();
+    }
+
+    #[test]
+    fn add_directive_enables_event() {
+        // this test reproduces tokio-rs/tracing#591
+
+        // by default, use info level
+        let mut filter = EnvFilter::new(LevelFilter::INFO.to_string());
+
+        // overwrite with a more specific directive
+        filter = filter.add_directive("hello=trace".parse().expect("directive should parse"));
+
+        let (layer, finished) = layer::mock()
+            .event(event::mock().at_level(Level::INFO).with_target("hello"))
+            .event(event::mock().at_level(Level::TRACE).with_target("hello"))
+            .done()
+            .run_with_handle();
+
+        let _subscriber = tracing_subscriber::registry()
+            .with(layer.with_filter(filter))
+            .set_default();
+
+        tracing::info!(target: "hello", "hello info");
+        tracing::trace!(target: "hello", "hello trace");
+
+        finished.assert_finished();
+    }
+
+    #[test]
+    fn span_name_filter_is_dynamic() {
+        let filter: EnvFilter = "info,[cool_span]=debug"
+            .parse()
+            .expect("filter should parse");
+        let cool_span = span::named("cool_span");
+        let uncool_span = span::named("uncool_span");
+        let (layer, finished) = layer::mock()
+            .event(event::mock().at_level(Level::INFO))
+            .enter(cool_span.clone())
+            .event(
+                event::mock()
+                    .at_level(Level::DEBUG)
+                    .in_scope(vec![cool_span.clone()]),
+            )
+            .enter(uncool_span.clone())
+            .event(
+                event::mock()
+                    .at_level(Level::WARN)
+                    .in_scope(vec![uncool_span.clone()]),
+            )
+            .event(
+                event::mock()
+                    .at_level(Level::DEBUG)
+                    .in_scope(vec![uncool_span.clone()]),
+            )
+            .exit(uncool_span.clone())
+            .exit(cool_span)
+            .enter(uncool_span.clone())
+            .event(
+                event::mock()
+                    .at_level(Level::WARN)
+                    .in_scope(vec![uncool_span.clone()]),
+            )
+            .event(
+                event::mock()
+                    .at_level(Level::ERROR)
+                    .in_scope(vec![uncool_span.clone()]),
+            )
+            .exit(uncool_span)
+            .done()
+            .run_with_handle();
+
+        let _subscriber = tracing_subscriber::registry()
+            .with(layer.with_filter(filter))
+            .set_default();
+
+        tracing::trace!("this should be disabled");
+        tracing::info!("this shouldn't be");
+        let cool_span = tracing::info_span!("cool_span");
+        let uncool_span = tracing::info_span!("uncool_span");
+
+        {
+            let _enter = cool_span.enter();
+            tracing::debug!("i'm a cool event");
+            tracing::trace!("i'm cool, but not cool enough");
+            let _enter2 = uncool_span.enter();
+            tracing::warn!("warning: extremely cool!");
+            tracing::debug!("i'm still cool");
+        }
+
+        {
+            let _enter = uncool_span.enter();
+            tracing::warn!("warning: not that cool");
+            tracing::trace!("im not cool enough");
+            tracing::error!("uncool error");
+        }
+
+        finished.assert_finished();
+    }
+
+    #[test]
+    fn multiple_dynamic_filters() {
+        // Test that multiple dynamic (span) filters only apply to the layers
+        // they're attached to.
+        let (layer1, handle1) = {
+            let span = span::named("span1");
+            let filter: EnvFilter = "[span1]=debug".parse().expect("filter 1 should parse");
+            let (layer, handle) = layer::named("layer1")
+                .enter(span.clone())
+                .event(
+                    event::mock()
+                        .at_level(Level::DEBUG)
+                        .in_scope(vec![span.clone()]),
+                )
+                .exit(span)
+                .done()
+                .run_with_handle();
+            (layer.with_filter(filter), handle)
+        };
+
+        let (layer2, handle2) = {
+            let span = span::named("span2");
+            let filter: EnvFilter = "[span2]=info".parse().expect("filter 2 should parse");
+            let (layer, handle) = layer::named("layer2")
+                .enter(span.clone())
+                .event(
+                    event::mock()
+                        .at_level(Level::INFO)
+                        .in_scope(vec![span.clone()]),
+                )
+                .exit(span)
+                .done()
+                .run_with_handle();
+            (layer.with_filter(filter), handle)
+        };
+
+        let _subscriber = tracing_subscriber::registry()
+            .with(layer1)
+            .with(layer2)
+            .set_default();
+
+        tracing::info_span!("span1").in_scope(|| {
+            tracing::debug!("hello from span 1");
+            tracing::trace!("not enabled");
+        });
+
+        tracing::info_span!("span2").in_scope(|| {
+            tracing::info!("hello from span 2");
+            tracing::debug!("not enabled");
+        });
+
+        handle1.assert_finished();
+        handle2.assert_finished();
+    }
+}
diff --git a/tracing-subscriber/tests/env_filter/per_layer.rs b/tracing-subscriber/tests/env_filter/per_layer.rs
new file mode 100644
index 0000000000..8bf5698a4d
--- /dev/null
+++ b/tracing-subscriber/tests/env_filter/per_layer.rs
@@ -0,0 +1,305 @@
+//! Tests for using `EnvFilter` as a per-layer filter (rather than a global
+//! `Layer` filter).
+#![cfg(feature = "registry")]
+use super::*;
+
+#[test]
+fn level_filter_event() {
+    let filter: EnvFilter = "info".parse().expect("filter should parse");
+    let (layer, handle) = layer::mock()
+        .event(event::mock().at_level(Level::INFO))
+        .event(event::mock().at_level(Level::WARN))
+        .event(event::mock().at_level(Level::ERROR))
+        .done()
+        .run_with_handle();
+
+    let _subscriber = tracing_subscriber::registry()
+        .with(layer.with_filter(filter))
+        .set_default();
+
+    tracing::trace!("this should be disabled");
+    tracing::info!("this shouldn't be");
+    tracing::debug!(target: "foo", "this should also be disabled");
+    tracing::warn!(target: "foo", "this should be enabled");
+    tracing::error!("this should be enabled too");
+
+    handle.assert_finished();
+}
+
+#[test]
+fn same_name_spans() {
+    let filter: EnvFilter = "[foo{bar}]=trace,[foo{baz}]=trace"
+        .parse()
+        .expect("filter should parse");
+    let (layer, handle) = layer::mock()
+        .new_span(
+            span::mock()
+                .named("foo")
+                .at_level(Level::TRACE)
+                .with_field(field::mock("bar")),
+        )
+        .new_span(
+            span::mock()
+                .named("foo")
+                .at_level(Level::TRACE)
+                .with_field(field::mock("baz")),
+        )
+        .done()
+        .run_with_handle();
+
+    let _subscriber = tracing_subscriber::registry()
+        .with(layer.with_filter(filter))
+        .set_default();
+
+    tracing::trace_span!("foo", bar = 1);
+    tracing::trace_span!("foo", baz = 1);
+
+    handle.assert_finished();
+}
+
+#[test]
+fn level_filter_event_with_target() {
+    let filter: EnvFilter = "info,stuff=debug".parse().expect("filter should parse");
+    let (layer, handle) = layer::mock()
+        .event(event::mock().at_level(Level::INFO))
+        .event(event::mock().at_level(Level::DEBUG).with_target("stuff"))
+        .event(event::mock().at_level(Level::WARN).with_target("stuff"))
+        .event(event::mock().at_level(Level::ERROR))
+        .event(event::mock().at_level(Level::ERROR).with_target("stuff"))
+        .done()
+        .run_with_handle();
+
+    let _subscriber = tracing_subscriber::registry()
+        .with(layer.with_filter(filter))
+        .set_default();
+
+    tracing::trace!("this should be disabled");
+    tracing::info!("this shouldn't be");
+    tracing::debug!(target: "stuff", "this should be enabled");
+    tracing::debug!("but this shouldn't");
+    tracing::trace!(target: "stuff", "and neither should this");
+    tracing::warn!(target: "stuff", "this should be enabled");
+    tracing::error!("this should be enabled too");
+    tracing::error!(target: "stuff", "this should be enabled also");
+
+    handle.assert_finished();
+}
+
+#[test]
+fn level_filter_event_with_target_and_span() {
+    let filter: EnvFilter = "stuff[cool_span]=debug"
+        .parse()
+        .expect("filter should parse");
+
+    let cool_span = span::named("cool_span");
+    let (layer, handle) = layer::mock()
+        .enter(cool_span.clone())
+        .event(
+            event::mock()
+                .at_level(Level::DEBUG)
+                .in_scope(vec![cool_span.clone()]),
+        )
+        .exit(cool_span)
+        .done()
+        .run_with_handle();
+
+    let _subscriber = tracing_subscriber::registry()
+        .with(layer.with_filter(filter))
+        .set_default();
+
+    {
+        let _span = tracing::info_span!(target: "stuff", "cool_span").entered();
+        tracing::debug!("this should be enabled");
+    }
+
+    tracing::debug!("should also be disabled");
+
+    {
+        let _span = tracing::info_span!("uncool_span").entered();
+        tracing::debug!("this should be disabled");
+    }
+
+    handle.assert_finished();
+}
+
+#[test]
+fn not_order_dependent() {
+    // this test reproduces tokio-rs/tracing#623
+
+    let filter: EnvFilter = "stuff=debug,info".parse().expect("filter should parse");
+    let (layer, finished) = layer::mock()
+        .event(event::mock().at_level(Level::INFO))
+        .event(event::mock().at_level(Level::DEBUG).with_target("stuff"))
+        .event(event::mock().at_level(Level::WARN).with_target("stuff"))
+        .event(event::mock().at_level(Level::ERROR))
+        .event(event::mock().at_level(Level::ERROR).with_target("stuff"))
+        .done()
+        .run_with_handle();
+
+    let _subscriber = tracing_subscriber::registry()
+        .with(layer.with_filter(filter))
+        .set_default();
+
+    tracing::trace!("this should be disabled");
+    tracing::info!("this shouldn't be");
+    tracing::debug!(target: "stuff", "this should be enabled");
+    tracing::debug!("but this shouldn't");
+    tracing::trace!(target: "stuff", "and neither should this");
+    tracing::warn!(target: "stuff", "this should be enabled");
+    tracing::error!("this should be enabled too");
+    tracing::error!(target: "stuff", "this should be enabled also");
+
+    finished.assert_finished();
+}
+
+#[test]
+fn add_directive_enables_event() {
+    // this test reproduces tokio-rs/tracing#591
+
+    // by default, use info level
+    let mut filter = EnvFilter::new(LevelFilter::INFO.to_string());
+
+    // overwrite with a more specific directive
+    filter = filter.add_directive("hello=trace".parse().expect("directive should parse"));
+
+    let (layer, finished) = layer::mock()
+        .event(event::mock().at_level(Level::INFO).with_target("hello"))
+        .event(event::mock().at_level(Level::TRACE).with_target("hello"))
+        .done()
+        .run_with_handle();
+
+    let _subscriber = tracing_subscriber::registry()
+        .with(layer.with_filter(filter))
+        .set_default();
+
+    tracing::info!(target: "hello", "hello info");
+    tracing::trace!(target: "hello", "hello trace");
+
+    finished.assert_finished();
+}
+
+#[test]
+fn span_name_filter_is_dynamic() {
+    let filter: EnvFilter = "info,[cool_span]=debug"
+        .parse()
+        .expect("filter should parse");
+    let cool_span = span::named("cool_span");
+    let uncool_span = span::named("uncool_span");
+    let (layer, finished) = layer::mock()
+        .event(event::mock().at_level(Level::INFO))
+        .enter(cool_span.clone())
+        .event(
+            event::mock()
+                .at_level(Level::DEBUG)
+                .in_scope(vec![cool_span.clone()]),
+        )
+        .enter(uncool_span.clone())
+        .event(
+            event::mock()
+                .at_level(Level::WARN)
+                .in_scope(vec![uncool_span.clone()]),
+        )
+        .event(
+            event::mock()
+                .at_level(Level::DEBUG)
+                .in_scope(vec![uncool_span.clone()]),
+        )
+        .exit(uncool_span.clone())
+        .exit(cool_span)
+        .enter(uncool_span.clone())
+        .event(
+            event::mock()
+                .at_level(Level::WARN)
+                .in_scope(vec![uncool_span.clone()]),
+        )
+        .event(
+            event::mock()
+                .at_level(Level::ERROR)
+                .in_scope(vec![uncool_span.clone()]),
+        )
+        .exit(uncool_span)
+        .done()
+        .run_with_handle();
+
+    let _subscriber = tracing_subscriber::registry()
+        .with(layer.with_filter(filter))
+        .set_default();
+
+    tracing::trace!("this should be disabled");
+    tracing::info!("this shouldn't be");
+    let cool_span = tracing::info_span!("cool_span");
+    let uncool_span = tracing::info_span!("uncool_span");
+
+    {
+        let _enter = cool_span.enter();
+        tracing::debug!("i'm a cool event");
+        tracing::trace!("i'm cool, but not cool enough");
+        let _enter2 = uncool_span.enter();
+        tracing::warn!("warning: extremely cool!");
+        tracing::debug!("i'm still cool");
+    }
+
+    {
+        let _enter = uncool_span.enter();
+        tracing::warn!("warning: not that cool");
+        tracing::trace!("im not cool enough");
+        tracing::error!("uncool error");
+    }
+
+    finished.assert_finished();
+}
+
+#[test]
+fn multiple_dynamic_filters() {
+    // Test that multiple dynamic (span) filters only apply to the layers
+    // they're attached to.
+    let (layer1, handle1) = {
+        let span = span::named("span1");
+        let filter: EnvFilter = "[span1]=debug".parse().expect("filter 1 should parse");
+        let (layer, handle) = layer::named("layer1")
+            .enter(span.clone())
+            .event(
+                event::mock()
+                    .at_level(Level::DEBUG)
+                    .in_scope(vec![span.clone()]),
+            )
+            .exit(span)
+            .done()
+            .run_with_handle();
+        (layer.with_filter(filter), handle)
+    };
+
+    let (layer2, handle2) = {
+        let span = span::named("span2");
+        let filter: EnvFilter = "[span2]=info".parse().expect("filter 2 should parse");
+        let (layer, handle) = layer::named("layer2")
+            .enter(span.clone())
+            .event(
+                event::mock()
+                    .at_level(Level::INFO)
+                    .in_scope(vec![span.clone()]),
+            )
+            .exit(span)
+            .done()
+            .run_with_handle();
+        (layer.with_filter(filter), handle)
+    };
+
+    let _subscriber = tracing_subscriber::registry()
+        .with(layer1)
+        .with(layer2)
+        .set_default();
+
+    tracing::info_span!("span1").in_scope(|| {
+        tracing::debug!("hello from span 1");
+        tracing::trace!("not enabled");
+    });
+
+    tracing::info_span!("span2").in_scope(|| {
+        tracing::info!("hello from span 2");
+        tracing::debug!("not enabled");
+    });
+
+    handle1.assert_finished();
+    handle2.assert_finished();
+}
diff --git a/tracing-subscriber/tests/filter.rs b/tracing-subscriber/tests/filter.rs
deleted file mode 100644
index 8386d34d24..0000000000
--- a/tracing-subscriber/tests/filter.rs
+++ /dev/null
@@ -1,187 +0,0 @@
-#![cfg(feature = "env-filter")]
-
-mod support;
-use self::support::*;
-use tracing::{self, subscriber::with_default, Level};
-use tracing_subscriber::{
-    filter::{EnvFilter, LevelFilter},
-    prelude::*,
-};
-
-#[test]
-fn level_filter_event() {
-    let filter: EnvFilter = "info".parse().expect("filter should parse");
-    let (subscriber, finished) = subscriber::mock()
-        .event(event::mock().at_level(Level::INFO))
-        .event(event::mock().at_level(Level::WARN))
-        .event(event::mock().at_level(Level::ERROR))
-        .done()
-        .run_with_handle();
-    let subscriber = subscriber.with(filter);
-
-    with_default(subscriber, || {
-        tracing::trace!("this should be disabled");
-        tracing::info!("this shouldn't be");
-        tracing::debug!(target: "foo", "this should also be disabled");
-        tracing::warn!(target: "foo", "this should be enabled");
-        tracing::error!("this should be enabled too");
-    });
-
-    finished.assert_finished();
-}
-
-#[test]
-fn same_name_spans() {
-    let filter: EnvFilter = "[foo{bar}]=trace,[foo{baz}]=trace"
-        .parse()
-        .expect("filter should parse");
-    let (subscriber, finished) = subscriber::mock()
-        .new_span(
-            span::mock()
-                .named("foo")
-                .at_level(Level::TRACE)
-                .with_field(field::mock("bar")),
-        )
-        .new_span(
-            span::mock()
-                .named("foo")
-                .at_level(Level::TRACE)
-                .with_field(field::mock("baz")),
-        )
-        .done()
-        .run_with_handle();
-    let subscriber = subscriber.with(filter);
-    with_default(subscriber, || {
-        tracing::trace_span!("foo", bar = 1);
-        tracing::trace_span!("foo", baz = 1);
-    });
-
-    finished.assert_finished();
-}
-
-#[test]
-fn level_filter_event_with_target() {
-    let filter: EnvFilter = "info,stuff=debug".parse().expect("filter should parse");
-    let (subscriber, finished) = subscriber::mock()
-        .event(event::mock().at_level(Level::INFO))
-        .event(event::mock().at_level(Level::DEBUG).with_target("stuff"))
-        .event(event::mock().at_level(Level::WARN).with_target("stuff"))
-        .event(event::mock().at_level(Level::ERROR))
-        .event(event::mock().at_level(Level::ERROR).with_target("stuff"))
-        .done()
-        .run_with_handle();
-    let subscriber = subscriber.with(filter);
-
-    with_default(subscriber, || {
-        tracing::trace!("this should be disabled");
-        tracing::info!("this shouldn't be");
-        tracing::debug!(target: "stuff", "this should be enabled");
-        tracing::debug!("but this shouldn't");
-        tracing::trace!(target: "stuff", "and neither should this");
-        tracing::warn!(target: "stuff", "this should be enabled");
-        tracing::error!("this should be enabled too");
-        tracing::error!(target: "stuff", "this should be enabled also");
-    });
-
-    finished.assert_finished();
-}
-
-#[test]
-fn not_order_dependent() {
-    // this test reproduces tokio-rs/tracing#623
-
-    let filter: EnvFilter = "stuff=debug,info".parse().expect("filter should parse");
-    let (subscriber, finished) = subscriber::mock()
-        .event(event::mock().at_level(Level::INFO))
-        .event(event::mock().at_level(Level::DEBUG).with_target("stuff"))
-        .event(event::mock().at_level(Level::WARN).with_target("stuff"))
-        .event(event::mock().at_level(Level::ERROR))
-        .event(event::mock().at_level(Level::ERROR).with_target("stuff"))
-        .done()
-        .run_with_handle();
-    let subscriber = subscriber.with(filter);
-
-    with_default(subscriber, || {
-        tracing::trace!("this should be disabled");
-        tracing::info!("this shouldn't be");
-        tracing::debug!(target: "stuff", "this should be enabled");
-        tracing::debug!("but this shouldn't");
-        tracing::trace!(target: "stuff", "and neither should this");
-        tracing::warn!(target: "stuff", "this should be enabled");
-        tracing::error!("this should be enabled too");
-        tracing::error!(target: "stuff", "this should be enabled also");
-    });
-
-    finished.assert_finished();
-}
-
-#[test]
-fn add_directive_enables_event() {
-    // this test reproduces tokio-rs/tracing#591
-
-    // by default, use info level
-    let mut filter = EnvFilter::new(LevelFilter::INFO.to_string());
-
-    // overwrite with a more specific directive
-    filter = filter.add_directive("hello=trace".parse().expect("directive should parse"));
-
-    let (subscriber, finished) = subscriber::mock()
-        .event(event::mock().at_level(Level::INFO).with_target("hello"))
-        .event(event::mock().at_level(Level::TRACE).with_target("hello"))
-        .done()
-        .run_with_handle();
-    let subscriber = subscriber.with(filter);
-
-    with_default(subscriber, || {
-        tracing::info!(target: "hello", "hello info");
-        tracing::trace!(target: "hello", "hello trace");
-    });
-
-    finished.assert_finished();
-}
-
-#[test]
-fn span_name_filter_is_dynamic() {
-    let filter: EnvFilter = "info,[cool_span]=debug"
-        .parse()
-        .expect("filter should parse");
-    let (subscriber, finished) = subscriber::mock()
-        .event(event::mock().at_level(Level::INFO))
-        .enter(span::mock().named("cool_span"))
-        .event(event::mock().at_level(Level::DEBUG))
-        .enter(span::mock().named("uncool_span"))
-        .event(event::mock().at_level(Level::WARN))
-        .event(event::mock().at_level(Level::DEBUG))
-        .exit(span::mock().named("uncool_span"))
-        .exit(span::mock().named("cool_span"))
-        .enter(span::mock().named("uncool_span"))
-        .event(event::mock().at_level(Level::WARN))
-        .event(event::mock().at_level(Level::ERROR))
-        .exit(span::mock().named("uncool_span"))
-        .done()
-        .run_with_handle();
-    let subscriber = subscriber.with(filter);
-
-    with_default(subscriber, || {
-        tracing::trace!("this should be disabled");
-        tracing::info!("this shouldn't be");
-        let cool_span = tracing::info_span!("cool_span");
-        let uncool_span = tracing::info_span!("uncool_span");
-
-        {
-            let _enter = cool_span.enter();
-            tracing::debug!("i'm a cool event");
-            tracing::trace!("i'm cool, but not cool enough");
-            let _enter2 = uncool_span.enter();
-            tracing::warn!("warning: extremely cool!");
-            tracing::debug!("i'm still cool");
-        }
-
-        let _enter = uncool_span.enter();
-        tracing::warn!("warning: not that cool");
-        tracing::trace!("im not cool enough");
-        tracing::error!("uncool error");
-    });
-
-    finished.assert_finished();
-}
diff --git a/tracing/tests/support/span.rs b/tracing/tests/support/span.rs
index e35e7ed0f1..fd93b12f8e 100644
--- a/tracing/tests/support/span.rs
+++ b/tracing/tests/support/span.rs
@@ -24,6 +24,13 @@ pub fn mock() -> MockSpan {
     }
 }
 
+pub fn named<I>(name: I) -> MockSpan
+where
+    I: Into<String>,
+{
+    mock().named(name)
+}
+
 impl MockSpan {
     pub fn named<I>(self, name: I) -> Self
     where

{"event_outside_of_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_enabled_includes_span_directive_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "downcast_raw::forward_downcast_raw_to_layer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::make_writer_based_on_meta": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::write_hourly_log": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::level_filter_event": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "backtrace::tests::capture_unsupported": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_flattened_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "inject_context_into_outgoing_requests": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::roundtrip": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::multiple_dynamic_filters": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::is_lookup_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::info_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "log_is_enabled": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_ralith": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::targets_iter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::spans_dont_infinite_loop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::warn_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_off": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "level_filter_event_with_target": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "spans_always_go_to_the_subscriber_that_tagged_them": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::dispatch_downcasts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_numeric_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::test_make_writer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_structs": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::spans_are_only_closed_when_the_last_ref_drops": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event_macros_dont_infinite_loop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::stack::tests::pop_first_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "record_after_created": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::stack::tests::pop_last_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::level_filter_event_with_target_and_span": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "level_filter_event_with_target_and_span_global": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "field::delimited::test::delimited_new_visitor": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::overridden_parents": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "numeric_levels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::combinators_and": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::with_ansi_false": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::context_event_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "override_everything": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::debug_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry_sets_max_level_hint": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_string_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tests::futures_01_tests::future_enter_exit_is_reasonable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::single_layer_can_access_closed_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_nested_tuples": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_filename": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "capture_supported": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "enabled": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_global": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::span_kind": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter_fn": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_global_bare_warn_mixed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "both_shorthands": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "self_expr_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "internal_null_byte": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "record_new_values_for_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "new_span_with_target_and_log_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_disabled_span_list_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "enter_exit_is_reasonable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_ralith_mixed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "targets::log_events": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_with_dash_in_span_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "no_subscriber_disables_global": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_closes_when_exited": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::custom_writer_closure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::unhinted_nested_inner": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_no_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layered_is_init_ext": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "prefixed_event_macros": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::add_directive_enables_event": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::custom_writer_mutex": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::two_layers_are_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_shorthand": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::add_directive_enables_event": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "field::test::sparse_value_sets_are_not_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiple_layer_filter_interests_are_cached": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter_scopes::filters_span_scopes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::box_layer_is_layer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::fields_from_other_callsets_are_skipped": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tracer::tests::assigns_default_trace_id_if_missing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "contextual_child": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::pretty_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_with_async_trait": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_child": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cloning_a_span_calls_clone_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::mixed_with_unfiltered_layered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "non_blocking::test::backpressure_exerted": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::directive_ordering_by_target_len": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::empty_value_set_is_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_span_event_show_correct_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "named_levels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::with_line_number_and_file_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::error_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "backtrace::tests::capture_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_async": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::span_status_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event_without_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::default_no_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_with_invalid_span_chars": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::includes_timings": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::custom_writer_struct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_child_at_levels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::three_layers_are_layer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::fmt_layer_downcasts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "level_and_target": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "init_ext_works": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_root_with_children": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::tests::spanref_scope_iteration_order": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "moved_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "future_with_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_empty_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "impl_trait_return_type": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::extensions::tests::clear_drops_elements": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_global_bare_warn_lc": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_invalid_crate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::with_ansi_true": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::span_name_filter_is_dynamic": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "dispatcher::test::dispatch_is": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiple_max_level_hints": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_uppercase_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::same_name_spans": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::expect_parse_valid": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "out_of_scope_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dotted_field_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::nested_plf_only_picks_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "same_name_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::trace_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field_shorthand_only": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::record_debug_fn": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::format_nanos": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::overridden_parents_in_scope": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "mixed_layered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::child_closes_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "handles_to_different_spans_are_not_equal": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trees::basic_trees": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_with_assigned_otel_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "default_name_test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::disable_everything": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "duplicate_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_child_regardless_of_ctx": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "borrowed_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer_filter_interests_are_cached": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_root_span_is_root_regardless_of_ctx": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_enabled_no_span_directive": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_span_event_with_no_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::combinators_or_else": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::targets_into_iter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "clone_and_drop_span_always_go_to_the_subscriber_that_tagged_the_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_with_async_trait_and_fields_expressions": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::overridden_parents": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "new_span_after_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "methods": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::layer_is_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_root_span_is_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_everything": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_invalid_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata::tests::level_filter_reprs": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_only_enters_for_polls": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_dbg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::default_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filters_are_reevaluated_for_different_call_sites": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::test::impls": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::span_status_code": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filters_are_not_reevaluated_for_the_same_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "wrapping_event_without_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_impl_type": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::without_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_layer_filters_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::fmt_span_combinations": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata_macro_api": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "manual_box_pin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "entered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "builders_are_init_ext": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "handles_to_different_spans_with_the_same_metadata_are_not_equal": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::downcasts_to_layer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_ralith_uc": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "string_message_without_delims": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "non_blocking::test::multi_threaded_writes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "nested_set_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::not_order_dependent": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "layered_layer_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::test::subscriber_downcasts_to_parts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::same_name_spans": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "field::test::value_sets_with_fields_from_other_callsites_are_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::size_of_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::directive_ordering_uses_lexicographic_when_equal": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::with_line_number": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tests::futures_01_tests::future_error_ends_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::write_never_log": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::value_set_with_no_values_is_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "socket::cmsg_buffer_size_for_one_fd": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_enabled_includes_span_directive_multiple_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "clashy_expr_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "prefixed_span_macros": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "set_default_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "option_values": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::plf_only_unhinted_nested_inner": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "global_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::mixed_with_unfiltered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "locals_with_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_tuples": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata::tests::level_from_str": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::pretty::pretty_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "add_directive_enables_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::with_filename": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_closes_after_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_none": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_refs": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "parameters_with_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "not_order_dependent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_enabled_includes_span_directive": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "can_initialize_log_tracer_with_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "borrow_val_events": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiline_message_trailing_newline": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_line_number": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_active": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "simple_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "move_field_out_of_struct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::mixed_layered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "nonzeroi32_event_without_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "borrow_val_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "locals_no_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "boxed::box_works": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "global_filters_layers_still_work": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_valid": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_global_bare_warn_uc": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "empty_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "skip": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::plf_only_picks_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiline_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::many_plf_only_picks_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::without_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_with_dash_in_target_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "entered_api": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::with_thread_ids": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "custom_targets": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "targets::inner_layer_short_circuits": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::multiple_dynamic_filters": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "event_with_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::level_filter_event": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::impls": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::test_rotations": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::dynamic_span_names": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::with_ansi_false": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "default_targets": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::plf_only_unhinted_nested_outer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_with_special_characters_in_span_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "contextual_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::span_name_filter_is_dynamic": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "callsite_macro_api": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tracer::tests::sampled_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::empty_fields_are_skipped": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::write_minutely_log": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "same_num_fields_and_name_len": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::mixed_interleaved": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::tests::spanref_scope_fromroot_iteration_order": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::overridden_parents_in_scope": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata::tests::level_filter_is_usize_sized": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_disabled_current_span_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::multiple_layers_can_access_closed_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "record_new_value_for_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::plf_only_unhinted": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::write_daily_log": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::level_filter_event_with_target": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "one_with_everything": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::level_filter_event_with_target": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "enter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tests::futures_01_tests::stream_enter_exit_is_reasonable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::combinators_level_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::time::datetime::tests::test_datetime": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::extensions::tests::clear_retains_capacity": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trees::filter_span_scopes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "downcast_raw::downcast_ref_to_inner_layer_and_filter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "expr_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "same_num_fields_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_nested_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata::tests::filter_level_conversion": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_valid_with_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dropping_a_span_calls_drop_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "normalized_metadata": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_numeric_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "float_values": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "out_of_order": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::extensions::tests::test_extensions": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "global_filters_affect_layer_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "two_expr_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "display_shorthand": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_tuple_structs": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::record_works": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_mut": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_ralith_mixed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_name_filter_is_dynamic": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "custom_name_no_equals_test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_ralith_uc": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt_sets_max_level_hint": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::level_filter_event_with_target_and_span": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "custom_name_test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::test::is_lookup_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "level_filter_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::combinators_or_else_chain": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "same_length_targets": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_close": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "option_ref_mut_values": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::trace_id_from_existing_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::child_closes_grandparent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "backtrace::tests::capture_supported": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "option_ref_values": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::test_path_concatination": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_ret_and_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_with_active_otel_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_ret_and_ok": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::unhinted_nested_inner_mixed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::test::subscriber_downcasts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_layer_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::three_layers_are_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "generics": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_ralith": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_warn": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "message_without_delims": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "max_level_hints": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::directive_ordering_by_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "spans_always_go_to_the_subscriber_that_tagged_them_even_across_threads": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter_caching_is_lexically_scoped": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "handles_to_the_same_span_are_equal": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "arced_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_close_no_timing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "boxed::dyn_box_works": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::fmt_layer_downcasts_to_parts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::downcasts_to_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::delimited::test::delimited_visitor": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_uppercase_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "events_dont_leak": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_mut_async": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_full": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_ends_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_err_dbg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::size_of_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter_scopes::filters_interleaved_span_scopes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_nested": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::not_order_dependent": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::with_ansi_true": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "manual_impl_future": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_with_non_rust_symbol": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "large_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_with_async_trait_and_fields_expressions_with_generic_parameter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::span_enter_guards_are_dropped_out_of_order": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tests::futures_01_tests::span_follows_future_onto_threadpool": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "spans_dont_leak": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::spans_are_removed_from_registry": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "global_filter_interests_are_cached": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "drop_span_when_exiting_dispatchers_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_err_display_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::events_dont_infinite_loop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "boxed_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::with_thread_ids": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"event_outside_of_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_enabled_includes_span_directive_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "downcast_raw::forward_downcast_raw_to_layer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::make_writer_based_on_meta": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::write_hourly_log": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::level_filter_event": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "backtrace::tests::capture_unsupported": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_flattened_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "inject_context_into_outgoing_requests": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::roundtrip": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::multiple_dynamic_filters": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::is_lookup_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::info_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "log_is_enabled": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_ralith": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::targets_iter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::spans_dont_infinite_loop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::warn_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_off": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "level_filter_event_with_target": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "spans_always_go_to_the_subscriber_that_tagged_them": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::dispatch_downcasts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_numeric_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::test_make_writer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_structs": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::spans_are_only_closed_when_the_last_ref_drops": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event_macros_dont_infinite_loop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::stack::tests::pop_first_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "record_after_created": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::stack::tests::pop_last_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::level_filter_event_with_target_and_span": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "level_filter_event_with_target_and_span_global": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "field::delimited::test::delimited_new_visitor": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::overridden_parents": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "numeric_levels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::combinators_and": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::with_ansi_false": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::context_event_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "override_everything": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::debug_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry_sets_max_level_hint": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_string_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tests::futures_01_tests::future_enter_exit_is_reasonable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::single_layer_can_access_closed_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_nested_tuples": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_filename": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "capture_supported": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "enabled": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_global": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::span_kind": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter_fn": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_global_bare_warn_mixed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "both_shorthands": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "self_expr_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "internal_null_byte": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "record_new_values_for_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "new_span_with_target_and_log_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_disabled_span_list_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "enter_exit_is_reasonable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_ralith_mixed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "targets::log_events": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_with_dash_in_span_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "no_subscriber_disables_global": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_closes_when_exited": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::custom_writer_closure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::unhinted_nested_inner": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_no_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layered_is_init_ext": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "prefixed_event_macros": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::add_directive_enables_event": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::custom_writer_mutex": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::two_layers_are_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_shorthand": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::add_directive_enables_event": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "field::test::sparse_value_sets_are_not_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiple_layer_filter_interests_are_cached": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter_scopes::filters_span_scopes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::box_layer_is_layer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::fields_from_other_callsets_are_skipped": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tracer::tests::assigns_default_trace_id_if_missing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "contextual_child": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::pretty_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_with_async_trait": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_child": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cloning_a_span_calls_clone_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::mixed_with_unfiltered_layered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "non_blocking::test::backpressure_exerted": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::directive_ordering_by_target_len": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::empty_value_set_is_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_span_event_show_correct_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "named_levels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::with_line_number_and_file_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::error_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "backtrace::tests::capture_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_async": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::span_status_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event_without_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::default_no_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_with_invalid_span_chars": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::includes_timings": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::custom_writer_struct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_child_at_levels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::three_layers_are_layer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::fmt_layer_downcasts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "level_and_target": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "init_ext_works": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_root_with_children": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::tests::spanref_scope_iteration_order": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "moved_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "future_with_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_empty_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "impl_trait_return_type": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::extensions::tests::clear_drops_elements": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_global_bare_warn_lc": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_invalid_crate": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::with_ansi_true": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::span_name_filter_is_dynamic": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "dispatcher::test::dispatch_is": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiple_max_level_hints": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_uppercase_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::same_name_spans": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::expect_parse_valid": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "out_of_scope_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dotted_field_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::nested_plf_only_picks_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "same_name_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test::trace_callsite_is_correct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field_shorthand_only": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::record_debug_fn": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::format_nanos": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::overridden_parents_in_scope": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "mixed_layered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::child_closes_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "handles_to_different_spans_are_not_equal": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trees::basic_trees": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_with_assigned_otel_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "default_name_test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::disable_everything": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "duplicate_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_child_regardless_of_ctx": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "borrowed_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer_filter_interests_are_cached": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_root_span_is_root_regardless_of_ctx": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_enabled_no_span_directive": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "event_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_span_event_with_no_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::combinators_or_else": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::targets_into_iter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "clone_and_drop_span_always_go_to_the_subscriber_that_tagged_the_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_with_async_trait_and_fields_expressions": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::overridden_parents": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "new_span_after_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "methods": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::layer_is_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "explicit_root_span_is_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_everything": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_invalid_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata::tests::level_filter_reprs": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_only_enters_for_polls": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_dbg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::default_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filters_are_reevaluated_for_different_call_sites": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::test::impls": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::span_status_code": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filters_are_not_reevaluated_for_the_same_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "wrapping_event_without_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_impl_type": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::without_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_layer_filters_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::fmt_span_combinations": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata_macro_api": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "manual_box_pin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "entered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "builders_are_init_ext": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "handles_to_different_spans_with_the_same_metadata_are_not_equal": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::downcasts_to_layer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_ralith_uc": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "string_message_without_delims": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "non_blocking::test::multi_threaded_writes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "nested_set_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::not_order_dependent": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "layered_layer_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::test::subscriber_downcasts_to_parts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::same_name_spans": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "field::test::value_sets_with_fields_from_other_callsites_are_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::size_of_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::directive_ordering_uses_lexicographic_when_equal": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::with_line_number": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tests::futures_01_tests::future_error_ends_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::write_never_log": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::value_set_with_no_values_is_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "socket::cmsg_buffer_size_for_one_fd": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_enabled_includes_span_directive_multiple_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "clashy_expr_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "prefixed_span_macros": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "set_default_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "option_values": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::plf_only_unhinted_nested_inner": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "global_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::mixed_with_unfiltered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "locals_with_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_tuples": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata::tests::level_from_str": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::pretty::pretty_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "add_directive_enables_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::with_filename": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_closes_after_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_none": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_refs": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "parameters_with_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "not_order_dependent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::tests::callsite_enabled_includes_span_directive": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "can_initialize_log_tracer_with_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "borrow_val_events": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiline_message_trailing_newline": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_line_number": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_active": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "simple_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "move_field_out_of_struct": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::mixed_layered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "nonzeroi32_event_without_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "info_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "borrow_val_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "locals_no_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "boxed::box_works": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "global_filters_layers_still_work": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_valid": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_global_bare_warn_uc": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "empty_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "skip": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::plf_only_picks_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiline_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::many_plf_only_picks_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::without_level": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_with_dash_in_target_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "entered_api": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::with_thread_ids": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "custom_targets": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "targets::inner_layer_short_circuits": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::multiple_dynamic_filters": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "event_with_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::level_filter_event": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::impls": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::test_rotations": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::dynamic_span_names": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::with_ansi_false": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "default_targets": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::plf_only_unhinted_nested_outer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_with_special_characters_in_span_name": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "contextual_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::span_name_filter_is_dynamic": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "callsite_macro_api": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tracer::tests::sampled_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::test::empty_fields_are_skipped": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::write_minutely_log": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "same_num_fields_and_name_len": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::mixed_interleaved": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::tests::spanref_scope_fromroot_iteration_order": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::overridden_parents_in_scope": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata::tests::level_filter_is_usize_sized": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_disabled_current_span_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::multiple_layers_can_access_closed_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "record_new_value_for_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::plf_only_unhinted": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::write_daily_log": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::level_filter_event_with_target": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "one_with_everything": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer_filter::level_filter_event_with_target": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "enter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tests::futures_01_tests::stream_enter_exit_is_reasonable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::combinators_level_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::time::datetime::tests::test_datetime": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::extensions::tests::clear_retains_capacity": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trees::filter_span_scopes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "downcast_raw::downcast_ref_to_inner_layer_and_filter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "expr_field": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "same_num_fields_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::json_nested_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "metadata::tests::filter_level_conversion": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_valid_with_spans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dropping_a_span_calls_drop_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "normalized_metadata": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_numeric_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "float_values": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "out_of_order": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::extensions::tests::test_extensions": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "global_filters_affect_layer_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "two_expr_fields": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "display_shorthand": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "destructure_tuple_structs": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::json::test::record_works": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_span_with_parent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_mut": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_ralith_mixed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_name_filter_is_dynamic": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "custom_name_no_equals_test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::parse_directives_ralith_uc": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt_sets_max_level_hint": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::level_filter_event_with_target_and_span": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "custom_name_test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "warn_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::test::is_lookup_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "level_filter_event": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::writer::test::combinators_or_else_chain": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "same_length_targets": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_span_root": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_close": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "option_ref_mut_values": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::trace_id_from_existing_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::child_closes_grandparent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "backtrace::tests::capture_supported": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "option_ref_values": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rolling::test::test_path_concatination": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_ret_and_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "trace_with_active_otel_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_ret_and_ok": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::registry_tests::max_level_hints::unhinted_nested_inner_mixed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::test::subscriber_downcasts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_layer_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::three_layers_are_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "generics": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_ralith": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_warn": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "message_without_delims": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "max_level_hints": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::env::directive::test::directive_ordering_by_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "spans_always_go_to_the_subscriber_that_tagged_them_even_across_threads": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter_caching_is_lexically_scoped": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "handles_to_the_same_span_are_equal": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "arced_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_close_no_timing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "boxed::dyn_box_works": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::fmt_layer_downcasts_to_parts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "debug_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "layer::tests::downcasts_to_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "field::delimited::test::delimited_visitor": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::parse_uppercase_level_directives": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "events_dont_leak": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_mut_async": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::fmt_layer::test::synthesize_span_full": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "error_ends_span": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_err_dbg": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter::targets::tests::size_of_filters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "filter_scopes::filters_interleaved_span_scopes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_nested": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "per_layer::not_order_dependent": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "fmt::format::test::compact::with_ansi_true": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "manual_impl_future": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "span_with_non_rust_symbol": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "large_message": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "async_fn_with_async_trait_and_fields_expressions_with_generic_parameter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::span_enter_guards_are_dropped_out_of_order": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tests::futures_01_tests::span_follows_future_onto_threadpool": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "spans_dont_leak": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "registry::sharded::tests::spans_are_removed_from_registry": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "global_filter_interests_are_cached": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "drop_span_when_exiting_dispatchers_context": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_err_display_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "dispatcher::test::events_dont_infinite_loop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "boxed_subscriber": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fmt::format::test::default::with_thread_ids": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"passed_count": 380, "failed_count": 0, "skipped_count": 4, "passed_tests": ["filter::env::tests::callsite_enabled_includes_span_directive_field", "fmt::fmt_layer::test::make_writer_based_on_meta", "backtrace::tests::capture_unsupported", "fmt::format::json::test::json_flattened_event", "inject_context_into_outgoing_requests", "filter::env::tests::roundtrip", "fmt::fmt_layer::test::is_lookup_span", "test::info_callsite_is_correct", "log_is_enabled", "filter::env::directive::test::parse_directives_ralith", "filter::targets::tests::targets_iter", "trace_with_parent", "test::warn_callsite_is_correct", "filter::env::tests::callsite_off", "level_filter_event_with_target", "dispatcher::test::dispatch_downcasts", "rolling::test::test_make_writer", "registry::stack::tests::pop_first_span", "record_after_created", "registry::stack::tests::pop_last_span", "field::delimited::test::delimited_new_visitor", "info_root", "override_everything", "registry_sets_max_level_hint", "registry::sharded::tests::single_layer_can_access_closed_span", "destructure_nested_tuples", "fmt::format::json::test::json_filename", "enabled", "filter::env::directive::test::parse_directives_global", "filter::env::directive::test::parse_directives_global_bare_warn_mixed", "self_expr_field", "internal_null_byte", "fmt::format::json::test::json_disabled_span_list_event", "fmt::writer::test::custom_writer_closure", "layer::tests::registry_tests::max_level_hints::unhinted_nested_inner", "fmt::format::json::test::json_no_span", "layered_is_init_ext", "layer::tests::two_layers_are_subscriber", "field::test::sparse_value_sets_are_not_empty", "event_root", "multiple_layer_filter_interests_are_cached", "tracer::tests::assigns_default_trace_id_if_missing", "contextual_child", "async_fn_with_async_trait", "explicit_child", "cloning_a_span_calls_clone_span", "trace_span_root", "layer::tests::registry_tests::max_level_hints::mixed_with_unfiltered_layered", "non_blocking::test::backpressure_exerted", "filter::env::directive::test::directive_ordering_by_target_len", "field::test::empty_value_set_is_empty", "fmt::format::test::with_line_number_and_file_name", "backtrace::tests::capture_empty", "layer::tests::span_status_message", "event_without_message", "dispatcher::test::default_no_subscriber", "info_with_parent", "filter::env::directive::test::parse_directives_with_invalid_span_chars", "layer::tests::includes_timings", "layer::tests::three_layers_are_layer", "fmt::fmt_layer::test::fmt_layer_downcasts", "trace_root_with_children", "registry::tests::spanref_scope_iteration_order", "moved_field", "future_with_subscriber", "registry::extensions::tests::clear_drops_elements", "filter::env::directive::test::parse_directives_invalid_crate", "fmt::format::test::default::with_ansi_true", "dispatcher::test::dispatch_is", "filter::targets::tests::expect_parse_valid", "layer::tests::registry_tests::max_level_hints::nested_plf_only_picks_max", "same_name_spans", "field::test::record_debug_fn", "error_root", "info_span", "trees::basic_trees", "trace_with_assigned_otel_context", "fmt::format::test::disable_everything", "duplicate_spans", "borrowed_field", "event_with_parent", "fmt::writer::test::combinators_or_else", "async_fn_with_async_trait_and_fields_expressions", "methods", "layer::tests::layer_is_subscriber", "explicit_root_span_is_root", "destructure_everything", "filter::env::directive::test::parse_directives_invalid_level", "async_fn_only_enters_for_polls", "test_dbg", "error_with_parent", "filters_are_reevaluated_for_different_call_sites", "fmt::test::impls", "layer::tests::span_status_code", "debug_with_parent", "filters_are_not_reevaluated_for_the_same_span", "test_impl_type", "fmt::format::test::compact::without_level", "fmt::format::test::fmt_span_combinations", "metadata_macro_api", "builders_are_init_ext", "layer::tests::downcasts_to_layer", "string_message_without_delims", "non_blocking::test::multi_threaded_writes", "fmt::test::subscriber_downcasts_to_parts", "field::test::value_sets_with_fields_from_other_callsites_are_empty", "filter::env::tests::size_of_filters", "tests::futures_01_tests::future_error_ends_span", "rolling::test::write_never_log", "field::test::value_set_with_no_values_is_empty", "socket::cmsg_buffer_size_for_one_fd", "clashy_expr_field", "prefixed_span_macros", "layer::tests::registry_tests::max_level_hints::plf_only_unhinted_nested_inner", "global_dispatch", "layer::tests::registry_tests::max_level_hints::mixed_with_unfiltered", "locals_with_message", "destructure_tuples", "metadata::tests::level_from_str", "fmt::format::test::pretty::pretty_default", "fmt::fmt_layer::test::synthesize_span_none", "destructure_refs", "parameters_with_fields", "not_order_dependent", "fmt::format::json::test::json_line_number", "span", "move_field_out_of_struct", "layer::tests::registry_tests::max_level_hints::mixed_layered", "span_root", "info_span_root", "borrow_val_spans", "locals_no_message", "filter::env::directive::test::parse_directives_valid", "filter::env::directive::test::parse_directives_global_bare_warn_uc", "multiline_message", "layer::tests::registry_tests::max_level_hints::many_plf_only_picks_max", "custom_targets", "event_with_message", "fmt::fmt_layer::test::impls", "rolling::test::test_rotations", "layer::tests::dynamic_span_names", "fmt::format::test::default::with_ansi_false", "default_targets", "layer::tests::registry_tests::max_level_hints::plf_only_unhinted_nested_outer", "callsite_macro_api", "rolling::test::write_minutely_log", "error_span_with_parent", "layer::tests::registry_tests::max_level_hints::mixed_interleaved", "fmt::format::test::compact::overridden_parents_in_scope", "metadata::tests::level_filter_is_usize_sized", "fmt::format::json::test::json_disabled_current_span_event", "debug", "record_new_value_for_field", "layer::tests::registry_tests::max_level_hints::plf_only_unhinted", "one_with_everything", "enter", "tests::futures_01_tests::stream_enter_exit_is_reasonable", "downcast_raw::downcast_ref_to_inner_layer_and_filter", "expr_field", "same_num_fields_event", "fmt::format::json::test::json_nested_span", "filter::env::directive::test::parse_directives_valid_with_spans", "dropping_a_span_calls_drop_span", "filter::targets::tests::parse_numeric_level_directives", "out_of_order", "global_filters_affect_layer_filters", "two_expr_fields", "display_shorthand", "destructure_tuple_structs", "fmt::format::json::test::record_works", "test_mut", "custom_name_no_equals_test", "filter::env::directive::test::parse_directives_ralith_uc", "fmt_sets_max_level_hint", "warn_span_root", "same_length_targets", "fmt::fmt_layer::test::synthesize_span_close", "backtrace::tests::capture_supported", "option_ref_values", "rolling::test::test_path_concatination", "trace_with_active_otel_context", "fmt::test::subscriber_downcasts", "layer::tests::three_layers_are_subscriber", "generics", "filter::targets::tests::parse_ralith", "message_without_delims", "spans_always_go_to_the_subscriber_that_tagged_them_even_across_threads", "handles_to_the_same_span_are_equal", "arced_subscriber", "fmt::fmt_layer::test::synthesize_span_close_no_timing", "fmt::fmt_layer::test::fmt_layer_downcasts_to_parts", "events_dont_leak", "fmt::fmt_layer::test::synthesize_span_full", "test_err_dbg", "filter::targets::tests::size_of_filters", "async_fn_nested", "fmt::format::test::compact::with_ansi_true", "async_fn_with_async_trait_and_fields_expressions_with_generic_parameter", "tests::futures_01_tests::span_follows_future_onto_threadpool", "spans_dont_leak", "registry::sharded::tests::spans_are_removed_from_registry", "global_filter_interests_are_cached", "drop_span_when_exiting_dispatchers_context", "event_outside_of_span", "downcast_raw::forward_downcast_raw_to_layer", "rolling::test::write_hourly_log", "dispatcher::test::spans_dont_infinite_loop", "span_with_parent", "spans_always_go_to_the_subscriber_that_tagged_them", "filter::env::directive::test::parse_numeric_level_directives", "destructure_structs", "registry::sharded::tests::spans_are_only_closed_when_the_last_ref_drops", "event_macros_dont_infinite_loop", "trace_span", "warn_with_parent", "fmt::format::test::compact::overridden_parents", "numeric_levels", "fmt::writer::test::combinators_and", "fmt::format::test::compact::with_ansi_false", "layer::tests::registry_tests::context_event_span", "test::debug_callsite_is_correct", "filter::env::directive::test::parse_directives_string_level", "tests::futures_01_tests::future_enter_exit_is_reasonable", "capture_supported", "fields", "test", "layer::tests::span_kind", "filter_fn", "both_shorthands", "record_new_values_for_fields", "new_span_with_target_and_log_level", "enter_exit_is_reasonable", "filter::targets::tests::parse_ralith_mixed", "trace", "targets::log_events", "filter::env::directive::test::parse_directives_with_dash_in_span_name", "no_subscriber_disables_global", "span_closes_when_exited", "prefixed_event_macros", "fmt::writer::test::custom_writer_mutex", "debug_shorthand", "filter_scopes::filters_span_scopes", "layer::tests::box_layer_is_layer", "field::test::fields_from_other_callsets_are_skipped", "fmt::format::test::pretty_default", "debug_span_root", "fmt::format::json::test::json_span_event_show_correct_context", "named_levels", "test::error_callsite_is_correct", "test_async", "layer_filters", "fmt::writer::test::custom_writer_struct", "explicit_child_at_levels", "trace_span_with_parent", "warn", "level_and_target", "init_ext_works", "filter::env::directive::test::parse_directives_empty_level", "impl_trait_return_type", "filter::env::directive::test::parse_directives_global_bare_warn_lc", "multiple_max_level_hints", "filter::env::directive::test::parse_uppercase_level_directives", "out_of_scope_fields", "dotted_field_name", "event", "test::trace_callsite_is_correct", "field_shorthand_only", "fmt::format::test::format_nanos", "fmt::format::test::default::overridden_parents_in_scope", "mixed_layered", "registry::sharded::tests::child_closes_parent", "filter::targets::tests::parse_level_directives", "handles_to_different_spans_are_not_equal", "error_span", "default_name_test", "explicit_child_regardless_of_ctx", "info_span_with_parent", "layer_filter_interests_are_cached", "explicit_root_span_is_root_regardless_of_ctx", "filter::env::tests::callsite_enabled_no_span_directive", "debug_span_with_parent", "fmt::format::json::test::json_span_event_with_no_fields", "filter::targets::tests::targets_into_iter", "clone_and_drop_span_always_go_to_the_subscriber_that_tagged_the_span", "fmt::format::test::default::overridden_parents", "new_span_after_event", "error", "metadata::tests::level_filter_reprs", "dispatcher::test::default_dispatch", "wrapping_event_without_message", "basic_layer_filters_spans", "manual_box_pin", "entered", "handles_to_different_spans_with_the_same_metadata_are_not_equal", "filter::targets::tests::parse_ralith_uc", "nested_set_default", "layered_layer_filters", "filter::env::directive::test::directive_ordering_uses_lexicographic_when_equal", "fmt::format::test::with_line_number", "filter::env::tests::callsite_enabled_includes_span_directive_multiple_fields", "set_default_dispatch", "option_values", "add_directive_enables_event", "fmt::format::test::with_filename", "span_closes_after_event", "warn_span", "filter::env::tests::callsite_enabled_includes_span_directive", "fmt::format::json::test::json", "can_initialize_log_tracer_with_level", "info", "borrow_val_events", "multiline_message_trailing_newline", "fmt::fmt_layer::test::synthesize_span_active", "simple_message", "nonzeroi32_event_without_message", "boxed::box_works", "global_filters_layers_still_work", "empty_field", "skip", "layer::tests::registry_tests::max_level_hints::plf_only_picks_max", "filter::env::directive::test::parse_level_directives", "fmt::format::test::default::without_level", "filter::env::directive::test::parse_directives_with_dash_in_target_name", "entered_api", "fmt::format::test::with_thread_ids", "targets::inner_layer_short_circuits", "debug_root", "filter::env::directive::test::parse_directives_with_special_characters_in_span_name", "contextual_root", "tracer::tests::sampled_context", "field::test::empty_fields_are_skipped", "same_num_fields_and_name_len", "registry::tests::spanref_scope_fromroot_iteration_order", "warn_root", "registry::sharded::tests::multiple_layers_can_access_closed_span", "rolling::test::write_daily_log", "fmt::writer::test::combinators_level_filters", "fmt::time::datetime::tests::test_datetime", "registry::extensions::tests::clear_retains_capacity", "trees::filter_span_scopes", "metadata::tests::filter_level_conversion", "trace_root", "normalized_metadata", "float_values", "registry::extensions::tests::test_extensions", "warn_span_with_parent", "filter::env::directive::test::parse_directives_ralith_mixed", "span_name_filter_is_dynamic", "custom_name_test", "fmt::test::is_lookup_span", "level_filter_event", "fmt::writer::test::combinators_or_else_chain", "error_span_root", "option_ref_mut_values", "layer::tests::trace_id_from_existing_context", "registry::sharded::tests::child_closes_grandparent", "test_ret_and_err", "test_ret_and_ok", "layer::tests::registry_tests::max_level_hints::unhinted_nested_inner_mixed", "basic_layer_filters", "test_warn", "max_level_hints", "filter::env::directive::test::directive_ordering_by_span", "filter_caching_is_lexically_scoped", "boxed::dyn_box_works", "debug_span", "layer::tests::downcasts_to_subscriber", "field::delimited::test::delimited_visitor", "filter::targets::tests::parse_uppercase_level_directives", "test_mut_async", "error_ends_span", "filter_scopes::filters_interleaved_span_scopes", "manual_impl_future", "span_with_non_rust_symbol", "large_message", "registry::sharded::tests::span_enter_guards_are_dropped_out_of_order", "test_err_display_default", "dispatcher::test::events_dont_infinite_loop", "boxed_subscriber", "fmt::format::test::default::with_thread_ids"], "failed_tests": [], "skipped_tests": ["field_filter_events", "non_blocking::test::logs_dropped_if_lossy", "filter::env::directive::test::directive_ordering_by_field_num", "field_filter_spans"]}
{"passed_count": 0, "failed_count": 0, "skipped_count": 0, "passed_tests": [], "failed_tests": [], "skipped_tests": []}
{"passed_count": 397, "failed_count": 0, "skipped_count": 4, "passed_tests": ["filter::env::tests::callsite_enabled_includes_span_directive_field", "fmt::fmt_layer::test::make_writer_based_on_meta", "per_layer::level_filter_event", "backtrace::tests::capture_unsupported", "fmt::format::json::test::json_flattened_event", "inject_context_into_outgoing_requests", "filter::env::tests::roundtrip", "fmt::fmt_layer::test::is_lookup_span", "test::info_callsite_is_correct", "log_is_enabled", "filter::env::directive::test::parse_directives_ralith", "filter::targets::tests::targets_iter", "trace_with_parent", "test::warn_callsite_is_correct", "filter::env::tests::callsite_off", "level_filter_event_with_target", "dispatcher::test::dispatch_downcasts", "rolling::test::test_make_writer", "registry::stack::tests::pop_first_span", "record_after_created", "registry::stack::tests::pop_last_span", "per_layer_filter::level_filter_event_with_target_and_span", "field::delimited::test::delimited_new_visitor", "info_root", "override_everything", "registry_sets_max_level_hint", "registry::sharded::tests::single_layer_can_access_closed_span", "destructure_nested_tuples", "fmt::format::json::test::json_filename", "enabled", "filter::env::directive::test::parse_directives_global", "filter::env::directive::test::parse_directives_global_bare_warn_mixed", "self_expr_field", "internal_null_byte", "fmt::format::json::test::json_disabled_span_list_event", "fmt::format::json::test::json_no_span", "fmt::writer::test::custom_writer_closure", "layer::tests::registry_tests::max_level_hints::unhinted_nested_inner", "per_layer_filter::add_directive_enables_event", "layered_is_init_ext", "layer::tests::two_layers_are_subscriber", "per_layer::add_directive_enables_event", "field::test::sparse_value_sets_are_not_empty", "event_root", "multiple_layer_filter_interests_are_cached", "tracer::tests::assigns_default_trace_id_if_missing", "contextual_child", "async_fn_with_async_trait", "cloning_a_span_calls_clone_span", "explicit_child", "trace_span_root", "layer::tests::registry_tests::max_level_hints::mixed_with_unfiltered_layered", "non_blocking::test::backpressure_exerted", "filter::env::directive::test::directive_ordering_by_target_len", "field::test::empty_value_set_is_empty", "fmt::format::test::with_line_number_and_file_name", "backtrace::tests::capture_empty", "layer::tests::span_status_message", "event_without_message", "dispatcher::test::default_no_subscriber", "info_with_parent", "filter::env::directive::test::parse_directives_with_invalid_span_chars", "layer::tests::includes_timings", "layer::tests::three_layers_are_layer", "fmt::fmt_layer::test::fmt_layer_downcasts", "trace_root_with_children", "registry::tests::spanref_scope_iteration_order", "moved_field", "future_with_subscriber", "registry::extensions::tests::clear_drops_elements", "filter::env::directive::test::parse_directives_invalid_crate", "fmt::format::test::default::with_ansi_true", "per_layer::span_name_filter_is_dynamic", "dispatcher::test::dispatch_is", "filter::targets::tests::expect_parse_valid", "layer::tests::registry_tests::max_level_hints::nested_plf_only_picks_max", "same_name_spans", "field::test::record_debug_fn", "error_root", "info_span", "trees::basic_trees", "trace_with_assigned_otel_context", "fmt::format::test::disable_everything", "duplicate_spans", "borrowed_field", "event_with_parent", "fmt::writer::test::combinators_or_else", "async_fn_with_async_trait_and_fields_expressions", "methods", "layer::tests::layer_is_subscriber", "explicit_root_span_is_root", "destructure_everything", "filter::env::directive::test::parse_directives_invalid_level", "async_fn_only_enters_for_polls", "test_dbg", "error_with_parent", "filters_are_reevaluated_for_different_call_sites", "fmt::test::impls", "layer::tests::span_status_code", "debug_with_parent", "filters_are_not_reevaluated_for_the_same_span", "test_impl_type", "fmt::format::test::compact::without_level", "fmt::format::test::fmt_span_combinations", "metadata_macro_api", "builders_are_init_ext", "layer::tests::downcasts_to_layer", "string_message_without_delims", "non_blocking::test::multi_threaded_writes", "per_layer_filter::not_order_dependent", "fmt::test::subscriber_downcasts_to_parts", "field::test::value_sets_with_fields_from_other_callsites_are_empty", "filter::env::tests::size_of_filters", "tests::futures_01_tests::future_error_ends_span", "rolling::test::write_never_log", "field::test::value_set_with_no_values_is_empty", "socket::cmsg_buffer_size_for_one_fd", "clashy_expr_field", "prefixed_span_macros", "layer::tests::registry_tests::max_level_hints::plf_only_unhinted_nested_inner", "global_dispatch", "layer::tests::registry_tests::max_level_hints::mixed_with_unfiltered", "locals_with_message", "destructure_tuples", "metadata::tests::level_from_str", "fmt::format::test::pretty::pretty_default", "fmt::fmt_layer::test::synthesize_span_none", "destructure_refs", "parameters_with_fields", "not_order_dependent", "fmt::format::json::test::json_line_number", "span", "move_field_out_of_struct", "layer::tests::registry_tests::max_level_hints::mixed_layered", "span_root", "info_span_root", "borrow_val_spans", "locals_no_message", "filter::env::directive::test::parse_directives_valid", "filter::env::directive::test::parse_directives_global_bare_warn_uc", "multiline_message", "layer::tests::registry_tests::max_level_hints::many_plf_only_picks_max", "custom_targets", "per_layer_filter::multiple_dynamic_filters", "event_with_message", "per_layer_filter::level_filter_event", "fmt::fmt_layer::test::impls", "rolling::test::test_rotations", "layer::tests::dynamic_span_names", "fmt::format::test::default::with_ansi_false", "default_targets", "layer::tests::registry_tests::max_level_hints::plf_only_unhinted_nested_outer", "per_layer_filter::span_name_filter_is_dynamic", "callsite_macro_api", "rolling::test::write_minutely_log", "error_span_with_parent", "layer::tests::registry_tests::max_level_hints::mixed_interleaved", "fmt::format::test::compact::overridden_parents_in_scope", "metadata::tests::level_filter_is_usize_sized", "fmt::format::json::test::json_disabled_current_span_event", "debug", "record_new_value_for_field", "layer::tests::registry_tests::max_level_hints::plf_only_unhinted", "per_layer::level_filter_event_with_target", "per_layer_filter::level_filter_event_with_target", "one_with_everything", "enter", "tests::futures_01_tests::stream_enter_exit_is_reasonable", "downcast_raw::downcast_ref_to_inner_layer_and_filter", "expr_field", "same_num_fields_event", "fmt::format::json::test::json_nested_span", "filter::env::directive::test::parse_directives_valid_with_spans", "dropping_a_span_calls_drop_span", "filter::targets::tests::parse_numeric_level_directives", "out_of_order", "global_filters_affect_layer_filters", "two_expr_fields", "display_shorthand", "destructure_tuple_structs", "fmt::format::json::test::record_works", "test_mut", "custom_name_no_equals_test", "filter::env::directive::test::parse_directives_ralith_uc", "fmt_sets_max_level_hint", "per_layer::level_filter_event_with_target_and_span", "warn_span_root", "same_length_targets", "fmt::fmt_layer::test::synthesize_span_close", "backtrace::tests::capture_supported", "option_ref_values", "rolling::test::test_path_concatination", "trace_with_active_otel_context", "fmt::test::subscriber_downcasts", "layer::tests::three_layers_are_subscriber", "generics", "filter::targets::tests::parse_ralith", "message_without_delims", "spans_always_go_to_the_subscriber_that_tagged_them_even_across_threads", "handles_to_the_same_span_are_equal", "arced_subscriber", "fmt::fmt_layer::test::synthesize_span_close_no_timing", "fmt::fmt_layer::test::fmt_layer_downcasts_to_parts", "events_dont_leak", "fmt::fmt_layer::test::synthesize_span_full", "test_err_dbg", "filter::targets::tests::size_of_filters", "async_fn_nested", "fmt::format::test::compact::with_ansi_true", "async_fn_with_async_trait_and_fields_expressions_with_generic_parameter", "tests::futures_01_tests::span_follows_future_onto_threadpool", "spans_dont_leak", "registry::sharded::tests::spans_are_removed_from_registry", "global_filter_interests_are_cached", "drop_span_when_exiting_dispatchers_context", "event_outside_of_span", "downcast_raw::forward_downcast_raw_to_layer", "rolling::test::write_hourly_log", "per_layer::multiple_dynamic_filters", "dispatcher::test::spans_dont_infinite_loop", "span_with_parent", "spans_always_go_to_the_subscriber_that_tagged_them", "filter::env::directive::test::parse_numeric_level_directives", "destructure_structs", "registry::sharded::tests::spans_are_only_closed_when_the_last_ref_drops", "event_macros_dont_infinite_loop", "trace_span", "level_filter_event_with_target_and_span_global", "warn_with_parent", "fmt::format::test::compact::overridden_parents", "numeric_levels", "fmt::writer::test::combinators_and", "fmt::format::test::compact::with_ansi_false", "layer::tests::registry_tests::context_event_span", "test::debug_callsite_is_correct", "filter::env::directive::test::parse_directives_string_level", "tests::futures_01_tests::future_enter_exit_is_reasonable", "capture_supported", "fields", "test", "layer::tests::span_kind", "filter_fn", "both_shorthands", "record_new_values_for_fields", "new_span_with_target_and_log_level", "enter_exit_is_reasonable", "filter::targets::tests::parse_ralith_mixed", "trace", "targets::log_events", "filter::env::directive::test::parse_directives_with_dash_in_span_name", "no_subscriber_disables_global", "span_closes_when_exited", "prefixed_event_macros", "fmt::writer::test::custom_writer_mutex", "debug_shorthand", "filter_scopes::filters_span_scopes", "layer::tests::box_layer_is_layer", "field::test::fields_from_other_callsets_are_skipped", "fmt::format::test::pretty_default", "debug_span_root", "fmt::format::json::test::json_span_event_show_correct_context", "named_levels", "test::error_callsite_is_correct", "test_async", "layer_filters", "fmt::writer::test::custom_writer_struct", "explicit_child_at_levels", "trace_span_with_parent", "warn", "level_and_target", "init_ext_works", "filter::env::directive::test::parse_directives_empty_level", "impl_trait_return_type", "filter::env::directive::test::parse_directives_global_bare_warn_lc", "multiple_max_level_hints", "filter::env::directive::test::parse_uppercase_level_directives", "per_layer_filter::same_name_spans", "out_of_scope_fields", "dotted_field_name", "event", "test::trace_callsite_is_correct", "field_shorthand_only", "fmt::format::test::format_nanos", "fmt::format::test::default::overridden_parents_in_scope", "mixed_layered", "registry::sharded::tests::child_closes_parent", "filter::targets::tests::parse_level_directives", "handles_to_different_spans_are_not_equal", "error_span", "default_name_test", "explicit_child_regardless_of_ctx", "info_span_with_parent", "layer_filter_interests_are_cached", "explicit_root_span_is_root_regardless_of_ctx", "filter::env::tests::callsite_enabled_no_span_directive", "debug_span_with_parent", "fmt::format::json::test::json_span_event_with_no_fields", "filter::targets::tests::targets_into_iter", "clone_and_drop_span_always_go_to_the_subscriber_that_tagged_the_span", "fmt::format::test::default::overridden_parents", "new_span_after_event", "error", "metadata::tests::level_filter_reprs", "dispatcher::test::default_dispatch", "wrapping_event_without_message", "basic_layer_filters_spans", "manual_box_pin", "entered", "handles_to_different_spans_with_the_same_metadata_are_not_equal", "filter::targets::tests::parse_ralith_uc", "nested_set_default", "layered_layer_filters", "per_layer::same_name_spans", "filter::env::directive::test::directive_ordering_uses_lexicographic_when_equal", "fmt::format::test::with_line_number", "filter::env::tests::callsite_enabled_includes_span_directive_multiple_fields", "set_default_dispatch", "option_values", "add_directive_enables_event", "fmt::format::test::with_filename", "span_closes_after_event", "warn_span", "filter::env::tests::callsite_enabled_includes_span_directive", "fmt::format::json::test::json", "can_initialize_log_tracer_with_level", "info", "borrow_val_events", "multiline_message_trailing_newline", "fmt::fmt_layer::test::synthesize_span_active", "simple_message", "nonzeroi32_event_without_message", "boxed::box_works", "global_filters_layers_still_work", "empty_field", "skip", "layer::tests::registry_tests::max_level_hints::plf_only_picks_max", "filter::env::directive::test::parse_level_directives", "fmt::format::test::default::without_level", "filter::env::directive::test::parse_directives_with_dash_in_target_name", "entered_api", "fmt::format::test::with_thread_ids", "targets::inner_layer_short_circuits", "debug_root", "filter::env::directive::test::parse_directives_with_special_characters_in_span_name", "contextual_root", "tracer::tests::sampled_context", "field::test::empty_fields_are_skipped", "same_num_fields_and_name_len", "registry::tests::spanref_scope_fromroot_iteration_order", "warn_root", "registry::sharded::tests::multiple_layers_can_access_closed_span", "rolling::test::write_daily_log", "fmt::writer::test::combinators_level_filters", "fmt::time::datetime::tests::test_datetime", "registry::extensions::tests::clear_retains_capacity", "trees::filter_span_scopes", "metadata::tests::filter_level_conversion", "trace_root", "normalized_metadata", "float_values", "registry::extensions::tests::test_extensions", "warn_span_with_parent", "filter::env::directive::test::parse_directives_ralith_mixed", "span_name_filter_is_dynamic", "custom_name_test", "fmt::test::is_lookup_span", "level_filter_event", "fmt::writer::test::combinators_or_else_chain", "error_span_root", "option_ref_mut_values", "layer::tests::trace_id_from_existing_context", "registry::sharded::tests::child_closes_grandparent", "test_ret_and_err", "test_ret_and_ok", "layer::tests::registry_tests::max_level_hints::unhinted_nested_inner_mixed", "basic_layer_filters", "test_warn", "max_level_hints", "filter::env::directive::test::directive_ordering_by_span", "filter_caching_is_lexically_scoped", "boxed::dyn_box_works", "debug_span", "layer::tests::downcasts_to_subscriber", "field::delimited::test::delimited_visitor", "filter::targets::tests::parse_uppercase_level_directives", "test_mut_async", "error_ends_span", "filter_scopes::filters_interleaved_span_scopes", "per_layer::not_order_dependent", "manual_impl_future", "span_with_non_rust_symbol", "large_message", "registry::sharded::tests::span_enter_guards_are_dropped_out_of_order", "test_err_display_default", "dispatcher::test::events_dont_infinite_loop", "boxed_subscriber", "fmt::format::test::default::with_thread_ids"], "failed_tests": [], "skipped_tests": ["field_filter_events", "non_blocking::test::logs_dropped_if_lossy", "filter::env::directive::test::directive_ordering_by_field_num", "field_filter_spans"]}