#exe {
-Mroot=main.zig
#}

#write main.zig {
const std = @import("std");
const io = std.Io.Threaded.global_single_threaded.io();
fn Printer(message: []const u8) type {
    return struct {
        fn print() !void {
            try std.Io.File.stdout().writeStreamingAll(io, message);
        }
    };
}
pub fn main() !void {
    try Printer("foo\n").print();
    try Printer("bar\n").print();
}
#}
#update
#check stdout {
foo
bar
#}

#write main.zig {
const std = @import("std");
const io = std.Io.Threaded.global_single_threaded.io();

fn Printer(message: []const u8) type {
    return struct {
        fn print() !void {
            try std.Io.File.stdout().writeStreamingAll(io, message);
        }
    };
}
pub fn main() !void {
    try Printer("foo\n").print();
    try Printer("bar\n").print();
}
#}
#update {
change line number#}
#check stdout {
foo
bar
#}
