diff options
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/debug.zig | 9 |
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; } |
