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 {
20362036 );
20372037 try list_state.list.append(node);
20382038 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 } });
20402040 try stack.append(State { .PointerPayload = &node.payload });
20412041
20422042 const maybe_else = self.getNextToken();
......@@ -4817,6 +4817,7 @@ test "zig fmt: switch" {
48174817 \\ const res = switch (0) {
48184818 \\ 0 => 0,
48194819 \\ 1 => 2,
4820 \\ 1 => a = 4,
48204821 \\ else => 4
48214822 \\ };
48224823 \\