Commit 3290e72833

Andrew Kelley <superjoe30@gmail.com>
2018-06-25 17:52:18
std.zig.ast: fix incorrect impl of FnProto.firstToken
closes #1151
1 parent 8866bef
Changed files (2)
std/zig/ast.zig
@@ -858,6 +858,7 @@ pub const Node = struct {
 
         pub fn firstToken(self: *FnProto) TokenIndex {
             if (self.visib_token) |visib_token| return visib_token;
+            if (self.async_attr) |async_attr| return async_attr.firstToken();
             if (self.extern_export_inline_token) |extern_export_inline_token| return extern_export_inline_token;
             assert(self.lib_name == null);
             if (self.cc_token) |cc_token| return cc_token;
std/zig/parser_test.zig
@@ -1,3 +1,12 @@
+test "zig fmt: preserve space between async fn definitions" {
+    try testCanonical(
+        \\async fn a() void {}
+        \\
+        \\async fn b() void {}
+        \\
+    );
+}
+
 test "zig fmt: comment to disable/enable zig fmt first" {
     try testCanonical(
         \\// Test trailing comma syntax