zig fmt: add tests for cast builtin canonicalization

This commit is contained in:
Justus Klausecker 2025-08-13 11:42:58 +02:00 committed by Andrew Kelley
parent be51d69dc7
commit 2761cc8be0

View File

@ -6056,6 +6056,25 @@ test "zig fmt: indentation of comments within catch, else, orelse" {
);
}
test "zig fmt: canonicalize cast builtins" {
try testTransform(
\\const foo = @alignCast(@ptrCast(bar));
\\const baz = @constCast(@ptrCast(@addrSpaceCast(@volatileCast(@alignCast(bar)))));
\\
,
\\const foo = @ptrCast(@alignCast(bar));
\\const baz = @ptrCast(@alignCast(@addrSpaceCast(@constCast(@volatileCast(bar)))));
\\
);
}
test "zig fmt: do not canonicalize invalid cast builtins" {
try testCanonical(
\\const foo = @alignCast(@volatileCast(@ptrCast(@alignCast(bar))));
\\
);
}
test "recovery: top level" {
try testError(
\\test "" {inline}