-
Notifications
You must be signed in to change notification settings - Fork 2.3k
fix(fmt): keep if stmts inline in assembly blocks #12306
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
Merged
Merged
Conversation
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
grandizzy
approved these changes
Oct 28, 2025
grandizzy
pushed a commit
to grandizzy/foundry
that referenced
this pull request
Oct 28, 2025
fix(fmt): asm inline if stmt
3 tasks
grandizzy
added a commit
that referenced
this pull request
Oct 30, 2025
* fix(fmt): no trailing cmnts in opening brace of empty blocks (#12241) * fix(fmt): only print trailing cmnts in opening brace when block is not empty * doc: link issue --------- Co-authored-by: grandizzy <[email protected]> * fix(fmt): preserve indexed callee when it fits (#12270) * fix(fmt): preserve indexed callee when it fits * style: typos * fix(forge): fix dynamic gas limit check (#12267) * fix(forge): fix dynamic gas limit check * add repro * chore: update traces for p256 precompile test (#12242) chore: redact part of traces for p256 precompile test * chore: bump v1.4.4 (#12271) * fix(forge): update progress on rejected fuzz runs (#12243) fix: update progress on rejected runs * feat(fmt): enforce doc comment styling (#11955) * feat(fmt): force doc comment styling * tests: add unit tests * style: clippy + comments * fix: default config test * chore(fmt): prefer_compact + indent bin expr w/ parenthesis (#12281) * fix: indentation in operator exprs with parentheses * docs: new param * feat: prefer_compact * fix: test * style: typo * fix: default config test * Fix wrap comments test * fix: emit and revert --------- Co-authored-by: grandizzy <[email protected]> * chore(docs): default `all` for `prefer_compact` fmt config (#12294) chore: default all for prefer_compact fmt * docs(fmt): add `none` variant (#12298) * feat(fmt): add single_line_imports option to keep single imports on one line (#12303) * add single_line_imports option to keep single imports on one line * update readme * add tests for single_line_imports feature + fmt * fix clippy and simplify the code * fix test failed * fix: simplify --------- Co-authored-by: 0xrusowsky <[email protected]> Co-authored-by: grandizzy <[email protected]> * fix(fmt): keep if stmts inline in assembly blocks (#12306) fix(fmt): asm inline if stmt * fix(fmt): prevent double-ind in complex ternary expr (#12317) * fix(fmt): only indent wrapped trailing block cmnts (#12319) * fix(fmt): only indent wrapped trailing cmnts which are line cmnts * style: flip --------- Co-authored-by: grandizzy <[email protected]> * fix(fmt): don't break var assignments when callee fits (#12323) * fix(fmt): don't break var assignments when callee fits * fix: deindent calls (exception) * chore: update arb tests, use different rpc url (#12321) * chore: use drpc arb * Use other * fix(fmt): properly calc fn header size (#12343) * fix(fmt): properly calc fn header size * docs: add more cmnts * fix: revert bun.lock changes * test(fmt): ensure fn header sizes are computed correctly (#12350) * fix(fmt): properly calc fn header size * docs: add more cmnts * fix: revert bun.lock changes * test: estimate_header_size * simplify tests * style: clippy * chore: patch solar to main rev (#12379) * chore: back to arbitrum rpc (#12382) * fix(fmt): always break consistently in calls with opts and args (#12359) * fix(fmt): always break consistently in calls with opts and args * more tests * test: simplify --------- Co-authored-by: 0xrusowsky <[email protected]> Co-authored-by: silve K <[email protected]> Co-authored-by: 0xrusowsky <[email protected]>
Merged
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.
Motivation
when running the new formatter on solady, we realized that if stmts in assembly blocks where sometimes broken when they shouldn't
i tracked down 2 different root-causes:
Solution
for point 2, i used a "hardbreak" rather than a "space" when we know there is an inline disable cmnt
additionally, i changed
word()toprint_word()to update the counter in assembly blocksPR Checklist