authorgravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2018-04-11 13:46:35+02:00
committergravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2018-04-11 13:46:35+02:00
log841ac0f4e1b5ca6ae8f2250248363521d9f56c36
tree1fd778ba3fa96d9e023e29bbf079ac34c351f49f
parent4b0556ebd4bdc2f3c05e85f3c003b6fc89f7ac0f

std.zig.parser now allows assignment expr in switch cases.

This makes `std/os/index.zig` parse related: #909

1 files changed, 2 insertions(+), 1 deletions(-)

std/zig/parser.zig+2-1
...@@ -2036,7 +2036,7 @@ pub const Parser = struct {...@@ -2036,7 +2036,7 @@ pub const Parser = struct {
2036 );2036 );
2037 try list_state.list.append(node);2037 try list_state.list.append(node);
2038 stack.append(State { .SwitchCaseCommaOrEnd = list_state }) catch unreachable;2038 stack.append(State { .SwitchCaseCommaOrEnd = list_state }) catch unreachable;
2039 try stack.append(State { .Expression = DestPtr{ .Field = &node.expr } });2039 try stack.append(State { .AssignmentExpressionBegin = DestPtr{ .Field = &node.expr } });
2040 try stack.append(State { .PointerPayload = &node.payload });2040 try stack.append(State { .PointerPayload = &node.payload });
20412041
2042 const maybe_else = self.getNextToken();2042 const maybe_else = self.getNextToken();
...@@ -4817,6 +4817,7 @@ test "zig fmt: switch" {...@@ -4817,6 +4817,7 @@ test "zig fmt: switch" {
4817 \\ const res = switch (0) {4817 \\ const res = switch (0) {
4818 \\ 0 => 0,4818 \\ 0 => 0,
4819 \\ 1 => 2,4819 \\ 1 => 2,
4820 \\ 1 => a = 4,
4820 \\ else => 44821 \\ else => 4
4821 \\ };4822 \\ };
4822 \\4823 \\