aboutsummaryrefslogtreecommitdiff
path: root/lib/std/debug.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/debug.zig')
-rw-r--r--lib/std/debug.zig9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/std/debug.zig b/lib/std/debug.zig
index 517176c900..b25dabbc06 100644
--- a/lib/std/debug.zig
+++ b/lib/std/debug.zig
@@ -66,6 +66,15 @@ pub fn print(comptime fmt: []const u8, args: anytype) void {
nosuspend stderr.print(fmt, args) catch return;
}
+/// Indicates code that is unfinshed. It will throw a compiler error by default in Release mode.
+/// This behaviour can be controlled with `root.allow_todo_in_release`.
+pub fn todo(comptime desc: []const u8) noreturn {
+ if (builtin.mode != .Debug and !(@hasDecl(root, "allow_todo_in_release") and root.allow_todo_in_release)) {
+ @compileError("TODO: " ++ desc);
+ }
+ @panic("TODO: " ++ desc);
+}
+
pub fn getStderrMutex() *std.Thread.Mutex {
return &stderr_mutex;
}