Skip to content

Retry rustfmt with a larger max_width on bailed-out items. - #2707

Open
copybara-service[bot] wants to merge 1 commit into
mainfrom
test_1009318745
Open

copybara-service[bot] wants to merge 1 commit into
mainfrom
test_1009318745

Conversation

@copybara-service

@copybara-service copybara-service Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Retry rustfmt with a larger max_width on bailed-out items.

When a generated struct field type, trait header, or function signature exceeds rustfmt's default 100-column max_width on an unbreakable path, rustfmt abandons formatting the enclosing item or function header. In rs_bindings_from_cc output, that leaves whole structs, impl blocks, or function headers collapsed onto a single line and skips normalize_doc_attributes on their #[doc = "..."] attributes, which also shifts post-formatting provenance comment counts for subsequent items.

Filter the first-pass output for lines exhibiting unformatted tokens_to_string patterns (extending function headers ending in { to their matching closing }) and run a targeted second pass with --unstable-features --file-lines and max_width=10000, while pinning sub-expression width heuristics (fn_call_width, struct_lit_width, chain_width, etc.) to their defaults so rustfmt skips sibling items via AST span intersection and inner calls still wrap normally.

@google-cla

google-cla Bot commented Oct 29, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

When a generated struct field type, trait header, or function signature exceeds `rustfmt`'s default 100-column `max_width` on an unbreakable path, `rustfmt` abandons formatting the enclosing item or function header. In `rs_bindings_from_cc` output, that leaves whole structs, `impl` blocks, or function headers collapsed onto a single line and skips `normalize_doc_attributes` on their `#[doc = "..."]` attributes, which also shifts post-formatting provenance comment counts for subsequent items.

Filter the first-pass output for lines exhibiting unformatted `tokens_to_string` patterns (extending function headers ending in `{` to their matching closing `}`) and run a targeted second pass with `--unstable-features --file-lines` and `max_width=10000`, while pinning sub-expression width heuristics (`fn_call_width`, `struct_lit_width`, `chain_width`, etc.) to their defaults so `rustfmt` skips sibling items via AST span intersection and inner calls still wrap normally.

PiperOrigin-RevId: 1009318745

This branch has not been deployed

No deployments
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.

0 participants