Workaround rustfmt panic on quote!(Self(#var)) in Rust 1.93.0#22669
Merged
alice-i-cecile merged 2 commits intobevyengine:mainfrom Jan 26, 2026
Merged
Workaround rustfmt panic on quote!(Self(#var)) in Rust 1.93.0#22669alice-i-cecile merged 2 commits intobevyengine:mainfrom
quote!(Self(#var)) in Rust 1.93.0#22669alice-i-cecile merged 2 commits intobevyengine:mainfrom
Conversation
Fixes CI failure in `cargo fmt --all -- --check` caused by a rustfmt regression in Rust 1.93.0 where `quote!(Self(#interpolated_var))` triggers a panic. Upstream issue: rust-lang/rustfmt#6779
Contributor
Author
|
I created an issue rust-lang/rustfmt/issues/6779. The issue was updated that it is fixed with rust-lang/rust#150590 which I believe is in nightly now and is targeted for 1.94.0 milestone so if we just want to wait for that, then there won't be any need to merge this. If you want CI fixed now, you can merge this - if not, feel free to close this PR. |
Member
|
this is not causing a CI failure, cargo is not exiting in error after the ICE and correctly continue to format |
mockersf
reviewed
Jan 24, 2026
Firesz25
approved these changes
Jan 25, 2026
Co-authored-by: François Mockers <francois.mockers@vleue.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
Fix CI failure caused by a rustfmt regression in Rust 1.93.0.
The
cargo fmt --all -- --checkCI step panics when formattingcrates/bevy_reflect/derive/src/from_reflect.rsdue to the patternquote!(Self(#__this)).Upstream issue: rust-lang/rustfmt#6779
Fixes #22704.
Solution
Pre-construct
Selfas a separate token stream before using it in thequote!macro:This produces identical output but avoids the rustfmt parser bug.
Testing
cargo fmt --allno longer panicscargo build -p bevy_reflect_derivesucceedscargo nextest run -p bevy_reflectpasses all 212 tests