master
 1#target=x86_64-linux-selfhosted
 2#target=x86_64-windows-selfhosted
 3#target=x86_64-linux-cbe
 4#target=x86_64-windows-cbe
 5//#target=wasm32-wasi-selfhosted
 6#update=initial version
 7#file=main.zig
 8const std = @import("std");
 9pub fn main() !void {
10    try std.fs.File.stdout().writeAll(@This().foo);
11}
12const foo = "good morning\n";
13#expect_stdout="good morning\n"
14
15#update=add new declaration
16#file=main.zig
17const std = @import("std");
18pub fn main() !void {
19    try std.fs.File.stdout().writeAll(@This().foo);
20}
21const foo = "good morning\n";
22const bar = "good evening\n";
23#expect_stdout="good morning\n"
24
25#update=reference new declaration
26#file=main.zig
27const std = @import("std");
28pub fn main() !void {
29    try std.fs.File.stdout().writeAll(@This().bar);
30}
31const foo = "good morning\n";
32const bar = "good evening\n";
33#expect_stdout="good evening\n"
34
35#update=reference missing declaration
36#file=main.zig
37const std = @import("std");
38pub fn main() !void {
39    try std.fs.File.stdout().writeAll(@This().qux);
40}
41const foo = "good morning\n";
42const bar = "good evening\n";
43#expect_error=main.zig:3:46: error: root source file struct 'main' has no member named 'qux'
44#expect_error=main.zig:1:1: note: struct declared here
45
46#update=add missing declaration
47#file=main.zig
48const std = @import("std");
49pub fn main() !void {
50    try std.fs.File.stdout().writeAll(@This().qux);
51}
52const foo = "good morning\n";
53const bar = "good evening\n";
54const qux = "good night\n";
55#expect_stdout="good night\n"
56
57#update=remove unused declarations
58#file=main.zig
59const std = @import("std");
60pub fn main() !void {
61    try std.fs.File.stdout().writeAll(@This().qux);
62}
63const qux = "good night\n";
64#expect_stdout="good night\n"