| author | |
| committer | |
| log | fa42c99d82448c74a657d16e0f2e5f9877e364c0 |
| tree | 96e0f6499f39e1aeec8ebdcb4279e075f5996791 |
| parent | e79e8993e695f6c384f742d09060823f421758ca |
2 files changed, 14 insertions(+), 2 deletions(-)
std/zig/parse.zig+2-2| ... | ... | @@ -2833,8 +2833,8 @@ fn parseIf(arena: *Allocator, it: *TokenIterator, tree: *Tree, bodyParseFn: Node |
| 2833 | 2833 | |
| 2834 | 2834 | const else_token = eatToken(it, .Keyword_else) orelse return node; |
| 2835 | 2835 | const payload = try parsePayload(arena, it, tree); |
| 2836 | const else_expr = try expectNode(arena, it, tree, parseExpr, AstError{ | |
| 2837 | .ExpectedExpr = AstError.ExpectedExpr{ .token = it.index }, | |
| 2836 | const else_expr = try expectNode(arena, it, tree, bodyParseFn, AstError{ | |
| 2837 | .InvalidToken = AstError.InvalidToken{ .token = it.index }, | |
| 2838 | 2838 | }); |
| 2839 | 2839 | const else_node = try arena.create(Node.Else); |
| 2840 | 2840 | else_node.* = Node.Else{ |
std/zig/parser_test.zig+12| ... | ... | @@ -2234,6 +2234,18 @@ test "zig fmt: multiline string in array" { |
| 2234 | 2234 | ); |
| 2235 | 2235 | } |
| 2236 | 2236 | |
| 2237 | test "zig fmt: if type expr" { | |
| 2238 | try testCanonical( | |
| 2239 | \\const mycond = true; | |
| 2240 | \\pub fn foo() if (mycond) i32 else void { | |
| 2241 | \\ if (mycond) { | |
| 2242 | \\ return 42; | |
| 2243 | \\ } | |
| 2244 | \\} | |
| 2245 | \\ | |
| 2246 | ); | |
| 2247 | } | |
| 2248 | ||
| 2237 | 2249 | const std = @import("std"); |
| 2238 | 2250 | const mem = std.mem; |
| 2239 | 2251 | const warn = std.debug.warn; |