Skip to content

Conversation

@hds
Copy link
Contributor

@hds hds commented Nov 27, 2025

Motivation

The change merged in #3382 caused a breaking change when released. This
is because users of the tracing macros depend on being able to use a
bare debug or display function within the macro itself, for example:

tracing::info!(foo = debug(foo), bar = display(bar));

Solution

This change reverts the breaking part of the original commit, which is
removing the import statement from the valueset! macro. However, it
leaves the change to use full module paths inside the macro. E.g.
$crate::field::debug. This is best practice, and so worth keeping.

This change also adds a nice warning comment above the import statement
to try and avoid another break happening in the future (because this
isn't the first time that this has happened). It also adds explicit
tests for the use of bare debug and display usage with the same end.

@hds hds requested review from a team and hawkw as code owners November 27, 2025 11:06
The change merged in #3382 caused a breaking change when released. This
is because users of the tracing macros depend on being able to use a
bare `debug` or `display` function within the macro itself, for example:

```rust
tracing::info!(foo = debug(foo), bar = display(bar));
```

This change reverts the breaking part of the original commit, which is
removing the import statement from the `valueset!` macro. However, it
leaves the change to use full module paths inside the macro. E.g.
`$crate::field::debug`. This is best practice, and so worth keeping.

This change also adds a nice warning comment above the import statement
to try and avoid another break happening in the future (because this
isn't the first time that this has happened). It also adds explicit
tests for the use of bare `debug` and `display` usage with the same end.
@hds hds force-pushed the hds/revert-valueset-macro-sanitary branch from 2dbac6e to 206944a Compare November 27, 2025 11:15
@hds hds merged commit 7c44f7b into main Nov 27, 2025
56 checks passed
@hds hds deleted the hds/revert-valueset-macro-sanitary branch November 27, 2025 11:42
hds added a commit that referenced this pull request Nov 27, 2025
# 0.1.43 (November 28, 2025)

#### Important

The previous release [0.1.42] was yanked because [#3382] was a breaking change.
See further details in [#3424]. This release contains all the changes from that
version, plus a revert for the problematic part of the breaking PR.

### Fixed

- Revert "make `valueset` macro sanitary" ([#3425])

[#3382]: #3382
[#3424]: #3424
[#3425]: #3425
[0.1.42]: https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.42
hds added a commit that referenced this pull request Nov 28, 2025
# 0.1.43 (November 28, 2025)

#### Important

The previous release [0.1.42] was yanked because [#3382] was a breaking change.
See further details in [#3424]. This release contains all the changes from that
version, plus a revert for the problematic part of the breaking PR.

### Fixed

- Revert "make `valueset` macro sanitary" ([#3425])

[#3382]: #3382
[#3424]: #3424
[#3425]: #3425
[0.1.42]: https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants