From 80ac022c4667e1995ccdf70fff90e5af26b6eb97 Mon Sep 17 00:00:00 2001 From: David John Date: Fri, 10 Dec 2021 11:47:38 +0530 Subject: add std.debug.todo --- lib/std/debug.zig | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/std') 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; } -- cgit v1.2.3