1#exe {
2-Mroot=main.zig
3#}
4
5#write main.zig {
6pub fn main() !u8 {
7 var a: u8 = undefined;
8 a = 255;
9 _ = a + 1;
10 return 1;
11}
12pub const panic = std.debug.FullPanic(myPanic);
13fn myPanic(msg: []const u8, _: ?usize) noreturn {
14 var stdout_writer = std.Io.File.stdout().writerStreaming(io, &.{});
15 stdout_writer.interface.print("panic message: {s}\n", .{msg}) catch {};
16 std.process.exit(0);
17}
18const std = @import("std");
19const io = std.Io.Threaded.global_single_threaded.io();
20#}
21#update
22#check stdout {
23panic message: integer overflow
24#}
25
26#write main.zig {
27pub fn main() !u8 {
28 var a: u8 = undefined;
29 a = 255;
30 _ = a + 1;
31 return 1;
32}
33pub const panic = std.debug.FullPanic(myPanic);
34fn myPanic(msg: []const u8, _: ?usize) noreturn {
35 var stdout_writer = std.Io.File.stdout().writerStreaming(io, &.{});
36 stdout_writer.interface.print("new panic message: {s}\n", .{msg}) catch {};
37 std.process.exit(0);
38}
39const std = @import("std");
40const io = std.Io.Threaded.global_single_threaded.io();
41#}
42#update "change the panic handler body"
43#check stdout {
44new panic message: integer overflow
45#}
46
47#write main.zig {
48pub fn main() !u8 {
49 var a: u8 = undefined;
50 a = 255;
51 _ = a + 1;
52 return 1;
53}
54pub const panic = std.debug.FullPanic(myPanicNew);
55fn myPanicNew(msg: []const u8, _: ?usize) noreturn {
56 var stdout_writer = std.Io.File.stdout().writerStreaming(io, &.{});
57 stdout_writer.interface.print("third panic message: {s}\n", .{msg}) catch {};
58 std.process.exit(0);
59}
60const std = @import("std");
61const io = std.Io.Threaded.global_single_threaded.io();
62#}
63#update "change the panic handler function value"
64#check stdout {
65third panic message: integer overflow
66#}