fix(fmt): preserve comments in tuple LHS with uninitialized vars (DeclMulti) #11862
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.
Fix #11836
Problem: In multi-variable declarations (DeclMulti), empty tuple slots are represented as None, so they lack span information. Without spans, the formatter cannot anchor comments between commas for uninitialized positions, causing comments to merge, drift, or be misplaced.
Solution: Compute synthetic per-slot spans for the tuple LHS by scanning the source between the ( of the declaration and the start of the initializer =. Split at top-level commas (skipping nested parens and comments) to derive a span for each slot, including empty ones. Pass these spans to the list/tuple printer so print_comments can correctly place comments even when the slot has no variable.