Edit from @jhpratt:
Do not make "me too" comments. They add nothing of value and will only mean it takes longer for me to release a patch, as it's more I have to read. I am aware of the issue and the downstream breakage. A patch will be issued as soon as I am able.
Original issue follows.
Since updating the time crate from 0.3.47 to 0.3.48, my crate stop compiling with the following error message:
error[E0119]: conflicting implementations of trait `From<format_description::parse::format_item::HourBase>` for type `<format_description::parse::format_item::HourBase as format_description::parse::format_item::ModifierValue>::Type`
--> .../tracing-subscriber-0.3.23/src/filter/env/mod.rs:759:1
|
759 | / impl<S> From<S> for EnvFilter
760 | | where
761 | | S: AsRef<str>,
| |__________________^
|
= note: conflicting implementation in crate `time`:
- impl From<format_description::parse::format_item::HourBase> for <format_description::parse::format_item::HourBase as format_description::parse::format_item::ModifierValue>::Type;
= note: upstream crates may add a new impl of trait `core::convert::AsRef<str>` for type `time::format_description::parse::format_item::HourBase` in future versions
Not sure if it is the time crate responsibility or tracing_subscriber 🙈
I'm not sure what's going on. HourBase is a private type. May be a compiler bug?
Tested with cargo v1.90.0, nightly 1.98.0 (2026-06-11) and nightly 1.96.0 ( 2026-03-19)
Workaround
As mentioned in the thread, in your Cargo.toml, pin the time dependency:
-time = "0.3.47"
+time = "=0.3.47"
If time is a transitive dependency, then add the + line to your Cargo.toml. It's recommended to revert to unpinned dependency once the fix is in.
Please don't do this if your crate is a library upon which 3rd parties rely (🙏). It will likely result in duplicate time deps, and further compilation issues caused by incompatible same-crate types.
Edit from @jhpratt:
Do not make "me too" comments. They add nothing of value and will only mean it takes longer for me to release a patch, as it's more I have to read. I am aware of the issue and the downstream breakage. A patch will be issued as soon as I am able.
Original issue follows.
Since updating the
timecrate from0.3.47to0.3.48, my crate stop compiling with the following error message:Not sure if it is the
timecrate responsibility ortracing_subscriber🙈I'm not sure what's going on.
HourBaseis a private type. May be a compiler bug?Tested with cargo v1.90.0, nightly 1.98.0 (2026-06-11) and nightly 1.96.0 ( 2026-03-19)
Workaround
As mentioned in the thread, in your
Cargo.toml, pin thetimedependency:If time is a transitive dependency, then add the
+line to yourCargo.toml. It's recommended to revert to unpinned dependency once the fix is in.Please don't do this if your crate is a library upon which 3rd parties rely (🙏). It will likely result in duplicate
timedeps, and further compilation issues caused by incompatible same-crate types.I have yanked v0.3.48. I want to be crystal clear that it will not be released as v0.4.0. A solution will be found and be re-released as v0.3.49.