zig fmt: canonicalize nested cast builtin order #24199
Open
+94
−44
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.
Closes #24106
Searches for surrounding tokens tagged with
.builtin
when a.builtin_...
node whose main token ends in"Cast"
is encountered and picks which one to render first according to the field order inCastKind
. In case of a redundant casting operation (e.g.@ptrCast(@volatileCast(@ptrCast(...)))
) no reordering is done for the entire nested chain.The canonical ordering is the one proposed by mlugg:
It can be changed by simply rearranging the fields of
CastKind
(and adjusting the rendering order intranslate_c.removeCVQualifiers
for@constCast()
/@volatileCast()
and related tests).63d9c5d is the actual implementation, 0a86578 is the new ordering applied to affected source files.