[nix-shell:~/dev/zig/build]$ ./zig test ../lib/std/std.zig --test-evented-io Semantic Analysis [22524/22711] /home/andy/dev/zig/lib/std/json/write_stream.zig:205:13: error: '@Frame(json.write_stream.WriteStream(io.out_stream.OutStream(os.WriteError),1024).emitJson)' depends on itself pub fn emitJson(self: *Self, json: std.json.Value) Stream.Error!void { ^ /home/andy/dev/zig/lib/std/json/write_stream.zig:216:42: note: when analyzing type '@Frame(json.write_stream.WriteStream(io.out_stream.OutStream(os.WriteError),1024).emitJson)' here try self.emitJson(elem); ^ /home/andy/dev/zig/lib/std/json.zig:1194:23: note: while checking if 'json.Value.dumpStream' is async try w.emitJson(self); ^ /home/andy/dev/zig/lib/std/json.zig:1174:24: note: while checking if 'json.Value.dump' is async self.dumpStream(stderr, 1024) catch return; ^ /home/andy/dev/zig/lib/std/json/write_stream.zig:205:13: error: '@Frame(json.write_stream.WriteStream(io.out_stream.OutStream(io.Error),10).emitJson)' depends on itself pub fn emitJson(self: *Self, json: std.json.Value) Stream.Error!void { ^ /home/andy/dev/zig/lib/std/json/write_stream.zig:216:42: note: when analyzing type '@Frame(json.write_stream.WriteStream(io.out_stream.OutStream(io.Error),10).emitJson)' here try self.emitJson(elem); ^ /home/andy/dev/zig/lib/std/json/write_stream.zig:261:19: note: while checking if 'json.write_stream.test "json write stream"' is async try w.emitJson(try getJson(allocator)); ^ /home/andy/dev/zig/lib/std/heap/logging_allocator.zig:27:5: error: 'heap.logging_allocator.LoggingAllocator.realloc' cannot be async fn realloc(allocator: *Allocator, old_mem: []u8, old_align: u29, new_size: usize, new_align: u29) ![]u8 { ^ /home/andy/dev/zig/lib/std/heap/logging_allocator.zig:19:30: note: required to be non-async here .reallocFn = realloc, ^ /home/andy/dev/zig/lib/std/heap/logging_allocator.zig:30:34: note: async function call here self.out_stream.print("allocation of {} ", .{new_size}) catch {}; ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:35:34: note: async function call here return std.fmt.format(self, Error, write, format, args); ^ /home/andy/dev/zig/lib/std/fmt.zig:141:35: note: async function call here try output(context, fmt[start_index..i]); ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:28:63: note: suspends here return await @asyncCall(&stack_frame, {}, self.writeFn, self, bytes); ^ /home/andy/dev/zig/lib/std/heap/logging_allocator.zig:43:5: error: 'heap.logging_allocator.LoggingAllocator.shrink' cannot be async fn shrink(allocator: *Allocator, old_mem: []u8, old_align: u29, new_size: usize, new_align: u29) []u8 { ^ /home/andy/dev/zig/lib/std/heap/logging_allocator.zig:20:29: note: required to be non-async here .shrinkFn = shrink, ^ /home/andy/dev/zig/lib/std/heap/logging_allocator.zig:47:34: note: async function call here self.out_stream.print("free of {} bytes success!\n", .{old_mem.len}) catch {}; ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:35:34: note: async function call here return std.fmt.format(self, Error, write, format, args); ^ /home/andy/dev/zig/lib/std/fmt.zig:141:35: note: async function call here try output(context, fmt[start_index..i]); ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:28:63: note: suspends here return await @asyncCall(&stack_frame, {}, self.writeFn, self, bytes); ^ /home/andy/dev/zig/lib/std/zig/render.zig:2368:1: error: recursive function cannot be async fn renderToken( ^ /home/andy/dev/zig/lib/std/zig/render.zig:2376:29: note: async function call here return renderTokenOffset(tree, stream, token_index, indent, start_col, space, 0); ^ /home/andy/dev/zig/lib/std/zig/render.zig:2192:35: note: async function call here try stream.writeByteNTimes(' ', indent); ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:50:31: note: async function call here try self.write(bytes[0..to_write]); ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:28:63: note: suspends here return await @asyncCall(&stack_frame, {}, self.writeFn, self, bytes); ^ /home/andy/dev/zig/lib/std/zig/render.zig:2391:28: note: while checking if 'zig.render.renderDocComments' is async try renderToken(tree, stream, line_token_index.*, indent, start_col, Space.Newline); ^ /home/andy/dev/zig/lib/std/zig/render.zig:217:34: note: while checking if 'zig.render.renderContainerDecl' is async try renderDocComments(tree, stream, fn_proto, indent, start_col); ^ /home/andy/dev/zig/lib/std/zig/render.zig:209:28: note: while checking if 'zig.render.renderTopLevelDecl' is async try renderContainerDecl(allocator, stream, tree, indent, start_col, decl, .Newline); ^ /home/andy/dev/zig/lib/std/zig/render.zig:186:31: note: when analyzing type '@Frame(zig.render.renderRoot)' here try renderTopLevelDecl(allocator, stream, tree, 0, &start_col, decl); ^ /home/andy/dev/zig/lib/std/zig/render.zig:60:19: note: while checking if 'zig.render.render' is async try renderRoot(allocator, &my_stream.stream, tree); ^ /home/andy/dev/zig/lib/std/zig/parser_test.zig:2825:44: note: when analyzing type '@Frame(zig.parser_test.testParse)' here anything_changed.* = try std.zig.render(allocator, &buffer_out_stream.stream, tree); ^ /home/andy/dev/zig/lib/std/zig/parser_test.zig:2835:44: note: while checking if 'zig.parser_test.testTransform' is async const result_source = try testParse(source, &failing_allocator.allocator, &anything_changed); ^ /home/andy/dev/zig/lib/std/zig/parser_test.zig:2885:25: note: while checking if 'zig.parser_test.testCanonical' is async return testTransform(source, source); ^ /home/andy/dev/zig/lib/std/zig/parser_test.zig:2:22: note: while checking if 'zig.parser_test.test "zig fmt: trailing comma in container declaration"' is async try testCanonical( ^ /home/andy/dev/zig/lib/std/zig/render.zig:2368:1: error: recursive function cannot be async fn renderToken( ^ /home/andy/dev/zig/lib/std/zig/render.zig:2376:29: note: async function call here return renderTokenOffset(tree, stream, token_index, indent, start_col, space, 0); ^ /home/andy/dev/zig/lib/std/zig/render.zig:2192:35: note: async function call here try stream.writeByteNTimes(' ', indent); ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:50:31: note: async function call here try self.write(bytes[0..to_write]); ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:28:63: note: suspends here return await @asyncCall(&stack_frame, {}, self.writeFn, self, bytes); ^ /home/andy/dev/zig/lib/std/zig/render.zig:351:31: note: while checking if 'zig.render.renderExpression' is async return renderToken(tree, stream, identifier.token, indent, start_col, space); ^ /home/andy/dev/zig/lib/std/zig/render.zig:2368:1: error: recursive function cannot be async fn renderToken( ^ /home/andy/dev/zig/lib/std/zig/render.zig:2376:29: note: async function call here return renderTokenOffset(tree, stream, token_index, indent, start_col, space, 0); ^ /home/andy/dev/zig/lib/std/zig/render.zig:2192:35: note: async function call here try stream.writeByteNTimes(' ', indent); ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:50:31: note: async function call here try self.write(bytes[0..to_write]); ^ /home/andy/dev/zig/lib/std/io/out_stream.zig:28:63: note: suspends here return await @asyncCall(&stack_frame, {}, self.writeFn, self, bytes); ^ /home/andy/dev/zig/lib/std/zig/render.zig:351:31: note: while checking if 'zig.render.renderExpression' is async return renderToken(tree, stream, identifier.token, indent, start_col, space); ^