1#update=initial version
2#file=main.zig
3pub fn main() !void {
4 try foo(false);
5}
6fn foo(recurse: bool) !void {
7 const stdout = std.Io.File.stdout();
8 if (recurse) return foo(true);
9 try stdout.writeStreamingAll(io, "non-recursive path\n");
10}
11const std = @import("std");
12const io = std.Io.Threaded.global_single_threaded.io();
13#expect_stdout="non-recursive path\n"
14
15#update=eliminate recursion and change argument
16#file=main.zig
17pub fn main() !void {
18 try foo(true);
19}
20fn foo(recurse: bool) !void {
21 const stdout = std.Io.File.stdout();
22 if (recurse) return stdout.writeStreamingAll(io, "x==1\n");
23 try stdout.writeStreamingAll(io, "non-recursive path\n");
24}
25const std = @import("std");
26const io = std.Io.Threaded.global_single_threaded.io();
27#expect_stdout="x==1\n"