authorgravatar for mason@gamesbymason.comMason Remaley <mason@gamesbymason.com> 2026-04-11 16:04:57-07:00
committergravatar for mason@gamesbymason.comMason Remaley <mason@gamesbymason.com> 2026-04-12 04:01:30-07:00
logac207073f3426e615e7d4735994f73f67af7ee8e
tree5e097d614d395f778fe3369911c50c52077c1bf0
parentcbd7f54f06e788f54573dbbe261b9defad32020b

Reverts renaming of builtin.StackTrace -> ErrorReturnTrace

We can defer this change until the next time zig1 needs to be updated

117 files changed, 142 insertions(+), 141 deletions(-)

doc/langref.html.in+1-1
......@@ -4900,7 +4900,7 @@ fn cmpxchgWeakButNotAtomic(comptime T: type, ptr: *T, expected_value: T, new_val
49004900 {#header_close#}
49014901
49024902 {#header_open|@errorReturnTrace#}
4903 <pre>{#syntax#}@errorReturnTrace() ?*builtin.ErrorReturnTrace{#endsyntax#}</pre>
4903 <pre>{#syntax#}@errorReturnTrace() ?*builtin.StackTrace{#endsyntax#}</pre>
49044904 <p>
49054905 If the binary is built with error return tracing, and this function is invoked in a
49064906 function that calls a function with an error or error union return type, returns a
lib/build-web/main.zig+1-1
......@@ -40,7 +40,7 @@ pub const std_options: std.Options = .{
4040 .logFn = logFn,
4141};
4242
43pub fn panic(msg: []const u8, st: ?*std.debug.StackTrace, addr: ?usize) noreturn {
43pub fn panic(msg: []const u8, st: ?*std.builtin.StackTrace, addr: ?usize) noreturn {
4444 _ = st;
4545 _ = addr;
4646 log.err("panic: {s}", .{msg});
lib/docs/wasm/main.zig+1-1
......@@ -33,7 +33,7 @@ pub const std_options: std.Options = .{
3333 //.log_level = .debug,
3434};
3535
36pub fn panic(msg: []const u8, st: ?*std.debug.StackTrace, addr: ?usize) noreturn {
36pub fn panic(msg: []const u8, st: ?*std.builtin.StackTrace, addr: ?usize) noreturn {
3737 _ = st;
3838 _ = addr;
3939 log.err("panic: {s}", .{msg});
lib/std/builtin.zig+1-1
......@@ -8,7 +8,7 @@ pub const assembly = @import("builtin/assembly.zig");
88
99/// This data structure is used by the Zig language code generation and
1010/// therefore must be kept in sync with the compiler implementation.
11pub const ErrorReturnTrace = struct {
11pub const StackTrace = struct {
1212 index: usize,
1313 instruction_addresses: []usize,
1414};
lib/std/debug.zig+2-2
......@@ -816,7 +816,7 @@ pub const FormatStackTrace = struct {
816816};
817817
818818/// Write a previously captured error return trace to `writer`, annotated with source locations.
819pub fn writeErrorReturnTrace(et: *const std.builtin.ErrorReturnTrace, t: Io.Terminal) Writer.Error!void {
819pub fn writeErrorReturnTrace(et: *const std.builtin.StackTrace, t: Io.Terminal) Writer.Error!void {
820820 // We take the slice by value, preventing the length from being mutated if an error occurs while
821821 // writing the stack trace.
822822 const len = @min(et.instruction_addresses.len, et.index);
......@@ -885,7 +885,7 @@ pub fn dumpStackTrace(st: *const StackTrace) void {
885885}
886886
887887/// A thin wrapper around `writeErrorReturnTrace` which writes to stderr and ignores write errors.
888pub fn dumpErrorReturnTrace(et: *const std.builtin.ErrorReturnTrace) void {
888pub fn dumpErrorReturnTrace(et: *const std.builtin.StackTrace) void {
889889 const stderr = lockStderr(&.{}).terminal();
890890 defer unlockStderr();
891891 writeErrorReturnTrace(et, stderr) catch |err| switch (err) {
src/Sema.zig+23-22
......@@ -2252,8 +2252,9 @@ pub fn setupErrorReturnTrace(sema: *Sema, block: *Block, last_arg_index: usize)
22522252 });
22532253 const addrs_ptr = try err_trace_block.addTy(.alloc, try pt.singleMutPtrType(addr_arr_ty));
22542254
2255 const error_return_trace_ty = try sema.getBuiltinType(block.nodeOffset(.zero), .ErrorReturnTrace);
2256 const st_ptr = try err_trace_block.addTy(.alloc, try pt.singleMutPtrType(error_return_trace_ty));
2255 // var st: StackTrace = undefined;
2256 const stack_trace_ty = try sema.getBuiltinType(block.nodeOffset(.zero), .StackTrace);
2257 const st_ptr = try err_trace_block.addTy(.alloc, try pt.singleMutPtrType(stack_trace_ty));
22572258
22582259 // st.instruction_addresses = &addrs;
22592260 const instruction_addresses_field_name = try ip.getOrPutString(gpa, io, pt.tid, "instruction_addresses", .no_embedded_nulls);
......@@ -6165,10 +6166,10 @@ pub fn analyzeSaveErrRetIndex(sema: *Sema, block: *Block) SemaError!Air.Inst.Ref
61656166
61666167 if (!block.ownerModule().error_tracing) return .none;
61676168
6168 const error_return_trace_ty = try sema.getBuiltinType(block.nodeOffset(.zero), .ErrorReturnTrace);
6169 const stack_trace_ty = try sema.getBuiltinType(block.nodeOffset(.zero), .StackTrace);
61696170 const field_name = try zcu.intern_pool.getOrPutString(gpa, io, pt.tid, "index", .no_embedded_nulls);
6170 const field_index = sema.structFieldIndex(block, error_return_trace_ty, field_name, LazySrcLoc.unneeded) catch |err| switch (err) {
6171 error.AnalysisFail => @panic("std.builtin.ErrorReturnTrace is corrupt"),
6171 const field_index = sema.structFieldIndex(block, stack_trace_ty, field_name, LazySrcLoc.unneeded) catch |err| switch (err) {
6172 error.AnalysisFail => @panic("std.builtin.StackTrace is corrupt"),
61726173 error.ComptimeReturn, error.ComptimeBreak => unreachable,
61736174 error.OutOfMemory, error.Canceled => |e| return e,
61746175 };
......@@ -6176,7 +6177,7 @@ pub fn analyzeSaveErrRetIndex(sema: *Sema, block: *Block) SemaError!Air.Inst.Ref
61766177 return try block.addInst(.{
61776178 .tag = .save_err_return_trace_index,
61786179 .data = .{ .ty_pl = .{
6179 .ty = Air.internedToRef(error_return_trace_ty.toIntern()),
6180 .ty = Air.internedToRef(stack_trace_ty.toIntern()),
61806181 .payload = @intCast(field_index),
61816182 } },
61826183 });
......@@ -6208,11 +6209,11 @@ fn popErrorReturnTrace(
62086209 // AstGen determined this result does not go to an error-handling expr (try/catch/return etc.), or
62096210 // the result is comptime-known to be a non-error. Either way, pop unconditionally.
62106211
6211 const error_return_trace_ty = try sema.getBuiltinType(src, .ErrorReturnTrace);
6212 const ptr_error_return_trace_ty = try pt.singleMutPtrType(error_return_trace_ty);
6213 const err_return_trace = try block.addTy(.err_return_trace, ptr_error_return_trace_ty);
6212 const stack_trace_ty = try sema.getBuiltinType(src, .StackTrace);
6213 const ptr_stack_trace_ty = try pt.singleMutPtrType(stack_trace_ty);
6214 const err_return_trace = try block.addTy(.err_return_trace, ptr_stack_trace_ty);
62146215 const field_name = try zcu.intern_pool.getOrPutString(gpa, io, pt.tid, "index", .no_embedded_nulls);
6215 const field_ptr = try sema.structFieldPtr(block, src, err_return_trace, field_name, src, error_return_trace_ty);
6216 const field_ptr = try sema.structFieldPtr(block, src, err_return_trace, field_name, src, stack_trace_ty);
62166217 try sema.storePtr2(block, src, field_ptr, src, saved_error_trace_index, src, .store);
62176218 } else if (is_non_error == null) {
62186219 // The result might be an error. If it is, we leave the error trace alone. If it isn't, we need
......@@ -6233,11 +6234,11 @@ fn popErrorReturnTrace(
62336234 defer then_block.instructions.deinit(gpa);
62346235
62356236 // If non-error, then pop the error return trace by restoring the index.
6236 const error_return_trace_ty = try sema.getBuiltinType(src, .ErrorReturnTrace);
6237 const ptr_error_return_trace_ty = try pt.singleMutPtrType(error_return_trace_ty);
6238 const err_return_trace = try then_block.addTy(.err_return_trace, ptr_error_return_trace_ty);
6237 const stack_trace_ty = try sema.getBuiltinType(src, .StackTrace);
6238 const ptr_stack_trace_ty = try pt.singleMutPtrType(stack_trace_ty);
6239 const err_return_trace = try then_block.addTy(.err_return_trace, ptr_stack_trace_ty);
62396240 const field_name = try zcu.intern_pool.getOrPutString(gpa, io, pt.tid, "index", .no_embedded_nulls);
6240 const field_ptr = try sema.structFieldPtr(&then_block, src, err_return_trace, field_name, src, error_return_trace_ty);
6241 const field_ptr = try sema.structFieldPtr(&then_block, src, err_return_trace, field_name, src, stack_trace_ty);
62416242 try sema.storePtr2(&then_block, src, field_ptr, src, saved_error_trace_index, src, .store);
62426243 _ = try then_block.addBr(cond_block_inst, .void_value);
62436244
......@@ -6372,15 +6373,15 @@ fn zirCall(
63726373 // If any input is an error-type, we might need to pop any trace it generated. Otherwise, we only
63736374 // need to clean-up our own trace if we were passed to a non-error-handling expression.
63746375 if (input_is_error or (pop_error_return_trace and return_ty.isError(zcu))) {
6375 const error_return_trace_ty = try sema.getBuiltinType(call_src, .ErrorReturnTrace);
6376 const stack_trace_ty = try sema.getBuiltinType(call_src, .StackTrace);
63766377 const field_name = try zcu.intern_pool.getOrPutString(gpa, io, pt.tid, "index", .no_embedded_nulls);
6377 const field_index = try sema.structFieldIndex(block, error_return_trace_ty, field_name, call_src);
6378 const field_index = try sema.structFieldIndex(block, stack_trace_ty, field_name, call_src);
63786379
63796380 // Insert a save instruction before the arg resolution + call instructions we just generated
63806381 const save_inst = try block.insertInst(block_index, .{
63816382 .tag = .save_err_return_trace_index,
63826383 .data = .{ .ty_pl = .{
6383 .ty = Air.internedToRef(error_return_trace_ty.toIntern()),
6384 .ty = Air.internedToRef(stack_trace_ty.toIntern()),
63846385 .payload = @intCast(field_index),
63856386 } },
63866387 });
......@@ -19528,13 +19529,13 @@ fn getErrorReturnTrace(sema: *Sema, block: *Block) CompileError!Air.Inst.Ref {
1952819529 const pt = sema.pt;
1952919530 const zcu = pt.zcu;
1953019531 const ip = &zcu.intern_pool;
19531 const error_return_trace_ty = try sema.getBuiltinType(block.nodeOffset(.zero), .ErrorReturnTrace);
19532 const ptr_error_return_trace_ty = try pt.singleMutPtrType(error_return_trace_ty);
19533 const opt_ptr_error_return_trace_ty = try pt.optionalType(ptr_error_return_trace_ty.toIntern());
19532 const stack_trace_ty = try sema.getBuiltinType(block.nodeOffset(.zero), .StackTrace);
19533 const ptr_stack_trace_ty = try pt.singleMutPtrType(stack_trace_ty);
19534 const opt_ptr_stack_trace_ty = try pt.optionalType(ptr_stack_trace_ty.toIntern());
1953419535
1953519536 switch (sema.owner.unwrap()) {
1953619537 .func => |func| if (ip.funcAnalysisUnordered(func).has_error_trace and block.ownerModule().error_tracing) {
19537 return block.addTy(.err_return_trace, opt_ptr_error_return_trace_ty);
19538 return block.addTy(.err_return_trace, opt_ptr_stack_trace_ty);
1953819539 },
1953919540
1954019541 .@"comptime",
......@@ -19546,7 +19547,7 @@ fn getErrorReturnTrace(sema: *Sema, block: *Block) CompileError!Air.Inst.Ref {
1954619547 => {},
1954719548 }
1954819549 return Air.internedToRef(try pt.intern(.{ .opt = .{
19549 .ty = opt_ptr_error_return_trace_ty.toIntern(),
19550 .ty = opt_ptr_stack_trace_ty.toIntern(),
1955019551 .val = .none,
1955119552 } }));
1955219553}
src/Zcu.zig+2-2
......@@ -434,7 +434,7 @@ pub const BuiltinDecl = enum {
434434 AddressSpace,
435435 CallingConvention,
436436 returnError,
437 ErrorReturnTrace,
437 StackTrace,
438438 SourceLocation,
439439 CallModifier,
440440 AtomicOrder,
......@@ -512,7 +512,7 @@ pub const BuiltinDecl = enum {
512512 return switch (decl) {
513513 .returnError => .func,
514514
515 .ErrorReturnTrace,
515 .StackTrace,
516516 .CallingConvention,
517517 .SourceLocation,
518518 .Signedness,
src/codegen/llvm.zig+1-1
......@@ -3374,7 +3374,7 @@ pub const Object = struct {
33743374 }
33753375
33763376 if (fn_info.cc == .auto and zcu.comp.config.any_error_tracing) {
3377 // First parameter is a pointer to `std.builtin.ErrorReturnTrace`.
3377 // First parameter is a pointer to `std.builtin.StackTrace`.
33783378 const llvm_ptr_ty = try o.builder.ptrType(toLlvmAddressSpace(.generic, target));
33793379 try llvm_params.append(o.gpa, llvm_ptr_ty);
33803380 }
test/cases/compile_errors/panic_has_source_location.zig+1-1
......@@ -6,7 +6,7 @@ export fn foo() void {
66 @panic("oh no");
77}
88
9pub fn panic(_: []const u8, _: ?*std.debug.StackTrace, _: ?usize) noreturn {
9pub fn panic(_: []const u8, _: ?*std.builtin.StackTrace, _: ?usize) noreturn {
1010 @compileError("panic");
1111}
1212
test/cases/safety/@alignCast misaligned.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "incorrect alignment")) {
66 std.process.exit(0);
test/cases/safety/@enumFromInt - no matching tag value.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "invalid enum value")) {
66 std.process.exit(0);
test/cases/safety/@enumFromInt truncated bits - exhaustive.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, _: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, _: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 if (std.mem.eql(u8, message, "invalid enum value")) {
55 std.process.exit(0);
66 }
test/cases/safety/@enumFromInt truncated bits - nonexhaustive.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, _: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, _: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 if (std.mem.eql(u8, message, "invalid enum value")) {
55 std.process.exit(0);
66 }
test/cases/safety/@errorCast error not present in destination.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "invalid error code")) {
66 std.process.exit(0);
test/cases/safety/@errorCast error union casted to disjoint set.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "invalid error code")) {
66 std.process.exit(0);
test/cases/safety/@intCast to u0.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - i0 max.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - i0 min.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - signed max.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - signed min.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - u0 max.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - u0 min.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - unsigned max.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - unsigned min.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - vector max.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - boundary case - vector min.zig +1-1
......@@ -1,5 +1,5 @@
11const std = @import("std");
2pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
2pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
33 _ = stack_trace;
44 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
55 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - negative out of range.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
66 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - negative to unsigned.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
66 std.process.exit(0);
test/cases/safety/@intFromFloat cannot fit - positive out of range.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer part of floating point value out of bounds")) {
66 std.process.exit(0);
test/cases/safety/@ptrFromInt address zero to non-optional byte-aligned pointer.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "cast causes pointer to be null")) {
66 std.process.exit(0);
test/cases/safety/@ptrFromInt address zero to non-optional pointer.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "cast causes pointer to be null")) {
66 std.process.exit(0);
test/cases/safety/@ptrFromInt with misaligned address.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "incorrect alignment")) {
66 std.process.exit(0);
test/cases/safety/@tagName on corrupted enum value.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "invalid enum value")) {
66 std.process.exit(0);
test/cases/safety/@tagName on corrupted union value.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "invalid enum value")) {
66 std.process.exit(0);
test/cases/safety/array slice sentinel mismatch vector.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "sentinel mismatch: expected { 0, 0 }, found { 4, 4 }")) {
66 std.process.exit(0);
test/cases/safety/array slice sentinel mismatch.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "sentinel mismatch: expected 0, found 4")) {
66 std.process.exit(0);
test/cases/safety/bad union field access.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "access of union field 'float' while field 'int' is active")) {
66 std.process.exit(0);
test/cases/safety/calling panic.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "oh no")) {
66 std.process.exit(0);
test/cases/safety/cast []u8 to bigger slice of wrong size.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "exact division produced remainder")) {
66 std.process.exit(0);
test/cases/safety/cast integer to global error and no code matches.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "invalid error code")) {
66 std.process.exit(0);
test/cases/safety/empty slice with sentinel out of bounds.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "index out of bounds: index 1, len 0")) {
66 std.process.exit(0);
test/cases/safety/exact division failure - vectors.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "exact division produced remainder")) {
66 std.process.exit(0);
test/cases/safety/exact division failure.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "exact division produced remainder")) {
66 std.process.exit(0);
test/cases/safety/for_len_mismatch.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "for loop over objects with non-equal lengths")) {
66 std.process.exit(0);
test/cases/safety/for_len_mismatch_three.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "for loop over objects with non-equal lengths")) {
66 std.process.exit(0);
test/cases/safety/ignored expression integer overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/integer addition overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/integer division by zero - vectors.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "division by zero")) {
66 std.process.exit(0);
test/cases/safety/integer division by zero.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "division by zero")) {
66 std.process.exit(0);
test/cases/safety/integer multiplication overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/integer negation overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/integer subtraction overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/memcpy_alias.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "@memcpy arguments alias")) {
66 std.process.exit(0);
test/cases/safety/memcpy_len_mismatch.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "source and destination arguments have non-equal lengths")) {
66 std.process.exit(0);
test/cases/safety/memmove_len_mismatch.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "source and destination arguments have non-equal lengths")) {
66 std.process.exit(0);
test/cases/safety/memset_array_undefined_bytes.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/memset_array_undefined_large.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/memset_slice_undefined_bytes.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/memset_slice_undefined_large.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/modrem by zero.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "division by zero")) {
66 std.process.exit(0);
test/cases/safety/modulus by zero.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "division by zero")) {
66 std.process.exit(0);
test/cases/safety/noreturn returned.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "'noreturn' function returned")) {
66 std.process.exit(0);
test/cases/safety/optional unwrap operator on C pointer.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "attempt to use null value")) {
66 std.process.exit(0);
test/cases/safety/optional unwrap operator on null pointer.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "attempt to use null value")) {
66 std.process.exit(0);
test/cases/safety/optional_empty_error_set.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, ra: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, ra: ?usize) noreturn {
44 _ = stack_trace;
55 _ = ra;
66 if (std.mem.eql(u8, message, "attempt to use null value")) {
test/cases/safety/out of bounds array slice by length.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "index out of bounds: index 16, len 5")) {
66 std.process.exit(0);
test/cases/safety/out of bounds slice access.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "index out of bounds: index 4, len 4")) {
66 std.process.exit(0);
test/cases/safety/pointer casting null to non-optional pointer.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "cast causes pointer to be null")) {
66 std.process.exit(0);
test/cases/safety/pointer casting to null function pointer.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "cast causes pointer to be null")) {
66 std.process.exit(0);
test/cases/safety/pointer slice sentinel mismatch.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "sentinel mismatch: expected 0, found 4")) {
66 std.process.exit(0);
test/cases/safety/remainder division by zero.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "division by zero")) {
66 std.process.exit(0);
test/cases/safety/shift left by huge amount.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "shift amount is greater than the type size")) {
66 std.process.exit(0);
test/cases/safety/shift right by huge amount.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "shift amount is greater than the type size")) {
66 std.process.exit(0);
test/cases/safety/signed integer division overflow - vectors.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/signed integer division overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/signed integer not fitting in cast to unsigned integer - widening.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/signed integer not fitting in cast to unsigned integer.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/signed shift left overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "left shift overflowed bits")) {
66 std.process.exit(0);
test/cases/safety/signed shift right overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "right shift overflowed bits")) {
66 std.process.exit(0);
test/cases/safety/signed-unsigned vector cast.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/slice by length sentinel mismatch on lhs.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "sentinel mismatch: expected 1, found 3")) {
66 std.process.exit(0);
test/cases/safety/slice by length sentinel mismatch on rhs.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "sentinel mismatch: expected 1, found 0")) {
66 std.process.exit(0);
test/cases/safety/slice sentinel mismatch - floats.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "sentinel mismatch: expected 1.2, found 4")) {
66 std.process.exit(0);
test/cases/safety/slice sentinel mismatch - optional pointers.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "sentinel mismatch: expected null, found i32@10")) {
66 std.process.exit(0);
test/cases/safety/slice slice sentinel mismatch.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "sentinel mismatch: expected 0, found 4")) {
66 std.process.exit(0);
test/cases/safety/slice start index greater than end index.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "start index 10 is larger than end index 1")) {
66 std.process.exit(0);
test/cases/safety/slice with sentinel out of bounds - runtime len.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "index out of bounds: index 5, len 4")) {
66 std.process.exit(0);
test/cases/safety/slice with sentinel out of bounds.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "index out of bounds: index 5, len 4")) {
66 std.process.exit(0);
test/cases/safety/slice_cast_change_len_0.zig+1-1
......@@ -13,7 +13,7 @@ pub fn main() void {
1313 std.process.exit(1);
1414}
1515
16pub fn panic(message: []const u8, _: ?*std.debug.StackTrace, _: ?usize) noreturn {
16pub fn panic(message: []const u8, _: ?*std.builtin.StackTrace, _: ?usize) noreturn {
1717 if (std.mem.eql(u8, message, "slice length '3' does not divide exactly into destination elements")) {
1818 std.process.exit(0);
1919 }
test/cases/safety/slice_cast_change_len_1.zig+1-1
......@@ -13,7 +13,7 @@ pub fn main() void {
1313 std.process.exit(1);
1414}
1515
16pub fn panic(message: []const u8, _: ?*std.debug.StackTrace, _: ?usize) noreturn {
16pub fn panic(message: []const u8, _: ?*std.builtin.StackTrace, _: ?usize) noreturn {
1717 if (std.mem.eql(u8, message, "slice length '1' does not divide exactly into destination elements")) {
1818 std.process.exit(0);
1919 }
test/cases/safety/slice_cast_change_len_2.zig+1-1
......@@ -13,7 +13,7 @@ pub fn main() void {
1313 std.process.exit(1);
1414}
1515
16pub fn panic(message: []const u8, _: ?*std.debug.StackTrace, _: ?usize) noreturn {
16pub fn panic(message: []const u8, _: ?*std.builtin.StackTrace, _: ?usize) noreturn {
1717 if (std.mem.eql(u8, message, "slice length '1' does not divide exactly into destination elements")) {
1818 std.process.exit(0);
1919 }
test/cases/safety/slicing null C pointer - runtime len.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "attempt to use null value")) {
66 std.process.exit(0);
test/cases/safety/slicing null C pointer.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "attempt to use null value")) {
66 std.process.exit(0);
test/cases/safety/switch else on corrupt enum value - one prong.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "switch on corrupt value")) {
66 std.process.exit(0);
test/cases/safety/switch else on corrupt enum value - union.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "switch on corrupt value")) {
66 std.process.exit(0);
test/cases/safety/switch else on corrupt enum value.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "switch on corrupt value")) {
66 std.process.exit(0);
test/cases/safety/switch on corrupted enum value.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "switch on corrupt value")) {
66 std.process.exit(0);
test/cases/safety/switch on corrupted union value.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "switch on corrupt value")) {
66 std.process.exit(0);
test/cases/safety/truncating vector cast.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/unreachable.zig+1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "reached unreachable code")) {
66 std.process.exit(0);
test/cases/safety/unsigned integer not fitting in cast to signed integer - same bit count.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/unsigned shift left overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "left shift overflowed bits")) {
66 std.process.exit(0);
test/cases/safety/unsigned shift right overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "right shift overflowed bits")) {
66 std.process.exit(0);
test/cases/safety/unsigned-signed vector cast.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/unwrap error switch.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "attempt to unwrap error: Whatever")) {
66 std.process.exit(0);
test/cases/safety/unwrap error.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "attempt to unwrap error: Whatever")) {
66 std.process.exit(0);
test/cases/safety/value does not fit in shortening cast - u0.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/value does not fit in shortening cast.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer does not fit in destination type")) {
66 std.process.exit(0);
test/cases/safety/vector integer addition overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/vector integer multiplication overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/vector integer negation overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/vector integer subtraction overflow.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "integer overflow")) {
66 std.process.exit(0);
test/cases/safety/zero casted to error.zig +1-1
......@@ -1,6 +1,6 @@
11const std = @import("std");
22
3pub fn panic(message: []const u8, stack_trace: ?*std.debug.StackTrace, _: ?usize) noreturn {
3pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usize) noreturn {
44 _ = stack_trace;
55 if (std.mem.eql(u8, message, "invalid error code")) {
66 std.process.exit(0);
test/cases/tail_call_noreturn.zig+2-2
......@@ -1,9 +1,9 @@
11const std = @import("std");
22const builtin = std.builtin;
3pub fn foo(message: []const u8, stack_trace: ?*std.debug.StackTrace) noreturn {
3pub fn foo(message: []const u8, stack_trace: ?*builtin.StackTrace) noreturn {
44 @call(.always_tail, bar, .{ message, stack_trace });
55}
6pub fn bar(message: []const u8, stack_trace: ?*std.debug.StackTrace) noreturn {
6pub fn bar(message: []const u8, stack_trace: ?*builtin.StackTrace) noreturn {
77 _ = message;
88 _ = stack_trace;
99 std.process.exit(0);
test/standalone/compile_asm/main.zig+1-1
......@@ -4,7 +4,7 @@ export fn main(r0: u32, r1: u32, atags: u32) callconv(.c) noreturn {
44 _ = atags;
55 unreachable; // never gets run so it doesn't matter
66}
7pub fn panic(msg: []const u8, error_return_trace: ?*@import("std").debug.StackTrace, _: ?usize) noreturn {
7pub fn panic(msg: []const u8, error_return_trace: ?*@import("std").builtin.StackTrace, _: ?usize) noreturn {
88 _ = msg;
99 _ = error_return_trace;
1010 while (true) {}
test/standalone/issue_339/test.zig+1-1
......@@ -1,4 +1,4 @@
1const StackTrace = @import("std").debug.StackTrace;
1const StackTrace = @import("std").builtin.StackTrace;
22pub fn panic(msg: []const u8, stack_trace: ?*StackTrace, _: ?usize) noreturn {
33 _ = msg;
44 _ = stack_trace;
test/tests.zig+1-1
......@@ -2291,7 +2291,7 @@ pub fn addCliTests(b: *std.Build) *Step {
22912291 \\ return num * num;
22922292 \\}
22932293 \\extern fn zig_panic() noreturn;
2294 \\pub fn panic(msg: []const u8, error_return_trace: ?*@import("std").debug.StackTrace, _: ?usize) noreturn {
2294 \\pub fn panic(msg: []const u8, error_return_trace: ?*@import("builtin").StackTrace, _: ?usize) noreturn {
22952295 \\ _ = msg;
22962296 \\ _ = error_return_trace;
22972297 \\ zig_panic();