Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed issue with derive_more Display Implementations #16298

Conversation

bushrat011899
Copy link
Contributor

Objective

  • Fixed issue where thiserror #[error(...)] attributes were improperly converted to derive_more #[display(...)] equivalents in certain cases with a tuple struct/enum variant.

Solution

  • Used re/#\[display\(.*\{[0-9]+\}.*\)\]/ to find occurences of using {0} where {_0} was intended (checked for other field indexes too)and updated accordingly.

Testing

  • cargo check
  • CI

Notes

This was discovered by @dtolnay in this comment.

For tuple structs and tuple enum variants, using `{0}` in a format-string doesn't refer to field zero, instead argument zero. This can go unnoticed if the format string already includes other (valid) fields.

Found all occurrences using re/#\[display\(.*\{[0-9]+\}.*\)\]/ and updated them to include an underscore, to refer to the field as intended.

This was discovered by @dtolnay.
@bushrat011899 bushrat011899 added C-Bug An unexpected or incorrect behavior D-Trivial Nice and easy! A great choice to get started with Bevy A-Diagnostics Logging, crash handling, error reporting and performance analysis X-Uncontroversial This work is generally agreed upon S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Nov 8, 2024
@bushrat011899 bushrat011899 added this to the 0.15 milestone Nov 8, 2024
@alice-i-cecile alice-i-cecile added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Nov 8, 2024
@alice-i-cecile alice-i-cecile added this pull request to the merge queue Nov 8, 2024
Merged via the queue into bevyengine:main with commit d143da3 Nov 8, 2024
36 checks passed
mockersf pushed a commit that referenced this pull request Nov 11, 2024
# Objective

- Fixed issue where `thiserror` `#[error(...)]` attributes were
improperly converted to `derive_more` `#[display(...)]` equivalents in
certain cases with a tuple struct/enum variant.

## Solution

- Used `re/#\[display\(.*\{[0-9]+\}.*\)\]/` to find occurences of using
`{0}` where `{_0}` was intended (checked for other field indexes too)and
updated accordingly.

## Testing

- `cargo check`
- CI

## Notes

This was discovered by @dtolnay in [this
comment](#15772 (comment)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Diagnostics Logging, crash handling, error reporting and performance analysis C-Bug An unexpected or incorrect behavior D-Trivial Nice and easy! A great choice to get started with Bevy S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it X-Uncontroversial This work is generally agreed upon
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants