master
  1//! This namespace can be used with `pub const panic = std.debug.no_panic;` in the root file.
  2//! It emits as little code as possible, for testing purposes.
  3//!
  4//! For a functional alternative, see `std.debug.FullPanic`.
  5
  6const std = @import("../std.zig");
  7
  8pub fn call(_: []const u8, _: ?usize) noreturn {
  9    @branchHint(.cold);
 10    @trap();
 11}
 12
 13pub fn sentinelMismatch(_: anytype, _: anytype) noreturn {
 14    @branchHint(.cold);
 15    @trap();
 16}
 17
 18pub fn unwrapError(_: anyerror) noreturn {
 19    @branchHint(.cold);
 20    @trap();
 21}
 22
 23pub fn outOfBounds(_: usize, _: usize) noreturn {
 24    @branchHint(.cold);
 25    @trap();
 26}
 27
 28pub fn startGreaterThanEnd(_: usize, _: usize) noreturn {
 29    @branchHint(.cold);
 30    @trap();
 31}
 32
 33pub fn inactiveUnionField(_: anytype, _: anytype) noreturn {
 34    @branchHint(.cold);
 35    @trap();
 36}
 37
 38pub fn sliceCastLenRemainder(_: usize) noreturn {
 39    @branchHint(.cold);
 40    @trap();
 41}
 42
 43pub fn reachedUnreachable() noreturn {
 44    @branchHint(.cold);
 45    @trap();
 46}
 47
 48pub fn unwrapNull() noreturn {
 49    @branchHint(.cold);
 50    @trap();
 51}
 52
 53pub fn castToNull() noreturn {
 54    @branchHint(.cold);
 55    @trap();
 56}
 57
 58pub fn incorrectAlignment() noreturn {
 59    @branchHint(.cold);
 60    @trap();
 61}
 62
 63pub fn invalidErrorCode() noreturn {
 64    @branchHint(.cold);
 65    @trap();
 66}
 67
 68pub fn integerOutOfBounds() noreturn {
 69    @branchHint(.cold);
 70    @trap();
 71}
 72
 73pub fn integerOverflow() noreturn {
 74    @branchHint(.cold);
 75    @trap();
 76}
 77
 78pub fn shlOverflow() noreturn {
 79    @branchHint(.cold);
 80    @trap();
 81}
 82
 83pub fn shrOverflow() noreturn {
 84    @branchHint(.cold);
 85    @trap();
 86}
 87
 88pub fn divideByZero() noreturn {
 89    @branchHint(.cold);
 90    @trap();
 91}
 92
 93pub fn exactDivisionRemainder() noreturn {
 94    @branchHint(.cold);
 95    @trap();
 96}
 97
 98pub fn integerPartOutOfBounds() noreturn {
 99    @branchHint(.cold);
100    @trap();
101}
102
103pub fn corruptSwitch() noreturn {
104    @branchHint(.cold);
105    @trap();
106}
107
108pub fn shiftRhsTooBig() noreturn {
109    @branchHint(.cold);
110    @trap();
111}
112
113pub fn invalidEnumValue() noreturn {
114    @branchHint(.cold);
115    @trap();
116}
117
118pub fn forLenMismatch() noreturn {
119    @branchHint(.cold);
120    @trap();
121}
122
123pub fn copyLenMismatch() noreturn {
124    @branchHint(.cold);
125    @trap();
126}
127
128pub fn memcpyAlias() noreturn {
129    @branchHint(.cold);
130    @trap();
131}
132
133pub fn noreturnReturned() noreturn {
134    @branchHint(.cold);
135    @trap();
136}