From c3d2857693e3f03fdb68f27ccc89049f7552151a Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Wed, 29 Apr 2026 15:54:06 -0700 Subject: [PATCH] fix compile error and make root option an enum --- src/main.zig | 8 +------- src/mod.zig | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main.zig b/src/main.zig index f93bcec1e2aa3f773effbbf55d198d824d12b53d..b574a07fcd21f1f44ed966a5bb2f2fe738286b8e 100644 --- a/src/main.zig +++ b/src/main.zig @@ -4,13 +4,7 @@ const nfs = @import("nfs"); pub const build_options = @import("build_options"); -pub const tracer_impl = switch (build_options.backend) { - 0 => tracer.none, - 1 => tracer.log, - 2 => tracer.spall, - 3 => tracer.chrome, - else => unreachable, -}; +pub const tracer_backend: tracer.Backend = @enumFromInt(build_options.backend); pub fn main() !void { try tracer.init(.{}); diff --git a/src/mod.zig b/src/mod.zig index 5676eb5928b145fe066386adc46a5c79598d5dc8..b28f3184f135953591a78b9470b0fcb6644616df 100644 --- a/src/mod.zig +++ b/src/mod.zig @@ -2,13 +2,26 @@ const std = @import("std"); const root = @import("root"); const extras = @import("extras"); const nfs = @import("nfs"); -const impl = extras.globalOption("tracer_impl", type) orelse none; +const backend: Backend = extras.globalOption("tracer_backend", Backend) orelse .none; +const impl = switch (backend) { + .none => none, + .log => log, + .chrome => chrome, + .spall => spall, +}; pub const none = @import("./none.zig"); pub const log = @import("./log.zig"); pub const chrome = @import("./chrome.zig"); pub const spall = @import("./spall.zig"); +pub const Backend = enum { + none, + log, + chrome, + spall, +}; + pub fn init(args: @typeInfo(@TypeOf(impl.init)).@"fn".params[0].type.?) !void { try impl.init(args); } -- 2.54.0