Commit 5d94e754f4

Jacob G-W <jacoblevgw@gmail.com>
2021-06-04 04:30:31
fmt: fix #8974
also add a regression test
1 parent 83e0a49
Changed files (2)
lib/std/zig/parser_test.zig
@@ -4409,6 +4409,13 @@ test "zig fmt: regression test for #5722" {
     );
 }
 
+test "zig fmt: regression test for #8974" {
+    try testCanonical(
+        \\pub const VARIABLE;
+        \\
+    );
+}
+
 test "zig fmt: allow trailing line comments to do manual array formatting" {
     try testCanonical(
         \\fn foo() void {
lib/std/zig/render.zig
@@ -989,16 +989,18 @@ fn renderVarDecl(gpa: *Allocator, ais: *Ais, tree: ast.Tree, var_decl: ast.full.
         }
     }
 
-    assert(var_decl.ast.init_node != 0);
-    const eq_token = tree.firstToken(var_decl.ast.init_node) - 1;
-    const eq_space: Space = if (tree.tokensOnSameLine(eq_token, eq_token + 1)) .space else .newline;
-    {
-        ais.pushIndent();
-        try renderToken(ais, tree, eq_token, eq_space); // =
-        ais.popIndent();
+    if (var_decl.ast.init_node != 0) {
+        const eq_token = tree.firstToken(var_decl.ast.init_node) - 1;
+        const eq_space: Space = if (tree.tokensOnSameLine(eq_token, eq_token + 1)) .space else .newline;
+        {
+            ais.pushIndent();
+            try renderToken(ais, tree, eq_token, eq_space); // =
+            ais.popIndent();
+        }
+        ais.pushIndentOneShot();
+        return renderExpression(gpa, ais, tree, var_decl.ast.init_node, .semicolon); // ;
     }
-    ais.pushIndentOneShot();
-    try renderExpression(gpa, ais, tree, var_decl.ast.init_node, .semicolon);
+    return renderToken(ais, tree, var_decl.ast.mut_token + 2, .newline); // ;
 }
 
 fn renderIf(gpa: *Allocator, ais: *Ais, tree: ast.Tree, if_node: ast.full.If, space: Space) Error!void {