Skip to content

Conversation

@conradludgate
Copy link
Contributor

Motivation

Fixes #3431

Solution

This is horrible. We rename valueset! to valueset_all!, then we re-introduce the original valueset! with some notable changes.

The new valueset! doesn't use fields from the fieldset iterator, it instead uses FieldSet::field(...) to find the correct field. If the field isn't found, we set a fallback field that will be ignored (callsites are not equal).

@conradludgate conradludgate requested review from a team, hawkw and hds as code owners November 28, 2025 18:55
@hds hds changed the title Fix record_all panic tracing: fix record_all panic Dec 1, 2025
@hds hds self-assigned this Dec 1, 2025
@hds hds added kind/bug Something isn't working crate/tracing Related to the `tracing` crate labels Dec 1, 2025
Copy link
Contributor

@hds hds left a comment

Choose a reason for hiding this comment

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

Thanks for this PR!

I think it would be good to have a little more test coverage. Especially because these macros are frequent sources of unintentional breaking changes.

@conradludgate conradludgate requested a review from hds December 9, 2025 14:31
Copy link
Contributor

@hds hds left a comment

Choose a reason for hiding this comment

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

Great! Thank you for this fix!

@hds hds merged commit ee82cf9 into tokio-rs:main Dec 11, 2025
55 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

crate/tracing Related to the `tracing` crate kind/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

record_all! panics if used with incomplete values

2 participants