aboutsummaryrefslogtreecommitdiff
path: root/lib/std/meta.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/meta.zig')
-rw-r--r--lib/std/meta.zig8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/std/meta.zig b/lib/std/meta.zig
index 2cf7f6de81..d51a2744b3 100644
--- a/lib/std/meta.zig
+++ b/lib/std/meta.zig
@@ -9,6 +9,7 @@ const debug = std.debug;
const mem = std.mem;
const math = std.math;
const testing = std.testing;
+const root = @import("root");
pub const trait = @import("meta/trait.zig");
pub const TrailerFlags = @import("meta/trailer_flags.zig").TrailerFlags;
@@ -1085,3 +1086,10 @@ test "Tuple" {
TupleTester.assertTuple(.{ u32, f16 }, Tuple(&[_]type{ u32, f16 }));
TupleTester.assertTuple(.{ u32, f16, []const u8, void }, Tuple(&[_]type{ u32, f16, []const u8, void }));
}
+
+/// TODO: https://github.com/ziglang/zig/issues/425
+pub fn globalOption(comptime name: []const u8, comptime T: type) ?T {
+ if (!@hasDecl(root, name))
+ return null;
+ return @as(T, @field(root, name));
+}