mirror of
https://github.com/tokio-rs/tracing.git
synced 2025-09-30 22:40:34 +00:00
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.
This commit is contained in:
parent
522437d51c
commit
1b89aa950a
1
tracing-subscriber/src/filter/env/builder.rs
vendored
1
tracing-subscriber/src/filter/env/builder.rs
vendored
@ -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<String>,
|
||||
|
@ -243,6 +243,7 @@ pub type Formatter<
|
||||
/// Configures and constructs `Subscriber`s.
|
||||
#[cfg_attr(docsrs, doc(cfg(all(feature = "fmt", feature = "std"))))]
|
||||
#[derive(Debug)]
|
||||
#[must_use]
|
||||
pub struct SubscriberBuilder<
|
||||
N = format::DefaultFields,
|
||||
E = format::Format<format::Full>,
|
||||
@ -465,7 +466,8 @@ impl Default for SubscriberBuilder {
|
||||
SubscriberBuilder {
|
||||
filter: Subscriber::DEFAULT_MAX_LEVEL,
|
||||
inner: Default::default(),
|
||||
}.log_internal_errors(true)
|
||||
}
|
||||
.log_internal_errors(true)
|
||||
}
|
||||
}
|
||||
|
||||
@ -626,12 +628,15 @@ where
|
||||
/// By default, `fmt::Layer` will write any `FormatEvent`-internal errors to
|
||||
/// the writer. These errors are unlikely and will only occur if there is a
|
||||
/// bug in the `FormatEvent` implementation or its dependencies.
|
||||
///
|
||||
///
|
||||
/// If writing to the writer fails, the error message is printed to stderr
|
||||
/// as a fallback.
|
||||
///
|
||||
///
|
||||
/// [`FormatEvent`]: crate::fmt::FormatEvent
|
||||
pub fn log_internal_errors(self, log_internal_errors: bool) -> SubscriberBuilder<N, format::Format<L, T>, F, W> {
|
||||
pub fn log_internal_errors(
|
||||
self,
|
||||
log_internal_errors: bool,
|
||||
) -> SubscriberBuilder<N, format::Format<L, T>, F, W> {
|
||||
SubscriberBuilder {
|
||||
inner: self.inner.log_internal_errors(log_internal_errors),
|
||||
..self
|
||||
|
Loading…
x
Reference in New Issue
Block a user