diff --git a/lib/compiler/Maker.zig b/lib/compiler/Maker.zig index 0ae85d4fa3bf3ba2b6b78514eb3a8cc4a5a1429b..325fa1ff1d5c4aa940c9e668a53615cf367e9ea0 100644 --- a/lib/compiler/Maker.zig +++ b/lib/compiler/Maker.zig @@ -871,7 +871,7 @@ pub fn main(init: process.Init.Minimal) !void { try s.serveStringMessage(.bsp_configuration, try arena.print("{f}", .{scanned_config.path})); var watch: ?Watch = null; - defer if (watch) |*w| w.deinit(); + defer if (Watch.have_impl) if (watch) |*w| w.deinit(); const Event = union(enum) { message: Reader.Error!Client.Message.Header, @@ -937,6 +937,7 @@ pub fn main(init: process.Init.Minimal) !void { }); is_fs_watching = true; } else if (watch) |*w| { + if (!Watch.have_impl) unreachable; w.deinit(); watch = null; } @@ -993,7 +994,7 @@ pub fn main(init: process.Init.Minimal) !void { if (!Watch.have_impl) fatal("--watch not yet implemented for {t}", .{native_os}); break :w try .init(&maker); }; - defer if (watch_flag) w.deinit(); + defer if (Watch.have_impl and watch_flag) w.deinit(); if (web_server) |ws| try ws.updateConfiguration(&maker);