Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ dedent = "0.1.1"
serde_json = "1.0.128"

[features]
config = ["dep:figment", "dep:serde"]
level_filter = ["dep:tracing", "dep:serde"]
config = ["dep:figment", "serde"]
level_filter = ["dep:tracing"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LevelFilter is useless without serde, featuregating whole crate::level_filter with serde seems like a good idea. Can you clarify what is broken? Maybe an example of a feature set that fails to compile?

Copy link
Contributor Author

@tlater-famedly tlater-famedly Aug 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's been 3 months :D I think the FromStr and Fmt impls were still useful, at least in tests somewhere. I'll see if I can dig up the reasoning again, but I'm unsure I'll find it. I did consider this, I swear, not including serde was a conscious decision - wish I'd left a comment.

reqwest = ["dep:reqwest", "dep:thiserror"]
time = ["dep:time"]
schemars = ["dep:schemars", "schemars/url"]
serde = ["dep:serde"]
base_url = ["dep:url", "dep:thiserror", "dep:serde"]
base_url = ["dep:url", "dep:thiserror", "serde"]

[lints.rust]
dead_code = "warn"
Expand Down
3 changes: 3 additions & 0 deletions src/level_filter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// SPDX-License-Identifier: Apache-2.0

//! [`Deserialize`] impl for [`tracing::level_filters::LevelFilter`]
#[cfg(feature = "serde")]
use serde::{de, Deserialize, Serialize};

/// [`tracing::level_filters::LevelFilter`] wrapper with [`Deserialize`] impl.
Expand Down Expand Up @@ -32,6 +33,7 @@ impl std::fmt::Display for LevelFilter {
}
}

#[cfg(feature = "serde")]
impl Serialize for LevelFilter {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
Expand All @@ -41,6 +43,7 @@ impl Serialize for LevelFilter {
}
}

#[cfg(feature = "serde")]
impl<'de> Deserialize<'de> for LevelFilter {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
Expand Down
Loading