commit ee173d512721df521b5a29bc939770e098931e21 (tree)
parent 4ea7470417b7b0c1069a0bc67d93511d3c06a2bf
Author: g-w1 <58830309+g-w1@users.noreply.github.com>
Date: Thu, 15 Jul 2021 03:55:22 -0400
parser: require block in suspend expression
Diffstat:
3 files changed, 3 insertions(+), 31 deletions(-)
diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig
@@ -885,11 +885,7 @@ const Parser = struct {
},
.keyword_suspend => {
const token = p.nextToken();
- // TODO remove this special case when 0.9.0 is released.
- const block_expr: Node.Index = if (p.eatToken(.semicolon) != null)
- 0
- else
- try p.expectBlockExprStatement();
+ const block_expr = try p.expectBlockExprStatement();
return p.addNode(.{
.tag = .@"suspend",
.main_token = token,
diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig
@@ -93,21 +93,6 @@ test "zig fmt: rewrite callconv(.Inline) to the inline keyword" {
}
// TODO Remove this after zig 0.9.0 is released.
-test "zig fmt: rewrite suspend without block expression" {
- try testTransform(
- \\fn foo() void {
- \\ suspend;
- \\}
- \\
- ,
- \\fn foo() void {
- \\ suspend {}
- \\}
- \\
- );
-}
-
-// TODO Remove this after zig 0.9.0 is released.
test "zig fmt: rewrite @byteOffsetOf to @offsetOf" {
try testTransform(
\\fn foo() void {
diff --git a/lib/std/zig/render.zig b/lib/std/zig/render.zig
@@ -275,17 +275,8 @@ fn renderExpression(gpa: *Allocator, ais: *Ais, tree: ast.Tree, node: ast.Node.I
.@"suspend" => {
const suspend_token = main_tokens[node];
const body = datas[node].lhs;
- if (body != 0) {
- try renderToken(ais, tree, suspend_token, .space);
- return renderExpression(gpa, ais, tree, body, space);
- } else {
- // TODO remove this special case when 0.9.0 is released.
- assert(space == .semicolon);
- try renderToken(ais, tree, suspend_token, .space);
- try ais.writer().writeAll("{}");
- try ais.insertNewline();
- return;
- }
+ try renderToken(ais, tree, suspend_token, .space);
+ return renderExpression(gpa, ais, tree, body, space);
},
.@"catch" => {