pub const panic: type = p: 1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365pub const panic: type = p: {
if (@hasDecl(root, "panic")) {
if (@TypeOf(root.panic) != type) {
// Deprecated; make `panic` a namespace instead.
break :p std.debug.FullPanic(struct {
fn panic(msg: []const u8, ra: ?usize) noreturn {
root.panic(msg, @errorReturnTrace(), ra);
}
}.panic);
}
break :p root.panic;
}
break :p switch (builtin.zig_backend) {
.stage2_loongarch,
.stage2_powerpc,
.stage2_riscv64,
=> std.debug.simple_panic,
else => std.debug.FullPanic(std.debug.defaultPanic),
};
}
This namespace is used by the Zig compiler to emit various kinds of safety panics. These can be overridden by making a public
panicnamespace in the root source file.