From c341c7f7d52cdcdbab6f3273d1a7023754e3c188 Mon Sep 17 00:00:00 2001 From: Kartavya Vashishtha Date: Fri, 22 Jul 2022 00:08:11 +0530 Subject: [PATCH] subscriber: mark builders as must_use (#2239) ## Motivation Builders not marked `#[must_use]` can not be initialized sometimes, causing silent failures. Eg. ```rust fn main() { tracing_subscriber::fmt(); tracing::info!("hello"); } ``` won't print anything. ## Solution Added `#[must_use]` to builder types in the tracing-subscriber crate. --- tracing-subscriber/src/filter/env/builder.rs | 1 + tracing-subscriber/src/fmt/mod.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/tracing-subscriber/src/filter/env/builder.rs b/tracing-subscriber/src/filter/env/builder.rs index 36b5205431..7bc65484ea 100644 --- a/tracing-subscriber/src/filter/env/builder.rs +++ b/tracing-subscriber/src/filter/env/builder.rs @@ -11,6 +11,7 @@ use tracing::level_filters::STATIC_MAX_LEVEL; /// /// [builder]: https://rust-unofficial.github.io/patterns/patterns/creational/builder.html #[derive(Debug, Clone)] +#[must_use] pub struct Builder { regex: bool, env: Option, diff --git a/tracing-subscriber/src/fmt/mod.rs b/tracing-subscriber/src/fmt/mod.rs index d7abce1635..f34ff691cd 100644 --- a/tracing-subscriber/src/fmt/mod.rs +++ b/tracing-subscriber/src/fmt/mod.rs @@ -240,6 +240,7 @@ pub type Formatter io /// Configures and constructs `Collector`s. #[derive(Debug)] #[cfg_attr(docsrs, doc(cfg(all(feature = "fmt", feature = "std"))))] +#[must_use] pub struct CollectorBuilder< N = format::DefaultFields, E = format::Format,