diff --git a/lib/compiler/Maker.zig b/lib/compiler/Maker.zig index 12df472dea24af6477265bbd9e922542db8a8757..8055927d61e7276106d297c5950913e3a0e78980 100644 --- a/lib/compiler/Maker.zig +++ b/lib/compiler/Maker.zig @@ -841,7 +841,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, @@ -907,6 +907,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; } @@ -963,7 +964,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);