authorgravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2026-04-20 18:01:44-07:00
committergravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2026-04-20 18:03:14-07:00
log3252a0553175690ff8a2f0aa8a5697c8344ec59c
tree99ce0923f0da10ac4bd31c0f5ce622ef8fa3604c
parent98cc059622cd5cad3eef1bbc851437358d259033

Prefer `<err> => |e| return e` over `<err> => return <err>`

Avoids the potential for a typo on the `return <err>` side of the prong

62 files changed, 170 insertions(+), 201 deletions(-)

lib/compiler/aro/aro/CodeGen.zig+2-4
...@@ -102,14 +102,12 @@ pub fn genIr(tree: *const Tree) Compilation.Error!Ir {...@@ -102,14 +102,12 @@ pub fn genIr(tree: *const Tree) Compilation.Error!Ir {
102 .function => |function| {102 .function => |function| {
103 if (function.body == null) continue;103 if (function.body == null) continue;
104 c.genFn(function) catch |err| switch (err) {104 c.genFn(function) catch |err| switch (err) {
105 error.FatalError => return error.FatalError,105 error.FatalError, error.OutOfMemory => |e| return e,
106 error.OutOfMemory => return error.OutOfMemory,
107 };106 };
108 },107 },
109108
110 .variable => |variable| c.genVar(variable) catch |err| switch (err) {109 .variable => |variable| c.genVar(variable) catch |err| switch (err) {
111 error.FatalError => return error.FatalError,110 error.FatalError, error.OutOfMemory => |e| return e,
112 error.OutOfMemory => return error.OutOfMemory,
113 },111 },
114 .global_asm => {112 .global_asm => {
115 return c.fail("TODO global assembly", .{});113 return c.fail("TODO global assembly", .{});
lib/compiler/aro/aro/Compilation.zig+2-2
...@@ -2085,7 +2085,7 @@ pub fn findEmbed(...@@ -2085,7 +2085,7 @@ pub fn findEmbed(
2085 if (opt_dep_file) |dep_file| try dep_file.addDependencyDupe(comp.gpa, comp.arena, filename);2085 if (opt_dep_file) |dep_file| try dep_file.addDependencyDupe(comp.gpa, comp.arena, filename);
2086 return some;2086 return some;
2087 } else |err| switch (err) {2087 } else |err| switch (err) {
2088 error.OutOfMemory => return error.OutOfMemory,2088 error.OutOfMemory => |e| return e,
2089 else => {},2089 else => {},
2090 }2090 }
2091 },2091 },
...@@ -2100,7 +2100,7 @@ pub fn findEmbed(...@@ -2100,7 +2100,7 @@ pub fn findEmbed(
2100 if (opt_dep_file) |dep_file| try dep_file.addDependencyDupe(comp.gpa, comp.arena, filename);2100 if (opt_dep_file) |dep_file| try dep_file.addDependencyDupe(comp.gpa, comp.arena, filename);
2101 return some;2101 return some;
2102 } else |err| switch (err) {2102 } else |err| switch (err) {
2103 error.OutOfMemory => return error.OutOfMemory,2103 error.OutOfMemory => |e| return e,
2104 else => {},2104 else => {},
2105 }2105 }
2106 }2106 }
lib/compiler/aro/aro/Driver.zig+5-7
...@@ -1182,8 +1182,7 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_...@@ -1182,8 +1182,7 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_
1182 var stdout = std.Io.File.stdout().writer(d.comp.io, &stdout_buf);1182 var stdout = std.Io.File.stdout().writer(d.comp.io, &stdout_buf);
1183 if (parseArgs(d, &stdout.interface, &macro_buf, args) catch |er| switch (er) {1183 if (parseArgs(d, &stdout.interface, &macro_buf, args) catch |er| switch (er) {
1184 error.WriteFailed => return d.fatal("failed to write to stdout: {s}", .{errorDescription(er)}),1184 error.WriteFailed => return d.fatal("failed to write to stdout: {s}", .{errorDescription(er)}),
1185 error.OutOfMemory => return error.OutOfMemory,1185 error.OutOfMemory, error.FatalError => |e| return e,
1186 error.FatalError => return error.FatalError,
1187 }) return;1186 }) return;
1188 if (macro_buf.items.len > std.math.maxInt(u32)) {1187 if (macro_buf.items.len > std.math.maxInt(u32)) {
1189 return d.fatal("user provided macro source exceeded max size", .{});1188 return d.fatal("user provided macro source exceeded max size", .{});
...@@ -1207,12 +1206,11 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_...@@ -1207,12 +1206,11 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_
1207 };1206 };
12081207
1209 tc.discover() catch |er| switch (er) {1208 tc.discover() catch |er| switch (er) {
1210 error.OutOfMemory => return error.OutOfMemory,1209 error.OutOfMemory => |e| return e,
1211 error.TooManyMultilibs => return d.fatal("found more than one multilib with the same priority", .{}),1210 error.TooManyMultilibs => return d.fatal("found more than one multilib with the same priority", .{}),
1212 };1211 };
1213 tc.defineSystemIncludes() catch |er| switch (er) {1212 tc.defineSystemIncludes() catch |er| switch (er) {
1214 error.OutOfMemory => return error.OutOfMemory,1213 error.OutOfMemory, error.FatalError => |e| return e,
1215 error.FatalError => return error.FatalError,
1216 };1214 };
1217 try d.comp.initSearchPath(d.includes.items, d.verbose_search_path);1215 try d.comp.initSearchPath(d.includes.items, d.verbose_search_path);
12181216
...@@ -1525,8 +1523,8 @@ fn processSource(...@@ -1525,8 +1523,8 @@ fn processSource(
1525 render_errors.deinit(gpa);1523 render_errors.deinit(gpa);
1526 }1524 }
15271525
1528 var obj = ir.render(gpa, d.comp.target.toZigTarget(), &render_errors) catch |e| switch (e) {1526 var obj = ir.render(gpa, d.comp.target.toZigTarget(), &render_errors) catch |er| switch (er) {
1529 error.OutOfMemory => return error.OutOfMemory,1527 error.OutOfMemory => |e| return e,
1530 error.LowerFail => {1528 error.LowerFail => {
1531 return d.fatal(1529 return d.fatal(
1532 "unable to render Ir to machine code: {s}",1530 "unable to render Ir to machine code: {s}",
lib/compiler/aro/aro/Parser.zig+2-3
...@@ -5725,9 +5725,8 @@ fn returnStmt(p: *Parser) Error!?Node.Index {...@@ -5725,9 +5725,8 @@ fn returnStmt(p: *Parser) Error!?Node.Index {
5725// ====== expressions ======5725// ====== expressions ======
57265726
5727pub fn macroExpr(p: *Parser) Compilation.Error!bool {5727pub fn macroExpr(p: *Parser) Compilation.Error!bool {
5728 const res = p.expect(condExpr) catch |e| switch (e) {5728 const res = p.expect(condExpr) catch |er| switch (er) {
5729 error.OutOfMemory => return error.OutOfMemory,5729 error.OutOfMemory, error.FatalError => |e| return e,
5730 error.FatalError => return error.FatalError,
5731 error.ParsingFailed => return false,5730 error.ParsingFailed => return false,
5732 };5731 };
5733 return res.val.toBool(p.comp);5732 return res.val.toBool(p.comp);
lib/compiler/aro/assembly_backend/x86_64.zig+1-2
...@@ -150,8 +150,7 @@ pub fn genAsm(tree: *const Tree) Error!Assembly {...@@ -150,8 +150,7 @@ pub fn genAsm(tree: *const Tree) Error!Assembly {
150150
151 codegen.genDecls() catch |err| switch (err) {151 codegen.genDecls() catch |err| switch (err) {
152 error.WriteFailed => return error.OutOfMemory,152 error.WriteFailed => return error.OutOfMemory,
153 error.OutOfMemory => return error.OutOfMemory,153 error.OutOfMemory, error.FatalError => |e| return e,
154 error.FatalError => return error.FatalError,
155 };154 };
156155
157 const text_slice = try text.toOwnedSlice();156 const text_slice = try text.toOwnedSlice();
lib/compiler/test_runner.zig+1-1
...@@ -488,7 +488,7 @@ var fuzz_runner: if (builtin.fuzz) struct {...@@ -488,7 +488,7 @@ var fuzz_runner: if (builtin.fuzz) struct {
488 fn inputPoller() Io.Cancelable!void {488 fn inputPoller() Io.Cancelable!void {
489 @disableInstrumentation();489 @disableInstrumentation();
490 switch (inputPollerInner()) {490 switch (inputPollerInner()) {
491 error.Canceled => return error.Canceled,491 error.Canceled => |e| return e,
492 error.ReadFailed => {492 error.ReadFailed => {
493 if (stdin_reader.err.? == error.Canceled) return error.Canceled;493 if (stdin_reader.err.? == error.Canceled) return error.Canceled;
494 panic("failed to read from stdin: {t}", .{stdin_reader.err.?});494 panic("failed to read from stdin: {t}", .{stdin_reader.err.?});
lib/compiler/translate-c/Translator.zig+2-2
...@@ -1297,7 +1297,7 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex...@@ -1297,7 +1297,7 @@ fn transType(t: *Translator, scope: *Scope, qt: QualType, source_loc: TokenIndex
1297 error.SelfReferential => {},1297 error.SelfReferential => {},
1298 error.UnsupportedTranslation => {},1298 error.UnsupportedTranslation => {},
1299 error.UnsupportedType => {},1299 error.UnsupportedType => {},
1300 error.OutOfMemory => return error.OutOfMemory,1300 error.OutOfMemory => |e| return e,
1301 }1301 }
1302 }1302 }
1303 continue :loop typeof_ty.base.type(t.comp);1303 continue :loop typeof_ty.base.type(t.comp);
...@@ -4099,7 +4099,7 @@ fn createIntNode(t: *Translator, int: aro.Value) !ZigNode {...@@ -4099,7 +4099,7 @@ fn createIntNode(t: *Translator, int: aro.Value) !ZigNode {
4099 big.positive = true;4099 big.positive = true;
41004100
4101 const str = big.toStringAlloc(t.arena, 10, .lower) catch |err| switch (err) {4101 const str = big.toStringAlloc(t.arena, 10, .lower) catch |err| switch (err) {
4102 error.OutOfMemory => return error.OutOfMemory,4102 error.OutOfMemory => |e| return e,
4103 };4103 };
4104 const res = try ZigTag.integer_literal.create(t.arena, str);4104 const res = try ZigTag.integer_literal.create(t.arena, str);
4105 if (is_negative) return ZigTag.negate.create(t.arena, res);4105 if (is_negative) return ZigTag.negate.create(t.arena, res);
lib/compiler/translate-c/main.zig+1-1
...@@ -225,7 +225,7 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig...@@ -225,7 +225,7 @@ fn translate(d: *aro.Driver, tc: *aro.Toolchain, args: []const [:0]const u8, zig
225 const source = d.inputs.items[0];225 const source = d.inputs.items[0];
226226
227 tc.discover() catch |er| switch (er) {227 tc.discover() catch |er| switch (er) {
228 error.OutOfMemory => return error.OutOfMemory,228 error.OutOfMemory => |e| return e,
229 error.TooManyMultilibs => return d.fatal("found more than one multilib with the same priority", .{}),229 error.TooManyMultilibs => return d.fatal("found more than one multilib with the same priority", .{}),
230 };230 };
231 try tc.defineSystemIncludes();231 try tc.defineSystemIncludes();
lib/std/Build/Cache.zig+6-6
...@@ -562,14 +562,14 @@ pub const Manifest = struct {...@@ -562,14 +562,14 @@ pub const Manifest = struct {
562 self.diagnostic = .{ .manifest_create = error.FileNotFound };562 self.diagnostic = .{ .manifest_create = error.FileNotFound };
563 return error.CacheCheckFailed;563 return error.CacheCheckFailed;
564 },564 },
565 error.Canceled => return error.Canceled,565 error.Canceled => |e| return e,
566 else => |e| {566 else => |e| {
567 self.diagnostic = .{ .manifest_create = e };567 self.diagnostic = .{ .manifest_create = e };
568 return error.CacheCheckFailed;568 return error.CacheCheckFailed;
569 },569 },
570 }570 }
571 },571 },
572 error.Canceled => return error.Canceled,572 error.Canceled => |e| return e,
573 else => |e| {573 else => |e| {
574 self.diagnostic = .{ .manifest_create = e };574 self.diagnostic = .{ .manifest_create = e };
575 return error.CacheCheckFailed;575 return error.CacheCheckFailed;
...@@ -675,7 +675,7 @@ pub const Manifest = struct {...@@ -675,7 +675,7 @@ pub const Manifest = struct {
675 var manifest_reader = self.manifest_file.?.reader(io, &tiny_buffer); // Reads positionally from zero.675 var manifest_reader = self.manifest_file.?.reader(io, &tiny_buffer); // Reads positionally from zero.
676 const limit: std.Io.Limit = .limited(manifest_file_size_max);676 const limit: std.Io.Limit = .limited(manifest_file_size_max);
677 const file_contents = manifest_reader.interface.allocRemaining(gpa, limit) catch |err| switch (err) {677 const file_contents = manifest_reader.interface.allocRemaining(gpa, limit) catch |err| switch (err) {
678 error.OutOfMemory => return error.OutOfMemory,678 error.OutOfMemory => |e| return e,
679 error.StreamTooLong => return error.OutOfMemory,679 error.StreamTooLong => return error.OutOfMemory,
680 error.ReadFailed => {680 error.ReadFailed => {
681 self.diagnostic = .{ .manifest_read = manifest_reader.err.? };681 self.diagnostic = .{ .manifest_read = manifest_reader.err.? };
...@@ -767,7 +767,7 @@ pub const Manifest = struct {...@@ -767,7 +767,7 @@ pub const Manifest = struct {
767 // Every digest before this one has been populated successfully.767 // Every digest before this one has been populated successfully.
768 return .{ .miss = .{ .file_digests_populated = idx } };768 return .{ .miss = .{ .file_digests_populated = idx } };
769 },769 },
770 error.Canceled => return error.Canceled,770 error.Canceled => |e| return e,
771 else => |e| {771 else => |e| {
772 self.diagnostic = .{ .file_open = .{772 self.diagnostic = .{ .file_open = .{
773 .file_index = idx,773 .file_index = idx,
...@@ -880,14 +880,14 @@ pub const Manifest = struct {...@@ -880,14 +880,14 @@ pub const Manifest = struct {
880 .read = true,880 .read = true,
881 .truncate = true,881 .truncate = true,
882 }) catch |err| switch (err) {882 }) catch |err| switch (err) {
883 error.Canceled => return error.Canceled,883 error.Canceled => |e| return e,
884 else => return true,884 else => return true,
885 };885 };
886 defer file.close(io);886 defer file.close(io);
887887
888 // Save locally and also save globally (we still hold the global lock).888 // Save locally and also save globally (we still hold the global lock).
889 const stat = file.stat(io) catch |err| switch (err) {889 const stat = file.stat(io) catch |err| switch (err) {
890 error.Canceled => return error.Canceled,890 error.Canceled => |e| return e,
891 else => return true,891 else => return true,
892 };892 };
893 man.recent_problematic_timestamp = stat.mtime;893 man.recent_problematic_timestamp = stat.mtime;
lib/std/Build/Step.zig+2-4
...@@ -282,8 +282,7 @@ pub fn make(s: *Step, options: MakeOptions) error{ MakeFailed, MakeSkipped }!voi...@@ -282,8 +282,7 @@ pub fn make(s: *Step, options: MakeOptions) error{ MakeFailed, MakeSkipped }!voi
282 }282 }
283283
284 make_result catch |err| switch (err) {284 make_result catch |err| switch (err) {
285 error.MakeFailed => return error.MakeFailed,285 error.MakeFailed, error.MakeSkipped => |e| return e,
286 error.MakeSkipped => return error.MakeSkipped,
287 else => {286 else => {
288 s.result_error_msgs.append(arena, @errorName(err)) catch @panic("OOM");287 s.result_error_msgs.append(arena, @errorName(err)) catch @panic("OOM");
289 return error.MakeFailed;288 return error.MakeFailed;
...@@ -845,8 +844,7 @@ fn failWithCacheError(...@@ -845,8 +844,7 @@ fn failWithCacheError(
845 });844 });
846 },845 },
847 },846 },
848 error.OutOfMemory => return error.OutOfMemory,847 error.OutOfMemory, error.Canceled => |e| return e,
849 error.Canceled => return error.Canceled,
850 error.InvalidFormat => return s.fail("failed to check cache: invalid manifest file format", .{}),848 error.InvalidFormat => return s.fail("failed to check cache: invalid manifest file format", .{}),
851 }849 }
852}850}
lib/std/Build/Step/Run.zig+2-2
...@@ -2704,7 +2704,7 @@ fn evalGeneric(run: *Run, spawn_options: process.SpawnOptions) !EvalGenericResul...@@ -2704,7 +2704,7 @@ fn evalGeneric(run: *Run, spawn_options: process.SpawnOptions) !EvalGenericResul
2704 } else {2704 } else {
2705 var stdout_reader = stdout.readerStreaming(io, &.{});2705 var stdout_reader = stdout.readerStreaming(io, &.{});
2706 stdout_bytes = stdout_reader.interface.allocRemaining(arena, run.stdio_limit) catch |err| switch (err) {2706 stdout_bytes = stdout_reader.interface.allocRemaining(arena, run.stdio_limit) catch |err| switch (err) {
2707 error.OutOfMemory => return error.OutOfMemory,2707 error.OutOfMemory => |e| return e,
2708 error.ReadFailed => return stdout_reader.err.?,2708 error.ReadFailed => return stdout_reader.err.?,
2709 error.StreamTooLong => return error.StdoutStreamTooLong,2709 error.StreamTooLong => return error.StdoutStreamTooLong,
2710 };2710 };
...@@ -2712,7 +2712,7 @@ fn evalGeneric(run: *Run, spawn_options: process.SpawnOptions) !EvalGenericResul...@@ -2712,7 +2712,7 @@ fn evalGeneric(run: *Run, spawn_options: process.SpawnOptions) !EvalGenericResul
2712 } else if (child.stderr) |stderr| {2712 } else if (child.stderr) |stderr| {
2713 var stderr_reader = stderr.readerStreaming(io, &.{});2713 var stderr_reader = stderr.readerStreaming(io, &.{});
2714 stderr_bytes = stderr_reader.interface.allocRemaining(arena, run.stdio_limit) catch |err| switch (err) {2714 stderr_bytes = stderr_reader.interface.allocRemaining(arena, run.stdio_limit) catch |err| switch (err) {
2715 error.OutOfMemory => return error.OutOfMemory,2715 error.OutOfMemory => |e| return e,
2716 error.ReadFailed => return stderr_reader.err.?,2716 error.ReadFailed => return stderr_reader.err.?,
2717 error.StreamTooLong => return error.StderrStreamTooLong,2717 error.StreamTooLong => return error.StderrStreamTooLong,
2718 };2718 };
lib/std/Build/WebServer.zig+2-2
...@@ -622,8 +622,8 @@ fn buildClientWasm(ws: *WebServer, arena: Allocator, optimize: std.builtin.Optim...@@ -622,8 +622,8 @@ fn buildClientWasm(ws: *WebServer, arena: Allocator, optimize: std.builtin.Optim
622 defer body_buffer.deinit(gpa);622 defer body_buffer.deinit(gpa);
623623
624 while (true) {624 while (true) {
625 const header = stdout.takeStruct(Header, .little) catch |e| switch (e) {625 const header = stdout.takeStruct(Header, .little) catch |err| switch (err) {
626 error.ReadFailed => return error.ReadFailed,626 error.ReadFailed => |e| return e,
627 error.EndOfStream => break,627 error.EndOfStream => break,
628 };628 };
629 body_buffer.clearRetainingCapacity();629 body_buffer.clearRetainingCapacity();
lib/std/Io/File/Writer.zig+8-6
...@@ -162,9 +162,10 @@ fn sendFilePositional(w: *Writer, file_reader: *Io.File.Reader, limit: Io.Limit)...@@ -162,9 +162,10 @@ fn sendFilePositional(w: *Writer, file_reader: *Io.File.Reader, limit: Io.Limit)
162 w.err = error.Canceled;162 w.err = error.Canceled;
163 return error.WriteFailed;163 return error.WriteFailed;
164 },164 },
165 error.EndOfStream => return error.EndOfStream,165 error.EndOfStream,
166 error.Unimplemented => return error.Unimplemented,166 error.Unimplemented,
167 error.ReadFailed => return error.ReadFailed,167 error.ReadFailed,
168 => |e| return e,
168 else => |e| {169 else => |e| {
169 w.write_file_err = e;170 w.write_file_err = e;
170 return error.WriteFailed;171 return error.WriteFailed;
...@@ -182,9 +183,10 @@ fn sendFileStreaming(w: *Writer, file_reader: *Io.File.Reader, limit: Io.Limit)...@@ -182,9 +183,10 @@ fn sendFileStreaming(w: *Writer, file_reader: *Io.File.Reader, limit: Io.Limit)
182 w.err = error.Canceled;183 w.err = error.Canceled;
183 return error.WriteFailed;184 return error.WriteFailed;
184 },185 },
185 error.EndOfStream => return error.EndOfStream,186 error.EndOfStream,
186 error.Unimplemented => return error.Unimplemented,187 error.Unimplemented,
187 error.ReadFailed => return error.ReadFailed,188 error.ReadFailed,
189 => |e| return e,
188 else => |e| {190 else => |e| {
189 w.write_file_err = e;191 w.write_file_err = e;
190 return error.WriteFailed;192 return error.WriteFailed;
lib/std/Io/Reader.zig+8-9
...@@ -200,8 +200,7 @@ pub fn defaultDiscard(r: *Reader, limit: Limit) Error!usize {...@@ -200,8 +200,7 @@ pub fn defaultDiscard(r: *Reader, limit: Limit) Error!usize {
200 var d: Writer.Discarding = .init(r.buffer);200 var d: Writer.Discarding = .init(r.buffer);
201 var n = r.stream(&d.writer, limit) catch |err| switch (err) {201 var n = r.stream(&d.writer, limit) catch |err| switch (err) {
202 error.WriteFailed => unreachable,202 error.WriteFailed => unreachable,
203 error.ReadFailed => return error.ReadFailed,203 error.ReadFailed, error.EndOfStream => |e| return e,
204 error.EndOfStream => return error.EndOfStream,
205 };204 };
206 // If `stream` wrote to `r.buffer` without going through the writer,205 // If `stream` wrote to `r.buffer` without going through the writer,
207 // we need to discard as much of the buffered data as possible.206 // we need to discard as much of the buffered data as possible.
...@@ -379,7 +378,7 @@ pub fn appendRemainingAligned(...@@ -379,7 +378,7 @@ pub fn appendRemainingAligned(
379 const n = stream(r, &a.writer, remaining) catch |err| switch (err) {378 const n = stream(r, &a.writer, remaining) catch |err| switch (err) {
380 error.EndOfStream => return,379 error.EndOfStream => return,
381 error.WriteFailed => return error.OutOfMemory,380 error.WriteFailed => return error.OutOfMemory,
382 error.ReadFailed => return error.ReadFailed,381 error.ReadFailed => |e| return e,
383 };382 };
384 remaining = remaining.subtract(n).?;383 remaining = remaining.subtract(n).?;
385 }384 }
...@@ -400,7 +399,7 @@ pub fn appendRemainingUnlimited(r: *Reader, gpa: Allocator, list: *ArrayList(u8)...@@ -400,7 +399,7 @@ pub fn appendRemainingUnlimited(r: *Reader, gpa: Allocator, list: *ArrayList(u8)
400 }399 }
401 _ = streamRemaining(r, &a.writer) catch |err| switch (err) {400 _ = streamRemaining(r, &a.writer) catch |err| switch (err) {
402 error.WriteFailed => return error.OutOfMemory,401 error.WriteFailed => return error.OutOfMemory,
403 error.ReadFailed => return error.ReadFailed,402 error.ReadFailed => |e| return e,
404 };403 };
405}404}
406405
...@@ -428,7 +427,7 @@ pub fn readVec(r: *Reader, data: [][]u8) Error!usize {...@@ -428,7 +427,7 @@ pub fn readVec(r: *Reader, data: [][]u8) Error!usize {
428 defer data[i] = buf;427 defer data[i] = buf;
429 return n + (r.vtable.readVec(r, data[i..]) catch |err| switch (err) {428 return n + (r.vtable.readVec(r, data[i..]) catch |err| switch (err) {
430 error.EndOfStream => if (n == 0) return error.EndOfStream else 0,429 error.EndOfStream => if (n == 0) return error.EndOfStream else 0,
431 error.ReadFailed => return error.ReadFailed,430 error.ReadFailed => |e| return e,
432 });431 });
433 }432 }
434 const n = seek - r.seek;433 const n = seek - r.seek;
...@@ -639,7 +638,7 @@ pub fn discardShort(r: *Reader, n: usize) ShortError!usize {...@@ -639,7 +638,7 @@ pub fn discardShort(r: *Reader, n: usize) ShortError!usize {
639 while (true) {638 while (true) {
640 const discard_len = r.vtable.discard(r, .limited(remaining)) catch |err| switch (err) {639 const discard_len = r.vtable.discard(r, .limited(remaining)) catch |err| switch (err) {
641 error.EndOfStream => return n - remaining,640 error.EndOfStream => return n - remaining,
642 error.ReadFailed => return error.ReadFailed,641 error.ReadFailed => |e| return e,
643 };642 };
644 remaining -= discard_len;643 remaining -= discard_len;
645 if (remaining == 0) return n;644 if (remaining == 0) return n;
...@@ -687,7 +686,7 @@ pub fn readSliceShort(r: *Reader, buffer: []u8) ShortError!usize {...@@ -687,7 +686,7 @@ pub fn readSliceShort(r: *Reader, buffer: []u8) ShortError!usize {
687 data[0] = buffer[i..];686 data[0] = buffer[i..];
688 i += readVec(r, &data) catch |err| switch (err) {687 i += readVec(r, &data) catch |err| switch (err) {
689 error.EndOfStream => return i,688 error.EndOfStream => return i,
690 error.ReadFailed => return error.ReadFailed,689 error.ReadFailed => |e| return e,
691 };690 };
692 if (buffer.len - i == 0) return buffer.len;691 if (buffer.len - i == 0) return buffer.len;
693 }692 }
...@@ -1009,7 +1008,7 @@ pub fn streamDelimiterLimit(...@@ -1009,7 +1008,7 @@ pub fn streamDelimiterLimit(
1009 var remaining = @intFromEnum(limit);1008 var remaining = @intFromEnum(limit);
1010 while (remaining != 0) {1009 while (remaining != 0) {
1011 const available = Limit.limited(remaining).slice(r.peekGreedy(1) catch |err| switch (err) {1010 const available = Limit.limited(remaining).slice(r.peekGreedy(1) catch |err| switch (err) {
1012 error.ReadFailed => return error.ReadFailed,1011 error.ReadFailed => |e| return e,
1013 error.EndOfStream => return @intFromEnum(limit) - remaining,1012 error.EndOfStream => return @intFromEnum(limit) - remaining,
1014 });1013 });
1015 if (std.mem.findScalar(u8, available, delimiter)) |delimiter_index| {1014 if (std.mem.findScalar(u8, available, delimiter)) |delimiter_index| {
...@@ -1080,7 +1079,7 @@ pub fn discardDelimiterLimit(r: *Reader, delimiter: u8, limit: Limit) DiscardDel...@@ -1080,7 +1079,7 @@ pub fn discardDelimiterLimit(r: *Reader, delimiter: u8, limit: Limit) DiscardDel
1080 var remaining = @intFromEnum(limit);1079 var remaining = @intFromEnum(limit);
1081 while (remaining != 0) {1080 while (remaining != 0) {
1082 const available = Limit.limited(remaining).slice(r.peekGreedy(1) catch |err| switch (err) {1081 const available = Limit.limited(remaining).slice(r.peekGreedy(1) catch |err| switch (err) {
1083 error.ReadFailed => return error.ReadFailed,1082 error.ReadFailed => |e| return e,
1084 error.EndOfStream => return @intFromEnum(limit) - remaining,1083 error.EndOfStream => return @intFromEnum(limit) - remaining,
1085 });1084 });
1086 if (std.mem.findScalar(u8, available, delimiter)) |delimiter_index| {1085 if (std.mem.findScalar(u8, available, delimiter)) |delimiter_index| {
lib/std/Io/Terminal.zig+1-1
...@@ -61,7 +61,7 @@ pub const Mode = union(enum) {...@@ -61,7 +61,7 @@ pub const Mode = union(enum) {
61 if (file.enableAnsiEscapeCodes(io)) |_| {61 if (file.enableAnsiEscapeCodes(io)) |_| {
62 return .escape_codes;62 return .escape_codes;
63 } else |err| switch (err) {63 } else |err| switch (err) {
64 error.Canceled => return error.Canceled,64 error.Canceled => |e| return e,
65 error.NotTerminalDevice, error.Unexpected => {},65 error.NotTerminalDevice, error.Unexpected => {},
66 }66 }
6767
lib/std/Io/Threaded.zig+4-4
...@@ -14589,7 +14589,7 @@ fn lookupDns(...@@ -14589,7 +14589,7 @@ fn lookupDns(
14589 }14589 }
14590 }14590 }
14591 if (recv_err) |err| switch (err) {14591 if (recv_err) |err| switch (err) {
14592 error.Canceled => return error.Canceled,14592 error.Canceled => |e| return e,
14593 error.Timeout => continue :send,14593 error.Timeout => continue :send,
14594 else => continue,14594 else => continue,
14595 };14595 };
...@@ -14726,13 +14726,13 @@ fn lookupHostsReader(...@@ -14726,13 +14726,13 @@ fn lookupHostsReader(
14726 const line = reader.takeDelimiterExclusive('\n') catch |err| switch (err) {14726 const line = reader.takeDelimiterExclusive('\n') catch |err| switch (err) {
14727 error.StreamTooLong => {14727 error.StreamTooLong => {
14728 // Skip lines that are too long.14728 // Skip lines that are too long.
14729 _ = reader.discardDelimiterInclusive('\n') catch |e| switch (e) {14729 _ = reader.discardDelimiterInclusive('\n') catch |er| switch (er) {
14730 error.EndOfStream => break,14730 error.EndOfStream => break,
14731 error.ReadFailed => return error.ReadFailed,14731 error.ReadFailed => |e| return e,
14732 };14732 };
14733 continue;14733 continue;
14734 },14734 },
14735 error.ReadFailed => return error.ReadFailed,14735 error.ReadFailed => |e| return e,
14736 error.EndOfStream => break,14736 error.EndOfStream => break,
14737 };14737 };
14738 reader.toss(@min(1, reader.bufferedLen()));14738 reader.toss(@min(1, reader.bufferedLen()));
lib/std/Io/Uring.zig+1-1
...@@ -4958,7 +4958,7 @@ fn randomSecure(userdata: ?*anyopaque, buffer: []u8) Io.RandomSecureError!void {...@@ -4958,7 +4958,7 @@ fn randomSecure(userdata: ?*anyopaque, buffer: []u8) Io.RandomSecureError!void {
4958 var cancel_region: CancelRegion = .init();4958 var cancel_region: CancelRegion = .init();
4959 defer cancel_region.deinit();4959 defer cancel_region.deinit();
4960 ev.urandomReadAll(&cancel_region, buffer) catch |err| switch (err) {4960 ev.urandomReadAll(&cancel_region, buffer) catch |err| switch (err) {
4961 error.Canceled => return error.Canceled,4961 error.Canceled => |e| return e,
4962 else => return error.EntropyUnavailable,4962 else => return error.EntropyUnavailable,
4963 };4963 };
4964}4964}
lib/std/SemanticVersion.zig+1-1
...@@ -146,7 +146,7 @@ fn parseNum(text: []const u8) error{ InvalidVersion, Overflow }!usize {...@@ -146,7 +146,7 @@ fn parseNum(text: []const u8) error{ InvalidVersion, Overflow }!usize {
146146
147 return std.fmt.parseUnsigned(usize, text, 10) catch |err| switch (err) {147 return std.fmt.parseUnsigned(usize, text, 10) catch |err| switch (err) {
148 error.InvalidCharacter => return error.InvalidVersion,148 error.InvalidCharacter => return error.InvalidVersion,
149 error.Overflow => return error.Overflow,149 error.Overflow => |e| return e,
150 };150 };
151}151}
152152
lib/std/Target/Query.zig+2-2
...@@ -253,7 +253,7 @@ pub fn parse(args: ParseOptions) !Query {...@@ -253,7 +253,7 @@ pub fn parse(args: ParseOptions) !Query {
253 } else if (abi.isAndroid()) {253 } else if (abi.isAndroid()) {
254 result.android_api_level = std.fmt.parseUnsigned(u32, abi_ver_text, 10) catch |err| switch (err) {254 result.android_api_level = std.fmt.parseUnsigned(u32, abi_ver_text, 10) catch |err| switch (err) {
255 error.InvalidCharacter => return error.InvalidVersion,255 error.InvalidCharacter => return error.InvalidVersion,
256 error.Overflow => return error.Overflow,256 error.Overflow => |e| return e,
257 };257 };
258 } else {258 } else {
259 return error.InvalidAbiVersion;259 return error.InvalidAbiVersion;
...@@ -346,7 +346,7 @@ pub fn parseVersion(ver: []const u8) error{ InvalidVersion, Overflow }!SemanticV...@@ -346,7 +346,7 @@ pub fn parseVersion(ver: []const u8) error{ InvalidVersion, Overflow }!SemanticV
346 fn parseVersionComponentInner(component: []const u8) error{ InvalidVersion, Overflow }!usize {346 fn parseVersionComponentInner(component: []const u8) error{ InvalidVersion, Overflow }!usize {
347 return std.fmt.parseUnsigned(usize, component, 10) catch |err| switch (err) {347 return std.fmt.parseUnsigned(usize, component, 10) catch |err| switch (err) {
348 error.InvalidCharacter => return error.InvalidVersion,348 error.InvalidCharacter => return error.InvalidVersion,
349 error.Overflow => return error.Overflow,349 error.Overflow => |e| return e,
350 };350 };
351 }351 }
352 }).parseVersionComponentInner;352 }).parseVersionComponentInner;
lib/std/compress/flate/Decompress.zig+2-3
...@@ -129,8 +129,7 @@ fn discardDirect(r: *Reader, limit: std.Io.Limit) Reader.Error!usize {...@@ -129,8 +129,7 @@ fn discardDirect(r: *Reader, limit: std.Io.Limit) Reader.Error!usize {
129 }129 }
130 const n = r.stream(&writer, limit) catch |err| switch (err) {130 const n = r.stream(&writer, limit) catch |err| switch (err) {
131 error.WriteFailed => unreachable,131 error.WriteFailed => unreachable,
132 error.ReadFailed => return error.ReadFailed,132 error.ReadFailed, error.EndOfStream => |e| return e,
133 error.EndOfStream => return error.EndOfStream,
134 };133 };
135 assert(n <= @intFromEnum(limit));134 assert(n <= @intFromEnum(limit));
136 return n;135 return n;
...@@ -258,7 +257,7 @@ fn streamFallible(d: *Decompress, w: *Writer, limit: std.Io.Limit) Reader.Stream...@@ -258,7 +257,7 @@ fn streamFallible(d: *Decompress, w: *Writer, limit: std.Io.Limit) Reader.Stream
258 return error.ReadFailed;257 return error.ReadFailed;
259 }258 }
260 },259 },
261 error.WriteFailed => return error.WriteFailed,260 error.WriteFailed => |e| return e,
262 else => |e| {261 else => |e| {
263 // In the event of an error, state is unmodified so that it can be262 // In the event of an error, state is unmodified so that it can be
264 // better used to diagnose the failure.263 // better used to diagnose the failure.
lib/std/compress/zstd/Decompress.zig+2-4
...@@ -173,8 +173,7 @@ fn discardDirect(r: *Reader, limit: std.Io.Limit) Reader.Error!usize {...@@ -173,8 +173,7 @@ fn discardDirect(r: *Reader, limit: std.Io.Limit) Reader.Error!usize {
173 }173 }
174 const n = r.stream(&writer, limit) catch |err| switch (err) {174 const n = r.stream(&writer, limit) catch |err| switch (err) {
175 error.WriteFailed => unreachable,175 error.WriteFailed => unreachable,
176 error.ReadFailed => return error.ReadFailed,176 error.ReadFailed, error.EndOfStream => |e| return e,
177 error.EndOfStream => return error.EndOfStream,
178 };177 };
179 assert(n <= @intFromEnum(limit));178 assert(n <= @intFromEnum(limit));
180 return n;179 return n;
...@@ -252,8 +251,7 @@ fn stream(d: *Decompress, w: *Writer, limit: Limit) Reader.StreamError!usize {...@@ -252,8 +251,7 @@ fn stream(d: *Decompress, w: *Writer, limit: Limit) Reader.StreamError!usize {
252 },251 },
253 .in_frame => |*in_frame| {252 .in_frame => |*in_frame| {
254 return readInFrame(d, w, limit, in_frame) catch |err| switch (err) {253 return readInFrame(d, w, limit, in_frame) catch |err| switch (err) {
255 error.ReadFailed => return error.ReadFailed,254 error.ReadFailed, error.WriteFailed => |e| return e,
256 error.WriteFailed => return error.WriteFailed,
257 else => |e| {255 else => |e| {
258 d.err = e;256 d.err = e;
259 return error.ReadFailed;257 return error.ReadFailed;
lib/std/crypto/codecs/base64_hex_ct.zig+2-4
...@@ -47,8 +47,7 @@ pub const hex = struct {...@@ -47,8 +47,7 @@ pub const hex = struct {
47 }47 }
48 _ = decodeAny(bin, encoded, null) catch |err| {48 _ = decodeAny(bin, encoded, null) catch |err| {
49 switch (err) {49 switch (err) {
50 error.InvalidCharacter => return error.InvalidCharacter,50 error.InvalidCharacter, error.InvalidPadding => |e| return e,
51 error.InvalidPadding => return error.InvalidPadding,
52 else => unreachable,51 else => unreachable,
53 }52 }
54 };53 };
...@@ -228,8 +227,7 @@ pub const base64 = struct {...@@ -228,8 +227,7 @@ pub const base64 = struct {
228 pub fn decode(bin: []u8, encoded: []const u8, comptime variant: Variant) error{ InvalidCharacter, InvalidPadding }![]const u8 {227 pub fn decode(bin: []u8, encoded: []const u8, comptime variant: Variant) error{ InvalidCharacter, InvalidPadding }![]const u8 {
229 return decodeAny(bin, encoded, variant, null) catch |err| {228 return decodeAny(bin, encoded, variant, null) catch |err| {
230 switch (err) {229 switch (err) {
231 error.InvalidCharacter => return error.InvalidCharacter,230 error.InvalidCharacter, error.InvalidPadding => |e| return e,
232 error.InvalidPadding => return error.InvalidPadding,
233 else => unreachable,231 else => unreachable,
234 }232 }
235 };233 };
lib/std/crypto/tls.zig+1-1
...@@ -666,7 +666,7 @@ pub const Decoder = struct {...@@ -666,7 +666,7 @@ pub const Decoder = struct {
666 if (request_amt > dest.len) return error.TlsRecordOverflow;666 if (request_amt > dest.len) return error.TlsRecordOverflow;
667 stream.readSlice(dest[0..request_amt]) catch |err| switch (err) {667 stream.readSlice(dest[0..request_amt]) catch |err| switch (err) {
668 error.EndOfStream => return error.TlsConnectionTruncated,668 error.EndOfStream => return error.TlsConnectionTruncated,
669 error.ReadFailed => return error.ReadFailed,669 error.ReadFailed => |e| return e,
670 };670 };
671 d.cap += request_amt;671 d.cap += request_amt;
672 }672 }
lib/std/crypto/tls/Client.zig+3-3
...@@ -353,7 +353,7 @@ pub fn init(input: *Reader, output: *Writer, options: Options) InitError!Client...@@ -353,7 +353,7 @@ pub fn init(input: *Reader, output: *Writer, options: Options) InitError!Client
353 if (record_len > tls.max_ciphertext_len) return error.TlsRecordOverflow;353 if (record_len > tls.max_ciphertext_len) return error.TlsRecordOverflow;
354 const record_buffer = input.take(record_len) catch |err| switch (err) {354 const record_buffer = input.take(record_len) catch |err| switch (err) {
355 error.EndOfStream => return error.TlsConnectionTruncated,355 error.EndOfStream => return error.TlsConnectionTruncated,
356 error.ReadFailed => return error.ReadFailed,356 error.ReadFailed => |e| return e,
357 };357 };
358 var record_decoder: tls.Decoder = .fromTheirSlice(record_buffer);358 var record_decoder: tls.Decoder = .fromTheirSlice(record_buffer);
359 var ctd, const ct = content: switch (cipher_state) {359 var ctd, const ct = content: switch (cipher_state) {
...@@ -1157,7 +1157,7 @@ fn readIndirect(c: *Client) Reader.Error!usize {...@@ -1157,7 +1157,7 @@ fn readIndirect(c: *Client) Reader.Error!usize {
1157 return failRead(c, error.TlsConnectionTruncated);1157 return failRead(c, error.TlsConnectionTruncated);
1158 }1158 }
1159 },1159 },
1160 error.ReadFailed => return error.ReadFailed,1160 error.ReadFailed => |e| return e,
1161 };1161 };
1162 const ct: tls.ContentType = @enumFromInt(record_header[0]);1162 const ct: tls.ContentType = @enumFromInt(record_header[0]);
1163 const legacy_version = mem.readInt(u16, record_header[1..][0..2], .big);1163 const legacy_version = mem.readInt(u16, record_header[1..][0..2], .big);
...@@ -1168,7 +1168,7 @@ fn readIndirect(c: *Client) Reader.Error!usize {...@@ -1168,7 +1168,7 @@ fn readIndirect(c: *Client) Reader.Error!usize {
1168 if (record_end > input.buffered().len) {1168 if (record_end > input.buffered().len) {
1169 input.fillMore() catch |err| switch (err) {1169 input.fillMore() catch |err| switch (err) {
1170 error.EndOfStream => return failRead(c, error.TlsConnectionTruncated),1170 error.EndOfStream => return failRead(c, error.TlsConnectionTruncated),
1171 error.ReadFailed => return error.ReadFailed,1171 error.ReadFailed => |e| return e,
1172 };1172 };
1173 if (record_end > input.buffered().len) return 0;1173 if (record_end > input.buffered().len) return 0;
1174 }1174 }
lib/std/debug/Pdb.zig+1-1
...@@ -138,7 +138,7 @@ pub fn parseDbiStream(self: *Pdb) !void {...@@ -138,7 +138,7 @@ pub fn parseDbiStream(self: *Pdb) !void {
138 if (section_contrib_size != 0) {138 if (section_contrib_size != 0) {
139 const version = reader.takeEnum(pdb.SectionContrSubstreamVersion, .little) catch |err| switch (err) {139 const version = reader.takeEnum(pdb.SectionContrSubstreamVersion, .little) catch |err| switch (err) {
140 error.InvalidEnumTag, error.EndOfStream => return error.InvalidDebugInfo,140 error.InvalidEnumTag, error.EndOfStream => return error.InvalidDebugInfo,
141 error.ReadFailed => return error.ReadFailed,141 error.ReadFailed => |e| return e,
142 };142 };
143 _ = version;143 _ = version;
144 sect_cont_offset += @sizeOf(u32);144 sect_cont_offset += @sizeOf(u32);
lib/std/fmt.zig+1-1
...@@ -542,7 +542,7 @@ pub fn parseIntSizeSuffix(buf: []const u8, digit_base: u8) ParseIntError!usize {...@@ -542,7 +542,7 @@ pub fn parseIntSizeSuffix(buf: []const u8, digit_base: u8) ParseIntError!usize {
542 }542 }
543 const multiplier = math.powi(usize, magnitude_base, orders_of_magnitude) catch |err| switch (err) {543 const multiplier = math.powi(usize, magnitude_base, orders_of_magnitude) catch |err| switch (err) {
544 error.Underflow => unreachable,544 error.Underflow => unreachable,
545 error.Overflow => return error.Overflow,545 error.Overflow => |e| return e,
546 };546 };
547 const number = try std.fmt.parseInt(usize, without_suffix, digit_base);547 const number = try std.fmt.parseInt(usize, without_suffix, digit_base);
548 return math.mul(usize, number, multiplier);548 return math.mul(usize, number, multiplier);
lib/std/http.zig+3-4
...@@ -400,7 +400,7 @@ pub const Reader = struct {...@@ -400,7 +400,7 @@ pub const Reader = struct {
400 0 => return error.HttpConnectionClosing,400 0 => return error.HttpConnectionClosing,
401 else => return error.HttpRequestTruncated,401 else => return error.HttpRequestTruncated,
402 },402 },
403 error.ReadFailed => return error.ReadFailed,403 error.ReadFailed => |e| return e,
404 };404 };
405 continue;405 continue;
406 }406 }
...@@ -543,8 +543,7 @@ pub const Reader = struct {...@@ -543,8 +543,7 @@ pub const Reader = struct {
543 else => unreachable,543 else => unreachable,
544 };544 };
545 return chunkedReadEndless(reader, w, limit, chunk_len_ptr) catch |err| switch (err) {545 return chunkedReadEndless(reader, w, limit, chunk_len_ptr) catch |err| switch (err) {
546 error.ReadFailed => return error.ReadFailed,546 error.ReadFailed, error.WriteFailed => |e| return e,
547 error.WriteFailed => return error.WriteFailed,
548 error.EndOfStream => {547 error.EndOfStream => {
549 reader.body_err = error.HttpChunkTruncated;548 reader.body_err = error.HttpChunkTruncated;
550 return error.ReadFailed;549 return error.ReadFailed;
...@@ -613,7 +612,7 @@ pub const Reader = struct {...@@ -613,7 +612,7 @@ pub const Reader = struct {
613 else => unreachable,612 else => unreachable,
614 };613 };
615 return chunkedDiscardEndless(reader, limit, chunk_len_ptr) catch |err| switch (err) {614 return chunkedDiscardEndless(reader, limit, chunk_len_ptr) catch |err| switch (err) {
616 error.ReadFailed => return error.ReadFailed,615 error.ReadFailed => |e| return e,
617 error.EndOfStream => {616 error.EndOfStream => {
618 reader.body_err = error.HttpChunkTruncated;617 reader.body_err = error.HttpChunkTruncated;
619 return error.ReadFailed;618 return error.ReadFailed;
lib/std/http/test.zig+1-1
...@@ -953,7 +953,7 @@ test "Server streams both reading and writing" {...@@ -953,7 +953,7 @@ test "Server streams both reading and writing" {
953 try response.flush();953 try response.flush();
954 const buf = br.peekGreedy(1) catch |err| switch (err) {954 const buf = br.peekGreedy(1) catch |err| switch (err) {
955 error.EndOfStream => break,955 error.EndOfStream => break,
956 error.ReadFailed => return error.ReadFailed,956 error.ReadFailed => |e| return e,
957 };957 };
958 br.toss(buf.len);958 br.toss(buf.len);
959 for (buf) |*b| b.* = std.ascii.toUpper(b.*);959 for (buf) |*b| b.* = std.ascii.toUpper(b.*);
lib/std/json/Scanner.zig+2-2
...@@ -1401,7 +1401,7 @@ pub fn validate(allocator: Allocator, s: []const u8) Allocator.Error!bool {...@@ -1401,7 +1401,7 @@ pub fn validate(allocator: Allocator, s: []const u8) Allocator.Error!bool {
1401 while (true) {1401 while (true) {
1402 const token = scanner.next() catch |err| switch (err) {1402 const token = scanner.next() catch |err| switch (err) {
1403 error.SyntaxError, error.UnexpectedEndOfInput => return false,1403 error.SyntaxError, error.UnexpectedEndOfInput => return false,
1404 error.OutOfMemory => return error.OutOfMemory,1404 error.OutOfMemory => |e| return e,
1405 error.BufferUnderrun => unreachable,1405 error.BufferUnderrun => unreachable,
1406 };1406 };
1407 if (token == .end_of_document) break;1407 if (token == .end_of_document) break;
...@@ -1734,7 +1734,7 @@ pub const Reader = struct {...@@ -1734,7 +1734,7 @@ pub const Reader = struct {
17341734
1735 fn refillBuffer(self: *@This()) std.Io.Reader.Error!void {1735 fn refillBuffer(self: *@This()) std.Io.Reader.Error!void {
1736 const input = self.reader.peekGreedy(1) catch |err| switch (err) {1736 const input = self.reader.peekGreedy(1) catch |err| switch (err) {
1737 error.ReadFailed => return error.ReadFailed,1737 error.ReadFailed => |e| return e,
1738 error.EndOfStream => return self.scanner.endInput(),1738 error.EndOfStream => return self.scanner.endInput(),
1739 };1739 };
1740 self.reader.toss(input.len);1740 self.reader.toss(input.len);
lib/std/process.zig+1-1
...@@ -130,7 +130,7 @@ pub fn posixGetUserInfo(io: Io, name: []const u8) !UserInfo {...@@ -130,7 +130,7 @@ pub fn posixGetUserInfo(io: Io, name: []const u8) !UserInfo {
130 return posixGetUserInfoPasswdStream(name, &file_reader.interface) catch |err| switch (err) {130 return posixGetUserInfoPasswdStream(name, &file_reader.interface) catch |err| switch (err) {
131 error.ReadFailed => return file_reader.err.?,131 error.ReadFailed => return file_reader.err.?,
132 error.EndOfStream => return error.UserNotFound,132 error.EndOfStream => return error.UserNotFound,
133 error.CorruptPasswordFile => return error.CorruptPasswordFile,133 error.CorruptPasswordFile => |e| return e,
134 };134 };
135}135}
136136
lib/std/zig/Ast/Render.zig+3-3
...@@ -998,8 +998,8 @@ fn rendersMultiline(r: *const Render, node: Ast.Node.Index) error{OutOfMemory}!b...@@ -998,8 +998,8 @@ fn rendersMultiline(r: *const Render, node: Ast.Node.Index) error{OutOfMemory}!b
998 .fixups = r.fixups,998 .fixups = r.fixups,
999 };999 };
10001000
1001 renderExpression(&sub_r, node, .none) catch |e| return switch (e) {1001 renderExpression(&sub_r, node, .none) catch |err| return switch (err) {
1002 error.OutOfMemory => return error.OutOfMemory,1002 error.OutOfMemory => |e| return e,
1003 error.WriteFailed => return true,1003 error.WriteFailed => return true,
1004 };1004 };
1005 if (sub_ais.disabled_offset != null) return true;1005 if (sub_ais.disabled_offset != null) return true;
...@@ -1685,7 +1685,7 @@ fn renderBuiltinCall(...@@ -1685,7 +1685,7 @@ fn renderBuiltinCall(
1685 assert(tree.tokenTag(str_lit_token) == .string_literal);1685 assert(tree.tokenTag(str_lit_token) == .string_literal);
1686 const token_bytes = tree.tokenSlice(str_lit_token);1686 const token_bytes = tree.tokenSlice(str_lit_token);
1687 const imported_string = std.zig.string_literal.parseAlloc(r.gpa, token_bytes) catch |err| switch (err) {1687 const imported_string = std.zig.string_literal.parseAlloc(r.gpa, token_bytes) catch |err| switch (err) {
1688 error.OutOfMemory => return error.OutOfMemory,1688 error.OutOfMemory => |e| return e,
1689 error.InvalidLiteral => break :f,1689 error.InvalidLiteral => break :f,
1690 };1690 };
1691 defer r.gpa.free(imported_string);1691 defer r.gpa.free(imported_string);
lib/std/zig/AstGen.zig+6-6
...@@ -199,7 +199,7 @@ pub fn generate(gpa: Allocator, tree: Ast) Allocator.Error!Zir {...@@ -199,7 +199,7 @@ pub fn generate(gpa: Allocator, tree: Ast) Allocator.Error!Zir {
199 assert(struct_decl_ref.toIndex().? == .main_struct_inst);199 assert(struct_decl_ref.toIndex().? == .main_struct_inst);
200 break :fatal false;200 break :fatal false;
201 } else |err| switch (err) {201 } else |err| switch (err) {
202 error.OutOfMemory => return error.OutOfMemory,202 error.OutOfMemory => |e| return e,
203 error.AnalysisFail => break :fatal true, // Handled via compile_errors below.203 error.AnalysisFail => break :fatal true, // Handled via compile_errors below.
204 }204 }
205 } else fatal: {205 } else fatal: {
...@@ -5681,7 +5681,7 @@ fn containerMember(...@@ -5681,7 +5681,7 @@ fn containerMember(
56815681
5682 const prev_decl_index = wip_decls.index;5682 const prev_decl_index = wip_decls.index;
5683 astgen.fnDecl(gz, scope, wip_decls, member_node, body, full) catch |err| switch (err) {5683 astgen.fnDecl(gz, scope, wip_decls, member_node, body, full) catch |err| switch (err) {
5684 error.OutOfMemory => return error.OutOfMemory,5684 error.OutOfMemory => |e| return e,
5685 error.AnalysisFail => {5685 error.AnalysisFail => {
5686 wip_decls.index = prev_decl_index;5686 wip_decls.index = prev_decl_index;
5687 try addFailedDeclaration(5687 try addFailedDeclaration(
...@@ -5704,7 +5704,7 @@ fn containerMember(...@@ -5704,7 +5704,7 @@ fn containerMember(
5704 const full = tree.fullVarDecl(member_node).?;5704 const full = tree.fullVarDecl(member_node).?;
5705 const prev_decl_index = wip_decls.index;5705 const prev_decl_index = wip_decls.index;
5706 astgen.globalVarDecl(gz, scope, wip_decls, member_node, full) catch |err| switch (err) {5706 astgen.globalVarDecl(gz, scope, wip_decls, member_node, full) catch |err| switch (err) {
5707 error.OutOfMemory => return error.OutOfMemory,5707 error.OutOfMemory => |e| return e,
5708 error.AnalysisFail => {5708 error.AnalysisFail => {
5709 wip_decls.index = prev_decl_index;5709 wip_decls.index = prev_decl_index;
5710 try addFailedDeclaration(5710 try addFailedDeclaration(
...@@ -5722,7 +5722,7 @@ fn containerMember(...@@ -5722,7 +5722,7 @@ fn containerMember(
5722 .@"comptime" => {5722 .@"comptime" => {
5723 const prev_decl_index = wip_decls.index;5723 const prev_decl_index = wip_decls.index;
5724 astgen.comptimeDecl(gz, scope, wip_decls, member_node) catch |err| switch (err) {5724 astgen.comptimeDecl(gz, scope, wip_decls, member_node) catch |err| switch (err) {
5725 error.OutOfMemory => return error.OutOfMemory,5725 error.OutOfMemory => |e| return e,
5726 error.AnalysisFail => {5726 error.AnalysisFail => {
5727 wip_decls.index = prev_decl_index;5727 wip_decls.index = prev_decl_index;
5728 try addFailedDeclaration(5728 try addFailedDeclaration(
...@@ -5742,7 +5742,7 @@ fn containerMember(...@@ -5742,7 +5742,7 @@ fn containerMember(
5742 // Since it doesn't strictly matter *what* this is, let's save ourselves the trouble5742 // Since it doesn't strictly matter *what* this is, let's save ourselves the trouble
5743 // of duplicating the test name logic, and just assume this is an unnamed test.5743 // of duplicating the test name logic, and just assume this is an unnamed test.
5744 astgen.testDecl(gz, scope, wip_decls, member_node) catch |err| switch (err) {5744 astgen.testDecl(gz, scope, wip_decls, member_node) catch |err| switch (err) {
5745 error.OutOfMemory => return error.OutOfMemory,5745 error.OutOfMemory => |e| return e,
5746 error.AnalysisFail => {5746 error.AnalysisFail => {
5747 wip_decls.index = prev_decl_index;5747 wip_decls.index = prev_decl_index;
5748 try addFailedDeclaration(5748 try addFailedDeclaration(
...@@ -8563,7 +8563,7 @@ fn numberLiteral(gz: *GenZir, ri: ResultInfo, node: Ast.Node.Index, source_node:...@@ -8563,7 +8563,7 @@ fn numberLiteral(gz: *GenZir, ri: ResultInfo, node: Ast.Node.Index, source_node:
8563 big_int.setString(@intFromEnum(base), bytes[prefix_offset..]) catch |err| switch (err) {8563 big_int.setString(@intFromEnum(base), bytes[prefix_offset..]) catch |err| switch (err) {
8564 error.InvalidCharacter => unreachable, // caught in `parseNumberLiteral`8564 error.InvalidCharacter => unreachable, // caught in `parseNumberLiteral`
8565 error.InvalidBase => unreachable, // we only pass 16, 8, 2, see above8565 error.InvalidBase => unreachable, // we only pass 16, 8, 2, see above
8566 error.OutOfMemory => return error.OutOfMemory,8566 error.OutOfMemory => |e| return e,
8567 };8567 };
85688568
8569 const limbs = big_int.limbs[0..big_int.len()];8569 const limbs = big_int.limbs[0..big_int.len()];
lib/std/zig/LibCInstallation.zig+3-3
...@@ -196,7 +196,7 @@ pub fn findNative(gpa: Allocator, io: Io, args: FindNativeOptions) FindError!Lib...@@ -196,7 +196,7 @@ pub fn findNative(gpa: Allocator, io: Io, args: FindNativeOptions) FindError!Lib
196 const sdk = std.zig.WindowsSdk.find(gpa, io, args.target.cpu.arch, args.environ_map) catch |err| switch (err) {196 const sdk = std.zig.WindowsSdk.find(gpa, io, args.target.cpu.arch, args.environ_map) catch |err| switch (err) {
197 error.NotFound => return error.WindowsSdkNotFound,197 error.NotFound => return error.WindowsSdkNotFound,
198 error.PathTooLong => return error.WindowsSdkNotFound,198 error.PathTooLong => return error.WindowsSdkNotFound,
199 error.OutOfMemory => return error.OutOfMemory,199 error.OutOfMemory => |e| return e,
200 };200 };
201 defer sdk.free(gpa);201 defer sdk.free(gpa);
202202
...@@ -278,7 +278,7 @@ fn findNativeIncludeDirPosix(self: *LibCInstallation, gpa: Allocator, io: Io, ar...@@ -278,7 +278,7 @@ fn findNativeIncludeDirPosix(self: *LibCInstallation, gpa: Allocator, io: Io, ar
278 // So we use the expandArg0 variant of ChildProcess to give them a helping hand.278 // So we use the expandArg0 variant of ChildProcess to give them a helping hand.
279 .expand_arg0 = .expand,279 .expand_arg0 = .expand,
280 }) catch |err| switch (err) {280 }) catch |err| switch (err) {
281 error.OutOfMemory => return error.OutOfMemory,281 error.OutOfMemory => |e| return e,
282 else => {282 else => {
283 printVerboseInvocation(argv.items, null, args.verbose, null);283 printVerboseInvocation(argv.items, null, args.verbose, null);
284 return error.UnableToSpawnCCompiler;284 return error.UnableToSpawnCCompiler;
...@@ -596,7 +596,7 @@ fn ccPrintFileName(gpa: Allocator, io: Io, args: CCPrintFileNameOptions) ![]u8 {...@@ -596,7 +596,7 @@ fn ccPrintFileName(gpa: Allocator, io: Io, args: CCPrintFileNameOptions) ![]u8 {
596 // So we use the expandArg0 variant of ChildProcess to give them a helping hand.596 // So we use the expandArg0 variant of ChildProcess to give them a helping hand.
597 .expand_arg0 = .expand,597 .expand_arg0 = .expand,
598 }) catch |err| switch (err) {598 }) catch |err| switch (err) {
599 error.OutOfMemory => return error.OutOfMemory,599 error.OutOfMemory => |e| return e,
600 else => return error.UnableToSpawnCCompiler,600 else => return error.UnableToSpawnCCompiler,
601 };601 };
602 defer {602 defer {
lib/std/zig/Parse.zig+7-7
...@@ -278,7 +278,7 @@ fn parseContainerMembers(p: *Parse) Allocator.Error!Members {...@@ -278,7 +278,7 @@ fn parseContainerMembers(p: *Parse) Allocator.Error!Members {
278 }278 }
279 const comptime_token = p.nextToken();279 const comptime_token = p.nextToken();
280 const opt_block = p.parseBlock() catch |err| switch (err) {280 const opt_block = p.parseBlock() catch |err| switch (err) {
281 error.OutOfMemory => return error.OutOfMemory,281 error.OutOfMemory => |e| return e,
282 error.ParseError => blk: {282 error.ParseError => blk: {
283 p.findNextContainerMember();283 p.findNextContainerMember();
284 break :blk null;284 break :blk null;
...@@ -301,7 +301,7 @@ fn parseContainerMembers(p: *Parse) Allocator.Error!Members {...@@ -301,7 +301,7 @@ fn parseContainerMembers(p: *Parse) Allocator.Error!Members {
301 const identifier = p.tok_i;301 const identifier = p.tok_i;
302 defer last_field = identifier;302 defer last_field = identifier;
303 const container_field = p.expectContainerField() catch |err| switch (err) {303 const container_field = p.expectContainerField() catch |err| switch (err) {
304 error.OutOfMemory => return error.OutOfMemory,304 error.OutOfMemory => |e| return e,
305 error.ParseError => {305 error.ParseError => {
306 p.findNextContainerMember();306 p.findNextContainerMember();
307 continue;307 continue;
...@@ -398,7 +398,7 @@ fn parseContainerMembers(p: *Parse) Allocator.Error!Members {...@@ -398,7 +398,7 @@ fn parseContainerMembers(p: *Parse) Allocator.Error!Members {
398 },398 },
399 else => {399 else => {
400 const c_container = p.parseCStyleContainer() catch |err| switch (err) {400 const c_container = p.parseCStyleContainer() catch |err| switch (err) {
401 error.OutOfMemory => return error.OutOfMemory,401 error.OutOfMemory => |e| return e,
402 error.ParseError => false,402 error.ParseError => false,
403 };403 };
404 if (c_container) continue;404 if (c_container) continue;
...@@ -406,7 +406,7 @@ fn parseContainerMembers(p: *Parse) Allocator.Error!Members {...@@ -406,7 +406,7 @@ fn parseContainerMembers(p: *Parse) Allocator.Error!Members {
406 const identifier = p.tok_i;406 const identifier = p.tok_i;
407 defer last_field = identifier;407 defer last_field = identifier;
408 const container_field = p.expectContainerField() catch |err| switch (err) {408 const container_field = p.expectContainerField() catch |err| switch (err) {
409 error.OutOfMemory => return error.OutOfMemory,409 error.OutOfMemory => |e| return e,
410 error.ParseError => {410 error.ParseError => {
411 p.findNextContainerMember();411 p.findNextContainerMember();
412 continue;412 continue;
...@@ -589,7 +589,7 @@ fn expectTestDeclRecoverable(p: *Parse) error{OutOfMemory}!?Node.Index {...@@ -589,7 +589,7 @@ fn expectTestDeclRecoverable(p: *Parse) error{OutOfMemory}!?Node.Index {
589 if (p.expectTestDecl()) |node| {589 if (p.expectTestDecl()) |node| {
590 return node;590 return node;
591 } else |err| switch (err) {591 } else |err| switch (err) {
592 error.OutOfMemory => return error.OutOfMemory,592 error.OutOfMemory => |e| return e,
593 error.ParseError => {593 error.ParseError => {
594 p.findNextContainerMember();594 p.findNextContainerMember();
595 return null;595 return null;
...@@ -668,7 +668,7 @@ fn expectTopLevelDecl(p: *Parse) !?Node.Index {...@@ -668,7 +668,7 @@ fn expectTopLevelDecl(p: *Parse) !?Node.Index {
668668
669fn expectTopLevelDeclRecoverable(p: *Parse) error{OutOfMemory}!?Node.Index {669fn expectTopLevelDeclRecoverable(p: *Parse) error{OutOfMemory}!?Node.Index {
670 return p.expectTopLevelDecl() catch |err| switch (err) {670 return p.expectTopLevelDecl() catch |err| switch (err) {
671 error.OutOfMemory => return error.OutOfMemory,671 error.OutOfMemory => |e| return e,
672 error.ParseError => {672 error.ParseError => {
673 p.findNextContainerMember();673 p.findNextContainerMember();
674 return null;674 return null;
...@@ -1145,7 +1145,7 @@ fn expectVarDeclExprStatement(p: *Parse, comptime_token: ?TokenIndex) !Node.Inde...@@ -1145,7 +1145,7 @@ fn expectVarDeclExprStatement(p: *Parse, comptime_token: ?TokenIndex) !Node.Inde
1145fn expectStatementRecoverable(p: *Parse) Error!?Node.Index {1145fn expectStatementRecoverable(p: *Parse) Error!?Node.Index {
1146 while (true) {1146 while (true) {
1147 return p.expectStatement(true) catch |err| switch (err) {1147 return p.expectStatement(true) catch |err| switch (err) {
1148 error.OutOfMemory => return error.OutOfMemory,1148 error.OutOfMemory => |e| return e,
1149 error.ParseError => {1149 error.ParseError => {
1150 p.findNextStmt(); // Try to skip to the next statement.1150 p.findNextStmt(); // Try to skip to the next statement.
1151 switch (p.tokenTag(p.tok_i)) {1151 switch (p.tokenTag(p.tok_i)) {
lib/std/zig/WindowsSdk.zig+13-13
...@@ -47,7 +47,7 @@ pub fn find(...@@ -47,7 +47,7 @@ pub fn find(
47 error.InstallationNotFound => null,47 error.InstallationNotFound => null,
48 error.PathTooLong => null,48 error.PathTooLong => null,
49 error.VersionTooLong => null,49 error.VersionTooLong => null,
50 error.OutOfMemory => return error.OutOfMemory,50 error.OutOfMemory => |e| return e,
51 };51 };
52 errdefer if (windows10sdk) |*w| w.free(gpa);52 errdefer if (windows10sdk) |*w| w.free(gpa);
5353
...@@ -55,13 +55,13 @@ pub fn find(...@@ -55,13 +55,13 @@ pub fn find(
55 error.InstallationNotFound => null,55 error.InstallationNotFound => null,
56 error.PathTooLong => null,56 error.PathTooLong => null,
57 error.VersionTooLong => null,57 error.VersionTooLong => null,
58 error.OutOfMemory => return error.OutOfMemory,58 error.OutOfMemory => |e| return e,
59 };59 };
60 errdefer if (windows81sdk) |*w| w.free(gpa);60 errdefer if (windows81sdk) |*w| w.free(gpa);
6161
62 const msvc_lib_dir: ?[]const u8 = MsvcLibDir.find(gpa, io, &registry, arch, environ_map) catch |err| switch (err) {62 const msvc_lib_dir: ?[]const u8 = MsvcLibDir.find(gpa, io, &registry, arch, environ_map) catch |err| switch (err) {
63 error.MsvcLibDirNotFound => null,63 error.MsvcLibDirNotFound => null,
64 error.OutOfMemory => return error.OutOfMemory,64 error.OutOfMemory => |e| return e,
65 };65 };
66 errdefer gpa.free(msvc_lib_dir);66 errdefer gpa.free(msvc_lib_dir);
6767
...@@ -498,7 +498,7 @@ pub const Installation = struct {...@@ -498,7 +498,7 @@ pub const Installation = struct {
498 error.StringNotFound,498 error.StringNotFound,
499 => return error.InstallationNotFound,499 => return error.InstallationNotFound,
500500
501 error.OutOfMemory => return error.OutOfMemory,501 error.OutOfMemory => |e| return e,
502 };502 };
503 defer gpa.free(path_w_maybe_with_trailing_slash);503 defer gpa.free(path_w_maybe_with_trailing_slash);
504504
...@@ -572,7 +572,7 @@ pub const Installation = struct {...@@ -572,7 +572,7 @@ pub const Installation = struct {
572 error.StringNotFound,572 error.StringNotFound,
573 => return error.InstallationNotFound,573 => return error.InstallationNotFound,
574574
575 error.OutOfMemory => return error.OutOfMemory,575 error.OutOfMemory => |e| return e,
576 };576 };
577 defer gpa.free(path_w_maybe_with_trailing_slash);577 defer gpa.free(path_w_maybe_with_trailing_slash);
578578
...@@ -593,7 +593,7 @@ pub const Installation = struct {...@@ -593,7 +593,7 @@ pub const Installation = struct {
593 error.StringNotFound,593 error.StringNotFound,
594 => return error.InstallationNotFound,594 => return error.InstallationNotFound,
595595
596 error.OutOfMemory => return error.OutOfMemory,596 error.OutOfMemory => |e| return e,
597 };597 };
598 defer gpa.free(version_without_0);598 defer gpa.free(version_without_0);
599599
...@@ -664,7 +664,7 @@ const MsvcLibDir = struct {...@@ -664,7 +664,7 @@ const MsvcLibDir = struct {
664 error.StringNotFound,664 error.StringNotFound,
665 => return error.PathNotFound,665 => return error.PathNotFound,
666666
667 error.OutOfMemory => return error.OutOfMemory,667 error.OutOfMemory => |e| return e,
668 };668 };
669 defer gpa.free(packages_path);669 defer gpa.free(packages_path);
670670
...@@ -708,7 +708,7 @@ const MsvcLibDir = struct {...@@ -708,7 +708,7 @@ const MsvcLibDir = struct {
708 error.StringNotFound,708 error.StringNotFound,
709 => return error.PathNotFound,709 => return error.PathNotFound,
710710
711 error.OutOfMemory => return error.OutOfMemory,711 error.OutOfMemory => |e| return e,
712 };712 };
713 defer gpa.free(dll_path);713 defer gpa.free(dll_path);
714714
...@@ -1042,7 +1042,7 @@ const MsvcLibDir = struct {...@@ -1042,7 +1042,7 @@ const MsvcLibDir = struct {
1042 const config_key = root_key.open(config_path) catch continue;1042 const config_key = root_key.open(config_path) catch continue;
10431043
1044 const source_directories_value = config_key.getString(gpa, .{ .name = L("Source Directories") }, .wtf8) catch |err| switch (err) {1044 const source_directories_value = config_key.getString(gpa, .{ .name = L("Source Directories") }, .wtf8) catch |err| switch (err) {
1045 error.OutOfMemory => return error.OutOfMemory,1045 error.OutOfMemory => |e| return e,
1046 else => continue,1046 else => continue,
1047 };1047 };
10481048
...@@ -1118,7 +1118,7 @@ const MsvcLibDir = struct {...@@ -1118,7 +1118,7 @@ const MsvcLibDir = struct {
1118 defer vs7_key.close();1118 defer vs7_key.close();
1119 try_vs7_key: {1119 try_vs7_key: {
1120 const path_maybe_with_trailing_slash = vs7_key.getString(gpa, .{ .name = L("14.0") }, .wtf8) catch |err| switch (err) {1120 const path_maybe_with_trailing_slash = vs7_key.getString(gpa, .{ .name = L("14.0") }, .wtf8) catch |err| switch (err) {
1121 error.OutOfMemory => return error.OutOfMemory,1121 error.OutOfMemory => |e| return e,
1122 else => break :try_vs7_key,1122 else => break :try_vs7_key,
1123 };1123 };
11241124
...@@ -1178,11 +1178,11 @@ const MsvcLibDir = struct {...@@ -1178,11 +1178,11 @@ const MsvcLibDir = struct {
1178 environ_map: *const Environ.Map,1178 environ_map: *const Environ.Map,
1179 ) error{ OutOfMemory, MsvcLibDirNotFound }![]const u8 {1179 ) error{ OutOfMemory, MsvcLibDirNotFound }![]const u8 {
1180 const full_path = MsvcLibDir.findViaCOM(gpa, io, registry, arch, environ_map) catch |err1| switch (err1) {1180 const full_path = MsvcLibDir.findViaCOM(gpa, io, registry, arch, environ_map) catch |err1| switch (err1) {
1181 error.OutOfMemory => return error.OutOfMemory,1181 error.OutOfMemory => |e| return e,
1182 error.PathNotFound => MsvcLibDir.findViaRegistry(gpa, io, arch, environ_map) catch |err2| switch (err2) {1182 error.PathNotFound => MsvcLibDir.findViaRegistry(gpa, io, arch, environ_map) catch |err2| switch (err2) {
1183 error.OutOfMemory => return error.OutOfMemory,1183 error.OutOfMemory => |e| return e,
1184 error.PathNotFound => MsvcLibDir.findViaVs7Key(gpa, io, registry, arch, environ_map) catch |err3| switch (err3) {1184 error.PathNotFound => MsvcLibDir.findViaVs7Key(gpa, io, registry, arch, environ_map) catch |err3| switch (err3) {
1185 error.OutOfMemory => return error.OutOfMemory,1185 error.OutOfMemory => |e| return e,
1186 error.PathNotFound => return error.MsvcLibDirNotFound,1186 error.PathNotFound => return error.MsvcLibDirNotFound,
1187 },1187 },
1188 },1188 },
lib/std/zig/ZonGen.zig+1-1
...@@ -668,7 +668,7 @@ fn numberLiteral(zg: *ZonGen, num_node: Ast.Node.Index, src_node: Ast.Node.Index...@@ -668,7 +668,7 @@ fn numberLiteral(zg: *ZonGen, num_node: Ast.Node.Index, src_node: Ast.Node.Index
668 big_int.setString(@intFromEnum(base), num_without_prefix) catch |err| switch (err) {668 big_int.setString(@intFromEnum(base), num_without_prefix) catch |err| switch (err) {
669 error.InvalidCharacter => unreachable, // caught in `parseNumberLiteral`669 error.InvalidCharacter => unreachable, // caught in `parseNumberLiteral`
670 error.InvalidBase => unreachable, // we only pass 16, 8, 2, see above670 error.InvalidBase => unreachable, // we only pass 16, 8, 2, see above
671 error.OutOfMemory => return error.OutOfMemory,671 error.OutOfMemory => |e| return e,
672 };672 };
673 switch (sign) {673 switch (sign) {
674 .positive => {},674 .positive => {},
lib/std/zip.zig+5-5
...@@ -143,7 +143,7 @@ pub const EndRecord = extern struct {...@@ -143,7 +143,7 @@ pub const EndRecord = extern struct {
143 const read_buf: []u8 = buf[buf.len - new_loaded_len ..][0..read_len];143 const read_buf: []u8 = buf[buf.len - new_loaded_len ..][0..read_len];
144 fr.interface.readSliceAll(read_buf) catch |err| switch (err) {144 fr.interface.readSliceAll(read_buf) catch |err| switch (err) {
145 error.ReadFailed => return fr.err.?,145 error.ReadFailed => return fr.err.?,
146 error.EndOfStream => return error.EndOfStream,146 error.EndOfStream => |e| return e,
147 };147 };
148 loaded_len = new_loaded_len;148 loaded_len = new_loaded_len;
149 }149 }
...@@ -310,7 +310,7 @@ pub const Iterator = struct {...@@ -310,7 +310,7 @@ pub const Iterator = struct {
310 try input.seekTo(stream_len - locator_end_offset);310 try input.seekTo(stream_len - locator_end_offset);
311 const locator = input.interface.takeStruct(EndLocator64, .little) catch |err| switch (err) {311 const locator = input.interface.takeStruct(EndLocator64, .little) catch |err| switch (err) {
312 error.ReadFailed => return input.err.?,312 error.ReadFailed => return input.err.?,
313 error.EndOfStream => return error.EndOfStream,313 error.EndOfStream => |e| return e,
314 };314 };
315 if (!std.mem.eql(u8, &locator.signature, &end_locator64_sig))315 if (!std.mem.eql(u8, &locator.signature, &end_locator64_sig))
316 return error.ZipBadLocatorSig;316 return error.ZipBadLocatorSig;
...@@ -323,7 +323,7 @@ pub const Iterator = struct {...@@ -323,7 +323,7 @@ pub const Iterator = struct {
323323
324 const record64 = input.interface.takeStruct(EndRecord64, .little) catch |err| switch (err) {324 const record64 = input.interface.takeStruct(EndRecord64, .little) catch |err| switch (err) {
325 error.ReadFailed => return input.err.?,325 error.ReadFailed => return input.err.?,
326 error.EndOfStream => return error.EndOfStream,326 error.EndOfStream => |e| return e,
327 };327 };
328328
329 if (!std.mem.eql(u8, &record64.signature, &end_record64_sig))329 if (!std.mem.eql(u8, &record64.signature, &end_record64_sig))
...@@ -379,7 +379,7 @@ pub const Iterator = struct {...@@ -379,7 +379,7 @@ pub const Iterator = struct {
379 try input.seekTo(header_zip_offset);379 try input.seekTo(header_zip_offset);
380 const header = input.interface.takeStruct(CentralDirectoryFileHeader, .little) catch |err| switch (err) {380 const header = input.interface.takeStruct(CentralDirectoryFileHeader, .little) catch |err| switch (err) {
381 error.ReadFailed => return input.err.?,381 error.ReadFailed => return input.err.?,
382 error.EndOfStream => return error.EndOfStream,382 error.EndOfStream => |e| return e,
383 };383 };
384 if (!std.mem.eql(u8, &header.signature, &central_file_header_sig))384 if (!std.mem.eql(u8, &header.signature, &central_file_header_sig))
385 return error.ZipBadCdOffset;385 return error.ZipBadCdOffset;
...@@ -410,7 +410,7 @@ pub const Iterator = struct {...@@ -410,7 +410,7 @@ pub const Iterator = struct {
410 try input.seekTo(header_zip_offset + @sizeOf(CentralDirectoryFileHeader) + header.filename_len);410 try input.seekTo(header_zip_offset + @sizeOf(CentralDirectoryFileHeader) + header.filename_len);
411 input.interface.readSliceAll(extra) catch |err| switch (err) {411 input.interface.readSliceAll(extra) catch |err| switch (err) {
412 error.ReadFailed => return input.err.?,412 error.ReadFailed => return input.err.?,
413 error.EndOfStream => return error.EndOfStream,413 error.EndOfStream => |e| return e,
414 };414 };
415415
416 var extra_offset: usize = 0;416 var extra_offset: usize = 0;
src/Compilation.zig+4-5
...@@ -2184,7 +2184,7 @@ pub fn create(gpa: Allocator, arena: Allocator, io: Io, diag: *CreateDiagnostic,...@@ -2184,7 +2184,7 @@ pub fn create(gpa: Allocator, arena: Allocator, io: Io, diag: *CreateDiagnostic,
2184 .global = options.config,2184 .global = options.config,
2185 .parent = options.root_mod,2185 .parent = options.root_mod,
2186 }) catch |err| switch (err) {2186 }) catch |err| switch (err) {
2187 error.OutOfMemory => return error.OutOfMemory,2187 error.OutOfMemory => |e| return e,
2188 // None of these are possible because the configuration matches the root module2188 // None of these are possible because the configuration matches the root module
2189 // which already passed these checks.2189 // which already passed these checks.
2190 error.ValgrindUnsupportedOnTarget => unreachable,2190 error.ValgrindUnsupportedOnTarget => unreachable,
...@@ -2948,8 +2948,7 @@ pub fn update(comp: *Compilation, main_progress_node: std.Progress.Node) UpdateE...@@ -2948,8 +2948,7 @@ pub fn update(comp: *Compilation, main_progress_node: std.Progress.Node) UpdateE
2948 );2948 );
2949 },2949 },
2950 },2950 },
2951 error.OutOfMemory => return error.OutOfMemory,2951 error.OutOfMemory, error.Canceled => |e| return e,
2952 error.Canceled => return error.Canceled,
2953 error.InvalidFormat => return comp.setMiscFailure(2952 error.InvalidFormat => return comp.setMiscFailure(
2954 .check_whole_cache,2953 .check_whole_cache,
2955 "failed to check cache: invalid manifest file format",2954 "failed to check cache: invalid manifest file format",
...@@ -3368,7 +3367,7 @@ fn flush(comp: *Compilation, arena: Allocator, tid: Zcu.PerThread.Id) (Io.Cancel...@@ -3368,7 +3367,7 @@ fn flush(comp: *Compilation, arena: Allocator, tid: Zcu.PerThread.Id) (Io.Cancel
3368 .lto = comp.config.lto,3367 .lto = comp.config.lto,
3369 }) catch |err| switch (err) {3368 }) catch |err| switch (err) {
3370 error.LinkFailure => {}, // Already reported.3369 error.LinkFailure => {}, // Already reported.
3371 error.OutOfMemory => return error.OutOfMemory,3370 error.OutOfMemory => |e| return e,
3372 };3371 };
3373 }3372 }
3374 }3373 }
...@@ -7236,7 +7235,7 @@ pub fn dumpArgv(io: Io, argv: []const []const u8) Io.Cancelable!void {...@@ -7236,7 +7235,7 @@ pub fn dumpArgv(io: Io, argv: []const []const u8) Io.Cancelable!void {
7236 const w = &stderr.file_writer.interface;7235 const w = &stderr.file_writer.interface;
7237 return dumpArgvWriter(w, argv) catch |err| switch (err) {7236 return dumpArgvWriter(w, argv) catch |err| switch (err) {
7238 error.WriteFailed => switch (stderr.file_writer.err.?) {7237 error.WriteFailed => switch (stderr.file_writer.err.?) {
7239 error.Canceled => return error.Canceled,7238 error.Canceled => |e| return e,
7240 else => return,7239 else => return,
7241 },7240 },
7242 };7241 };
src/Package/Fetch.zig+1-2
...@@ -1422,8 +1422,7 @@ fn unpackResource(...@@ -1422,8 +1422,7 @@ fn unpackResource(
1422 return try unpackTarball(f, tmp_directory.handle, &decompress.reader);1422 return try unpackTarball(f, tmp_directory.handle, &decompress.reader);
1423 },1423 },
1424 .git_pack => return unpackGitPack(f, tmp_directory.handle, &resource.git) catch |err| switch (err) {1424 .git_pack => return unpackGitPack(f, tmp_directory.handle, &resource.git) catch |err| switch (err) {
1425 error.FetchFailed => return error.FetchFailed,1425 error.FetchFailed, error.OutOfMemory => |e| return e,
1426 error.OutOfMemory => return error.OutOfMemory,
1427 else => |e| return f.fail(f.location_tok, try eb.printString("unable to unpack git files: {t}", .{e})),1426 else => |e| return f.fail(f.location_tok, try eb.printString("unable to unpack git files: {t}", .{e})),
1428 },1427 },
1429 .zip => return unzip(f, tmp_directory.handle, resource.reader()) catch |err| switch (err) {1428 .zip => return unzip(f, tmp_directory.handle, resource.reader()) catch |err| switch (err) {
src/Sema.zig+1-1
...@@ -22339,7 +22339,7 @@ fn checkAtomicPtrOperand(...@@ -22339,7 +22339,7 @@ fn checkAtomicPtrOperand(
22339 try sema.ensureLayoutResolved(elem_ty, elem_ty_src, .ptr_access);22339 try sema.ensureLayoutResolved(elem_ty, elem_ty_src, .ptr_access);
22340 var diag: Zcu.AtomicPtrAlignmentDiagnostics = .{};22340 var diag: Zcu.AtomicPtrAlignmentDiagnostics = .{};
22341 const alignment = zcu.atomicPtrAlignment(elem_ty, &diag) catch |err| switch (err) {22341 const alignment = zcu.atomicPtrAlignment(elem_ty, &diag) catch |err| switch (err) {
22342 error.OutOfMemory => return error.OutOfMemory,22342 error.OutOfMemory => |e| return e,
22343 error.FloatTooBig => return sema.fail(22343 error.FloatTooBig => return sema.fail(
22344 block,22344 block,
22345 elem_ty_src,22345 elem_ty_src,
src/Value.zig+1-1
...@@ -1611,7 +1611,7 @@ pub fn hasRepeatedByteRepr(val: Value, zcu: *const Zcu) !?u8 {...@@ -1611,7 +1611,7 @@ pub fn hasRepeatedByteRepr(val: Value, zcu: *const Zcu) !?u8 {
1611 defer zcu.gpa.free(byte_buffer);1611 defer zcu.gpa.free(byte_buffer);
16121612
1613 writeToMemory(val, zcu, byte_buffer) catch |err| switch (err) {1613 writeToMemory(val, zcu, byte_buffer) catch |err| switch (err) {
1614 error.OutOfMemory => return error.OutOfMemory,1614 error.OutOfMemory => |e| return e,
1615 error.ReinterpretDeclRef => return null,1615 error.ReinterpretDeclRef => return null,
1616 // TODO: The writeToMemory function was originally created for the purpose1616 // TODO: The writeToMemory function was originally created for the purpose
1617 // of comptime pointer casting. However, it is now additionally being used1617 // of comptime pointer casting. However, it is now additionally being used
src/Zcu.zig+1-1
...@@ -3922,7 +3922,7 @@ pub fn handleUpdateExports(...@@ -3922,7 +3922,7 @@ pub fn handleUpdateExports(
3922) Allocator.Error!void {3922) Allocator.Error!void {
3923 const gpa = zcu.gpa;3923 const gpa = zcu.gpa;
3924 result catch |err| switch (err) {3924 result catch |err| switch (err) {
3925 error.OutOfMemory => return error.OutOfMemory,3925 error.OutOfMemory => |e| return e,
3926 error.AnalysisFail => {3926 error.AnalysisFail => {
3927 const export_idx = export_indices[0];3927 const export_idx = export_indices[0];
3928 const new_export = export_idx.ptr(zcu);3928 const new_export = export_idx.ptr(zcu);
src/Zcu/PerThread.zig+1-1
...@@ -4582,7 +4582,7 @@ fn runCodegenInner(pt: Zcu.PerThread, func_index: InternPool.Index, air: *Air) e...@@ -4582,7 +4582,7 @@ fn runCodegenInner(pt: Zcu.PerThread, func_index: InternPool.Index, air: *Air) e
4582 defer verify.deinit();4582 defer verify.deinit();
45834583
4584 verify.verify() catch |err| switch (err) {4584 verify.verify() catch |err| switch (err) {
4585 error.OutOfMemory => return error.OutOfMemory,4585 error.OutOfMemory => |e| return e,
4586 else => return zcu.codegenFail(nav, "invalid liveness: {t}", .{err}),4586 else => return zcu.codegenFail(nav, "invalid liveness: {t}", .{err}),
4587 };4587 };
4588 }4588 }
src/codegen.zig+2-2
...@@ -760,7 +760,7 @@ fn lowerUavRef(...@@ -760,7 +760,7 @@ fn lowerUavRef(
760 .offset = w.end,760 .offset = w.end,
761 .addend = @intCast(offset),761 .addend = @intCast(offset),
762 }) catch |err| switch (err) {762 }) catch |err| switch (err) {
763 error.OutOfMemory => return error.OutOfMemory,763 error.OutOfMemory => |e| return e,
764 else => |e| std.debug.panic("TODO rework lowerUav. internal error: {t}", .{e}),764 else => |e| std.debug.panic("TODO rework lowerUav. internal error: {t}", .{e}),
765 };765 };
766 const endian = target.cpu.arch.endian();766 const endian = target.cpu.arch.endian();
...@@ -903,7 +903,7 @@ pub fn genNavRef(...@@ -903,7 +903,7 @@ pub fn genNavRef(
903 }903 }
904 } else if (lf.cast(.elf2)) |elf| {904 } else if (lf.cast(.elf2)) |elf| {
905 return .{ .sym_index = @intFromEnum(elf.navSymbol(zcu, nav_index) catch |err| switch (err) {905 return .{ .sym_index = @intFromEnum(elf.navSymbol(zcu, nav_index) catch |err| switch (err) {
906 error.OutOfMemory => return error.OutOfMemory,906 error.OutOfMemory => |e| return e,
907 else => |e| return .{ .fail = try ErrorMsg.create(907 else => |e| return .{ .fail = try ErrorMsg.create(
908 zcu.gpa,908 zcu.gpa,
909 src_loc,909 src_loc,
src/codegen/aarch64/Select.zig+1-1
...@@ -11363,7 +11363,7 @@ fn writeToMemory(isel: *Select, constant: Constant, buffer: []u8) error{OutOfMem...@@ -11363,7 +11363,7 @@ fn writeToMemory(isel: *Select, constant: Constant, buffer: []u8) error{OutOfMem
11363 const ip = &zcu.intern_pool;11363 const ip = &zcu.intern_pool;
11364 if (try isel.writeKeyToMemory(ip.indexToKey(constant.toIntern()), buffer)) return true;11364 if (try isel.writeKeyToMemory(ip.indexToKey(constant.toIntern()), buffer)) return true;
11365 constant.writeToMemory(zcu, buffer) catch |err| switch (err) {11365 constant.writeToMemory(zcu, buffer) catch |err| switch (err) {
11366 error.OutOfMemory => return error.OutOfMemory,11366 error.OutOfMemory => |e| return e,
11367 error.ReinterpretDeclRef, error.Unimplemented, error.IllDefinedMemoryLayout => return false,11367 error.ReinterpretDeclRef, error.Unimplemented, error.IllDefinedMemoryLayout => return false,
11368 };11368 };
11369 return true;11369 return true;
src/codegen/riscv64/CodeGen.zig+3-3
...@@ -812,7 +812,7 @@ pub fn generate(...@@ -812,7 +812,7 @@ pub fn generate(
812812
813 const fn_info = zcu.typeToFunc(fn_type).?;813 const fn_info = zcu.typeToFunc(fn_type).?;
814 var call_info = function.resolveCallingConventionValues(fn_info, &.{}) catch |err| switch (err) {814 var call_info = function.resolveCallingConventionValues(fn_info, &.{}) catch |err| switch (err) {
815 error.CodegenFail => return error.CodegenFail,815 error.CodegenFail => |e| return e,
816 else => |e| return e,816 else => |e| return e,
817 };817 };
818818
...@@ -841,7 +841,7 @@ pub fn generate(...@@ -841,7 +841,7 @@ pub fn generate(
841 }));841 }));
842842
843 function.gen() catch |err| switch (err) {843 function.gen() catch |err| switch (err) {
844 error.CodegenFail => return error.CodegenFail,844 error.CodegenFail => |e| return e,
845 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),845 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),
846 else => |e| return e,846 else => |e| return e,
847 };847 };
...@@ -893,7 +893,7 @@ pub fn generateLazy(...@@ -893,7 +893,7 @@ pub fn generateLazy(
893 defer function.mir_instructions.deinit(gpa);893 defer function.mir_instructions.deinit(gpa);
894894
895 function.genLazy(lazy_sym) catch |err| switch (err) {895 function.genLazy(lazy_sym) catch |err| switch (err) {
896 error.CodegenFail => return error.CodegenFail,896 error.CodegenFail => |e| return e,
897 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),897 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),
898 else => |e| return e,898 else => |e| return e,
899 };899 };
src/codegen/sparc64/CodeGen.zig+2-2
...@@ -308,7 +308,7 @@ pub fn generate(...@@ -308,7 +308,7 @@ pub fn generate(
308 defer function.exitlude_jump_relocs.deinit(gpa);308 defer function.exitlude_jump_relocs.deinit(gpa);
309309
310 var call_info = function.resolveCallingConventionValues(func_ty, .callee) catch |err| switch (err) {310 var call_info = function.resolveCallingConventionValues(func_ty, .callee) catch |err| switch (err) {
311 error.CodegenFail => return error.CodegenFail,311 error.CodegenFail => |e| return e,
312 else => |e| return e,312 else => |e| return e,
313 };313 };
314 defer call_info.deinit(&function);314 defer call_info.deinit(&function);
...@@ -319,7 +319,7 @@ pub fn generate(...@@ -319,7 +319,7 @@ pub fn generate(
319 function.max_end_stack = call_info.stack_byte_count;319 function.max_end_stack = call_info.stack_byte_count;
320320
321 function.gen() catch |err| switch (err) {321 function.gen() catch |err| switch (err) {
322 error.CodegenFail => return error.CodegenFail,322 error.CodegenFail => |e| return e,
323 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),323 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),
324 else => |e| return e,324 else => |e| return e,
325 };325 };
src/codegen/x86_64/CodeGen.zig+3-3
...@@ -938,7 +938,7 @@ pub fn generate(...@@ -938,7 +938,7 @@ pub fn generate(
938938
939 const fn_info = zcu.typeToFunc(fn_type).?;939 const fn_info = zcu.typeToFunc(fn_type).?;
940 var call_info = function.resolveCallingConventionValues(fn_info, &.{}, .args_frame) catch |err| switch (err) {940 var call_info = function.resolveCallingConventionValues(fn_info, &.{}, .args_frame) catch |err| switch (err) {
941 error.CodegenFail => return error.CodegenFail,941 error.CodegenFail => |e| return e,
942 else => |e| return e,942 else => |e| return e,
943 };943 };
944 defer call_info.deinit(&function);944 defer call_info.deinit(&function);
...@@ -983,7 +983,7 @@ pub fn generate(...@@ -983,7 +983,7 @@ pub fn generate(
983 }983 }
984984
985 function.gen(&file.zir.?, func_zir.inst, func.comptime_args, call_info.air_arg_count) catch |err| switch (err) {985 function.gen(&file.zir.?, func_zir.inst, func.comptime_args, call_info.air_arg_count) catch |err| switch (err) {
986 error.CodegenFail => return error.CodegenFail,986 error.CodegenFail => |e| return e,
987 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),987 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),
988 else => |e| return e,988 else => |e| return e,
989 };989 };
...@@ -1071,7 +1071,7 @@ pub fn generateLazy(...@@ -1071,7 +1071,7 @@ pub fn generateLazy(
1071 }1071 }
10721072
1073 function.genLazy(lazy_sym) catch |err| switch (err) {1073 function.genLazy(lazy_sym) catch |err| switch (err) {
1074 error.CodegenFail => return error.CodegenFail,1074 error.CodegenFail => |e| return e,
1075 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),1075 error.OutOfRegisters => return function.fail("ran out of registers (Zig compiler bug)", .{}),
1076 else => |e| return e,1076 else => |e| return e,
1077 };1077 };
src/libs/libcxx.zig+2-2
...@@ -285,7 +285,7 @@ pub fn buildLibCxx(comp: *Compilation, prog_node: std.Progress.Node) BuildError!...@@ -285,7 +285,7 @@ pub fn buildLibCxx(comp: *Compilation, prog_node: std.Progress.Node) BuildError!
285 defer sub_compilation.destroy();285 defer sub_compilation.destroy();
286286
287 comp.updateSubCompilation(sub_compilation, misc_task, prog_node) catch |err| switch (err) {287 comp.updateSubCompilation(sub_compilation, misc_task, prog_node) catch |err| switch (err) {
288 error.AlreadyReported => return error.AlreadyReported,288 error.AlreadyReported => |e| return e,
289 else => |e| {289 else => |e| {
290 comp.lockAndSetMiscFailure(misc_task, "unable to build libc++: compilation failed: {t}", .{e});290 comp.lockAndSetMiscFailure(misc_task, "unable to build libc++: compilation failed: {t}", .{e});
291 return error.AlreadyReported;291 return error.AlreadyReported;
...@@ -478,7 +478,7 @@ pub fn buildLibCxxAbi(comp: *Compilation, prog_node: std.Progress.Node) BuildErr...@@ -478,7 +478,7 @@ pub fn buildLibCxxAbi(comp: *Compilation, prog_node: std.Progress.Node) BuildErr
478 defer sub_compilation.destroy();478 defer sub_compilation.destroy();
479479
480 comp.updateSubCompilation(sub_compilation, misc_task, prog_node) catch |err| switch (err) {480 comp.updateSubCompilation(sub_compilation, misc_task, prog_node) catch |err| switch (err) {
481 error.AlreadyReported => return error.AlreadyReported,481 error.AlreadyReported => |e| return e,
482 else => |e| {482 else => |e| {
483 comp.lockAndSetMiscFailure(483 comp.lockAndSetMiscFailure(
484 .libcxxabi,484 .libcxxabi,
src/libs/libtsan.zig+1-1
...@@ -313,7 +313,7 @@ pub fn buildTsan(comp: *Compilation, prog_node: std.Progress.Node) BuildError!vo...@@ -313,7 +313,7 @@ pub fn buildTsan(comp: *Compilation, prog_node: std.Progress.Node) BuildError!vo
313 defer sub_compilation.destroy();313 defer sub_compilation.destroy();
314314
315 comp.updateSubCompilation(sub_compilation, misc_task, prog_node) catch |err| switch (err) {315 comp.updateSubCompilation(sub_compilation, misc_task, prog_node) catch |err| switch (err) {
316 error.AlreadyReported => return error.AlreadyReported,316 error.AlreadyReported => |e| return e,
317 else => |e| {317 else => |e| {
318 comp.lockAndSetMiscFailure(misc_task, "unable to build {t}: compilation failed: {s}", .{ misc_task, @errorName(e) });318 comp.lockAndSetMiscFailure(misc_task, "unable to build {t}: compilation failed: {s}", .{ misc_task, @errorName(e) });
319 return error.AlreadyReported;319 return error.AlreadyReported;
src/libs/libunwind.zig+1-1
...@@ -171,7 +171,7 @@ pub fn buildStaticLib(comp: *Compilation, prog_node: std.Progress.Node) BuildErr...@@ -171,7 +171,7 @@ pub fn buildStaticLib(comp: *Compilation, prog_node: std.Progress.Node) BuildErr
171 defer sub_compilation.destroy();171 defer sub_compilation.destroy();
172172
173 comp.updateSubCompilation(sub_compilation, misc_task, prog_node) catch |err| switch (err) {173 comp.updateSubCompilation(sub_compilation, misc_task, prog_node) catch |err| switch (err) {
174 error.AlreadyReported => return error.AlreadyReported,174 error.AlreadyReported => |e| return e,
175 else => |e| {175 else => |e| {
176 comp.lockAndSetMiscFailure(misc_task, "unable to build {t}: compilation failed: {s}", .{ misc_task, @errorName(e) });176 comp.lockAndSetMiscFailure(misc_task, "unable to build {t}: compilation failed: {s}", .{ misc_task, @errorName(e) });
177 return error.AlreadyReported;177 return error.AlreadyReported;
src/link/Coff.zig+4-4
...@@ -1716,7 +1716,7 @@ pub fn updateErrorData(coff: *Coff, pt: Zcu.PerThread) !void {...@@ -1716,7 +1716,7 @@ pub fn updateErrorData(coff: *Coff, pt: Zcu.PerThread) !void {
1716 .kind = .const_data,1716 .kind = .const_data,
1717 .index = @intCast(coff.lazy.getPtr(.const_data).map.getIndex(.anyerror_type) orelse return),1717 .index = @intCast(coff.lazy.getPtr(.const_data).map.getIndex(.anyerror_type) orelse return),
1718 }) catch |err| switch (err) {1718 }) catch |err| switch (err) {
1719 error.OutOfMemory => return error.OutOfMemory,1719 error.OutOfMemory => |e| return e,
1720 error.CodegenFail => return error.LinkFailure,1720 error.CodegenFail => return error.LinkFailure,
1721 else => |e| return coff.base.comp.link_diags.fail("updateErrorData failed {t}", .{e}),1721 else => |e| return coff.base.comp.link_diags.fail("updateErrorData failed {t}", .{e}),
1722 };1722 };
...@@ -1765,7 +1765,7 @@ pub fn idle(coff: *Coff, tid: Zcu.PerThread.Id) !bool {...@@ -1765,7 +1765,7 @@ pub fn idle(coff: *Coff, tid: Zcu.PerThread.Id) !bool {
1765 pending_uav.value.alignment,1765 pending_uav.value.alignment,
1766 pending_uav.value.src_loc,1766 pending_uav.value.src_loc,
1767 ) catch |err| switch (err) {1767 ) catch |err| switch (err) {
1768 error.OutOfMemory => return error.OutOfMemory,1768 error.OutOfMemory => |e| return e,
1769 else => |e| return comp.link_diags.fail(1769 else => |e| return comp.link_diags.fail(
1770 "linker failed to lower constant: {t}",1770 "linker failed to lower constant: {t}",
1771 .{e},1771 .{e},
...@@ -1783,7 +1783,7 @@ pub fn idle(coff: *Coff, tid: Zcu.PerThread.Id) !bool {...@@ -1783,7 +1783,7 @@ pub fn idle(coff: *Coff, tid: Zcu.PerThread.Id) !bool {
1783 );1783 );
1784 defer sub_prog_node.end();1784 defer sub_prog_node.end();
1785 coff.flushGlobal(pt, gmi) catch |err| switch (err) {1785 coff.flushGlobal(pt, gmi) catch |err| switch (err) {
1786 error.OutOfMemory => return error.OutOfMemory,1786 error.OutOfMemory => |e| return e,
1787 else => |e| return comp.link_diags.fail(1787 else => |e| return comp.link_diags.fail(
1788 "linker failed to lower constant: {t}",1788 "linker failed to lower constant: {t}",
1789 .{e},1789 .{e},
...@@ -1810,7 +1810,7 @@ pub fn idle(coff: *Coff, tid: Zcu.PerThread.Id) !bool {...@@ -1810,7 +1810,7 @@ pub fn idle(coff: *Coff, tid: Zcu.PerThread.Id) !bool {
1810 );1810 );
1811 defer sub_prog_node.end();1811 defer sub_prog_node.end();
1812 coff.flushLazy(pt, lmr) catch |err| switch (err) {1812 coff.flushLazy(pt, lmr) catch |err| switch (err) {
1813 error.OutOfMemory => return error.OutOfMemory,1813 error.OutOfMemory => |e| return e,
1814 else => |e| return comp.link_diags.fail(1814 else => |e| return comp.link_diags.fail(
1815 "linker failed to lower lazy {s}: {t}",1815 "linker failed to lower lazy {s}: {t}",
1816 .{ kind, e },1816 .{ kind, e },
src/link/Elf.zig+2-3
...@@ -757,8 +757,7 @@ pub fn flush(self: *Elf, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: std...@@ -757,8 +757,7 @@ pub fn flush(self: *Elf, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: std
757 defer sub_prog_node.end();757 defer sub_prog_node.end();
758758
759 return flushInner(self, arena, tid) catch |err| switch (err) {759 return flushInner(self, arena, tid) catch |err| switch (err) {
760 error.OutOfMemory => return error.OutOfMemory,760 error.OutOfMemory, error.LinkFailure => |e| return e,
761 error.LinkFailure => return error.LinkFailure,
762 else => |e| return diags.fail("ELF flush failed: {t}", .{e}),761 else => |e| return diags.fail("ELF flush failed: {t}", .{e}),
763 };762 };
764}763}
...@@ -1717,7 +1716,7 @@ pub fn updateContainerType(...@@ -1717,7 +1716,7 @@ pub fn updateContainerType(
1717 @panic("Attempted to compile for object format that was disabled by build configuration");1716 @panic("Attempted to compile for object format that was disabled by build configuration");
1718 }1717 }
1719 return self.zigObjectPtr().?.updateContainerType(pt, ty, success) catch |err| switch (err) {1718 return self.zigObjectPtr().?.updateContainerType(pt, ty, success) catch |err| switch (err) {
1720 error.OutOfMemory => return error.OutOfMemory,1719 error.OutOfMemory => |e| return e,
1721 };1720 };
1722}1721}
17231722
src/link/Elf/ZigObject.zig+4-7
...@@ -1042,7 +1042,7 @@ pub fn lowerUav(...@@ -1042,7 +1042,7 @@ pub fn lowerUav(
1042 osec,1042 osec,
1043 src_loc,1043 src_loc,
1044 ) catch |err| switch (err) {1044 ) catch |err| switch (err) {
1045 error.OutOfMemory => return error.OutOfMemory,1045 error.OutOfMemory => |e| return e,
1046 else => |e| return .{ .fail = try Zcu.ErrorMsg.create(1046 else => |e| return .{ .fail = try Zcu.ErrorMsg.create(
1047 gpa,1047 gpa,
1048 src_loc,1048 src_loc,
...@@ -1659,8 +1659,7 @@ pub fn updateNav(...@@ -1659,8 +1659,7 @@ pub fn updateNav(
1659 var debug_wip_nav = try dwarf.initWipNav(pt, nav_index, sym_index);1659 var debug_wip_nav = try dwarf.initWipNav(pt, nav_index, sym_index);
1660 defer debug_wip_nav.deinit();1660 defer debug_wip_nav.deinit();
1661 dwarf.finishWipNav(pt, nav_index, &debug_wip_nav) catch |err| switch (err) {1661 dwarf.finishWipNav(pt, nav_index, &debug_wip_nav) catch |err| switch (err) {
1662 error.OutOfMemory => return error.OutOfMemory,1662 error.OutOfMemory, error.Overflow => |e| return e,
1663 error.Overflow => return error.Overflow,
1664 else => |e| return elf_file.base.cgFail(nav_index, "failed to finish dwarf nav: {s}", .{@errorName(e)}),1663 else => |e| return elf_file.base.cgFail(nav_index, "failed to finish dwarf nav: {s}", .{@errorName(e)}),
1665 };1664 };
1666 }1665 }
...@@ -1703,8 +1702,7 @@ pub fn updateNav(...@@ -1703,8 +1702,7 @@ pub fn updateNav(
1703 try self.updateNavCode(elf_file, pt, nav_index, sym_index, shndx, code, elf.STT_OBJECT);1702 try self.updateNavCode(elf_file, pt, nav_index, sym_index, shndx, code, elf.STT_OBJECT);
17041703
1705 if (debug_wip_nav) |*wip_nav| self.dwarf.?.finishWipNav(pt, nav_index, wip_nav) catch |err| switch (err) {1704 if (debug_wip_nav) |*wip_nav| self.dwarf.?.finishWipNav(pt, nav_index, wip_nav) catch |err| switch (err) {
1706 error.OutOfMemory => return error.OutOfMemory,1705 error.OutOfMemory, error.Overflow => |e| return e,
1707 error.Overflow => return error.Overflow,
1708 else => |e| return elf_file.base.cgFail(nav_index, "failed to finish dwarf nav: {s}", .{@errorName(e)}),1706 else => |e| return elf_file.base.cgFail(nav_index, "failed to finish dwarf nav: {s}", .{@errorName(e)}),
1709 };1707 };
1710 } else if (self.dwarf) |*dwarf| try dwarf.updateComptimeNav(pt, nav_index);1708 } else if (self.dwarf) |*dwarf| try dwarf.updateComptimeNav(pt, nav_index);
...@@ -1958,8 +1956,7 @@ pub fn updateLineNumber(self: *ZigObject, pt: Zcu.PerThread, ti_id: InternPool.T...@@ -1958,8 +1956,7 @@ pub fn updateLineNumber(self: *ZigObject, pt: Zcu.PerThread, ti_id: InternPool.T
1958 const comp = dwarf.bin_file.comp;1956 const comp = dwarf.bin_file.comp;
1959 const diags = &comp.link_diags;1957 const diags = &comp.link_diags;
1960 dwarf.updateLineNumber(pt.zcu, ti_id) catch |err| switch (err) {1958 dwarf.updateLineNumber(pt.zcu, ti_id) catch |err| switch (err) {
1961 error.Overflow => return error.Overflow,1959 error.Overflow, error.OutOfMemory => |e| return e,
1962 error.OutOfMemory => return error.OutOfMemory,
1963 else => |e| return diags.fail("failed to update dwarf line numbers: {s}", .{@errorName(e)}),1960 else => |e| return diags.fail("failed to update dwarf line numbers: {s}", .{@errorName(e)}),
1964 };1961 };
1965 }1962 }
src/link/Elf2.zig+5-5
...@@ -2399,7 +2399,7 @@ fn loadDsoExact(elf: *Elf, name: []const u8) !void {...@@ -2399,7 +2399,7 @@ fn loadDsoExact(elf: *Elf, name: []const u8) !void {
2399pub fn prelink(elf: *Elf, prog_node: std.Progress.Node) !void {2399pub fn prelink(elf: *Elf, prog_node: std.Progress.Node) !void {
2400 _ = prog_node;2400 _ = prog_node;
2401 elf.prelinkInner() catch |err| switch (err) {2401 elf.prelinkInner() catch |err| switch (err) {
2402 error.OutOfMemory => return error.OutOfMemory,2402 error.OutOfMemory => |e| return e,
2403 else => |e| return elf.base.comp.link_diags.fail("prelink failed: {t}", .{e}),2403 else => |e| return elf.base.comp.link_diags.fail("prelink failed: {t}", .{e}),
2404 };2404 };
2405}2405}
...@@ -2934,7 +2934,7 @@ pub fn lowerUav(...@@ -2934,7 +2934,7 @@ pub fn lowerUav(
29342934
2935 try elf.pending_uavs.ensureUnusedCapacity(gpa, 1);2935 try elf.pending_uavs.ensureUnusedCapacity(gpa, 1);
2936 const umi = elf.uavMapIndex(uav_val) catch |err| switch (err) {2936 const umi = elf.uavMapIndex(uav_val) catch |err| switch (err) {
2937 error.OutOfMemory => return error.OutOfMemory,2937 error.OutOfMemory => |e| return e,
2938 else => |e| return .{ .fail = try Zcu.ErrorMsg.create(2938 else => |e| return .{ .fail = try Zcu.ErrorMsg.create(
2939 gpa,2939 gpa,
2940 src_loc,2940 src_loc,
...@@ -3057,7 +3057,7 @@ pub fn updateErrorData(elf: *Elf, pt: Zcu.PerThread) !void {...@@ -3057,7 +3057,7 @@ pub fn updateErrorData(elf: *Elf, pt: Zcu.PerThread) !void {
3057 .kind = .const_data,3057 .kind = .const_data,
3058 .index = @intCast(elf.lazy.getPtr(.const_data).map.getIndex(.anyerror_type) orelse return),3058 .index = @intCast(elf.lazy.getPtr(.const_data).map.getIndex(.anyerror_type) orelse return),
3059 }) catch |err| switch (err) {3059 }) catch |err| switch (err) {
3060 error.OutOfMemory => return error.OutOfMemory,3060 error.OutOfMemory => |e| return e,
3061 error.CodegenFail => return error.LinkFailure,3061 error.CodegenFail => return error.LinkFailure,
3062 else => |e| return elf.base.comp.link_diags.fail("updateErrorData failed: {t}", .{e}),3062 else => |e| return elf.base.comp.link_diags.fail("updateErrorData failed: {t}", .{e}),
3063 };3063 };
...@@ -3091,7 +3091,7 @@ pub fn idle(elf: *Elf, tid: Zcu.PerThread.Id) !bool {...@@ -3091,7 +3091,7 @@ pub fn idle(elf: *Elf, tid: Zcu.PerThread.Id) !bool {
3091 pending_uav.value.alignment,3091 pending_uav.value.alignment,
3092 pending_uav.value.src_loc,3092 pending_uav.value.src_loc,
3093 ) catch |err| switch (err) {3093 ) catch |err| switch (err) {
3094 error.OutOfMemory => return error.OutOfMemory,3094 error.OutOfMemory => |e| return e,
3095 else => |e| return comp.link_diags.fail(3095 else => |e| return comp.link_diags.fail(
3096 "linker failed to lower constant: {t}",3096 "linker failed to lower constant: {t}",
3097 .{e},3097 .{e},
...@@ -3118,7 +3118,7 @@ pub fn idle(elf: *Elf, tid: Zcu.PerThread.Id) !bool {...@@ -3118,7 +3118,7 @@ pub fn idle(elf: *Elf, tid: Zcu.PerThread.Id) !bool {
3118 );3118 );
3119 defer sub_prog_node.end();3119 defer sub_prog_node.end();
3120 elf.flushLazy(pt, lmr) catch |err| switch (err) {3120 elf.flushLazy(pt, lmr) catch |err| switch (err) {
3121 error.OutOfMemory => return error.OutOfMemory,3121 error.OutOfMemory => |e| return e,
3122 else => |e| return comp.link_diags.fail(3122 else => |e| return comp.link_diags.fail(
3123 "linker failed to lower lazy {s}: {t}",3123 "linker failed to lower lazy {s}: {t}",
3124 .{ kind, e },3124 .{ kind, e },
src/link/MachO.zig+7-11
...@@ -504,7 +504,7 @@ pub fn flush(...@@ -504,7 +504,7 @@ pub fn flush(
504 try self.resolveSymbols();504 try self.resolveSymbols();
505 try self.convertTentativeDefsAndResolveSpecialSymbols();505 try self.convertTentativeDefsAndResolveSpecialSymbols();
506 self.dedupLiterals() catch |err| switch (err) {506 self.dedupLiterals() catch |err| switch (err) {
507 error.LinkFailure => return error.LinkFailure,507 error.LinkFailure => |e| return e,
508 else => |e| return diags.fail("failed to deduplicate literals: {s}", .{@errorName(e)}),508 else => |e| return diags.fail("failed to deduplicate literals: {s}", .{@errorName(e)}),
509 };509 };
510510
...@@ -542,7 +542,7 @@ pub fn flush(...@@ -542,7 +542,7 @@ pub fn flush(
542542
543 try self.initSegments();543 try self.initSegments();
544 self.allocateSections() catch |err| switch (err) {544 self.allocateSections() catch |err| switch (err) {
545 error.LinkFailure => return error.LinkFailure,545 error.LinkFailure => |e| return e,
546 else => |e| return diags.fail("failed to allocate sections: {s}", .{@errorName(e)}),546 else => |e| return diags.fail("failed to allocate sections: {s}", .{@errorName(e)}),
547 };547 };
548 self.allocateSegments();548 self.allocateSegments();
...@@ -567,8 +567,7 @@ pub fn flush(...@@ -567,8 +567,7 @@ pub fn flush(
567 try self.writeSectionsToFile();567 try self.writeSectionsToFile();
568 try self.allocateLinkeditSegment();568 try self.allocateLinkeditSegment();
569 self.writeLinkeditSectionsToFile() catch |err| switch (err) {569 self.writeLinkeditSectionsToFile() catch |err| switch (err) {
570 error.OutOfMemory => return error.OutOfMemory,570 error.OutOfMemory, error.LinkFailure => |e| return e,
571 error.LinkFailure => return error.LinkFailure,
572 else => |e| return diags.fail("failed to write linkedit sections to file: {t}", .{e}),571 else => |e| return diags.fail("failed to write linkedit sections to file: {t}", .{e}),
573 };572 };
574573
...@@ -595,25 +594,22 @@ pub fn flush(...@@ -595,25 +594,22 @@ pub fn flush(
595594
596 const ncmds, const sizeofcmds, const uuid_cmd_offset = self.writeLoadCommands() catch |err| switch (err) {595 const ncmds, const sizeofcmds, const uuid_cmd_offset = self.writeLoadCommands() catch |err| switch (err) {
597 error.WriteFailed => unreachable,596 error.WriteFailed => unreachable,
598 error.OutOfMemory => return error.OutOfMemory,597 error.OutOfMemory, error.LinkFailure => |e| return e,
599 error.LinkFailure => return error.LinkFailure,
600 };598 };
601 try self.writeHeader(ncmds, sizeofcmds);599 try self.writeHeader(ncmds, sizeofcmds);
602 self.writeUuid(uuid_cmd_offset, self.requiresCodeSig()) catch |err| switch (err) {600 self.writeUuid(uuid_cmd_offset, self.requiresCodeSig()) catch |err| switch (err) {
603 error.OutOfMemory => return error.OutOfMemory,601 error.OutOfMemory, error.LinkFailure => |e| return e,
604 error.LinkFailure => return error.LinkFailure,
605 else => |e| return diags.fail("failed to calculate and write uuid: {s}", .{@errorName(e)}),602 else => |e| return diags.fail("failed to calculate and write uuid: {s}", .{@errorName(e)}),
606 };603 };
607 if (self.getDebugSymbols()) |dsym| dsym.flush(self) catch |err| switch (err) {604 if (self.getDebugSymbols()) |dsym| dsym.flush(self) catch |err| switch (err) {
608 error.OutOfMemory => return error.OutOfMemory,605 error.OutOfMemory => |e| return e,
609 else => |e| return diags.fail("failed to get debug symbols: {s}", .{@errorName(e)}),606 else => |e| return diags.fail("failed to get debug symbols: {s}", .{@errorName(e)}),
610 };607 };
611608
612 // Code signing always comes last.609 // Code signing always comes last.
613 if (codesig) |*csig| {610 if (codesig) |*csig| {
614 self.writeCodeSignature(csig) catch |err| switch (err) {611 self.writeCodeSignature(csig) catch |err| switch (err) {
615 error.OutOfMemory => return error.OutOfMemory,612 error.OutOfMemory, error.LinkFailure => |e| return e,
616 error.LinkFailure => return error.LinkFailure,
617 else => |e| return diags.fail("failed to write code signature: {s}", .{@errorName(e)}),613 else => |e| return diags.fail("failed to write code signature: {s}", .{@errorName(e)}),
618 };614 };
619 const emit = self.base.emit;615 const emit = self.base.emit;
src/link/MachO/ZigObject.zig+7-12
...@@ -571,8 +571,7 @@ pub fn flush(self: *ZigObject, macho_file: *MachO, tid: Zcu.PerThread.Id) link.F...@@ -571,8 +571,7 @@ pub fn flush(self: *ZigObject, macho_file: *MachO, tid: Zcu.PerThread.Id) link.F
571 .{ .kind = .code, .ty = .anyerror_type },571 .{ .kind = .code, .ty = .anyerror_type },
572 metadata.text_symbol_index,572 metadata.text_symbol_index,
573 ) catch |err| switch (err) {573 ) catch |err| switch (err) {
574 error.OutOfMemory => return error.OutOfMemory,574 error.OutOfMemory, error.LinkFailure => |e| return e,
575 error.LinkFailure => return error.LinkFailure,
576 else => |e| return diags.fail("failed to update lazy symbol: {s}", .{@errorName(e)}),575 else => |e| return diags.fail("failed to update lazy symbol: {s}", .{@errorName(e)}),
577 };576 };
578 if (metadata.const_state != .unused) self.updateLazySymbol(577 if (metadata.const_state != .unused) self.updateLazySymbol(
...@@ -581,8 +580,7 @@ pub fn flush(self: *ZigObject, macho_file: *MachO, tid: Zcu.PerThread.Id) link.F...@@ -581,8 +580,7 @@ pub fn flush(self: *ZigObject, macho_file: *MachO, tid: Zcu.PerThread.Id) link.F
581 .{ .kind = .const_data, .ty = .anyerror_type },580 .{ .kind = .const_data, .ty = .anyerror_type },
582 metadata.const_symbol_index,581 metadata.const_symbol_index,
583 ) catch |err| switch (err) {582 ) catch |err| switch (err) {
584 error.OutOfMemory => return error.OutOfMemory,583 error.OutOfMemory, error.LinkFailure => |e| return e,
585 error.LinkFailure => return error.LinkFailure,
586 else => |e| return diags.fail("failed to update lazy symbol: {s}", .{@errorName(e)}),584 else => |e| return diags.fail("failed to update lazy symbol: {s}", .{@errorName(e)}),
587 };585 };
588 }586 }
...@@ -595,7 +593,7 @@ pub fn flush(self: *ZigObject, macho_file: *MachO, tid: Zcu.PerThread.Id) link.F...@@ -595,7 +593,7 @@ pub fn flush(self: *ZigObject, macho_file: *MachO, tid: Zcu.PerThread.Id) link.F
595 const pt: Zcu.PerThread = .activate(macho_file.base.comp.zcu.?, tid);593 const pt: Zcu.PerThread = .activate(macho_file.base.comp.zcu.?, tid);
596 defer pt.deactivate();594 defer pt.deactivate();
597 dwarf.flush(pt) catch |err| switch (err) {595 dwarf.flush(pt) catch |err| switch (err) {
598 error.OutOfMemory => return error.OutOfMemory,596 error.OutOfMemory => |e| return e,
599 else => |e| return diags.fail("failed to flush dwarf module: {s}", .{@errorName(e)}),597 else => |e| return diags.fail("failed to flush dwarf module: {s}", .{@errorName(e)}),
600 };598 };
601599
...@@ -735,7 +733,7 @@ pub fn lowerUav(...@@ -735,7 +733,7 @@ pub fn lowerUav(
735 macho_file.zig_const_sect_index.?,733 macho_file.zig_const_sect_index.?,
736 src_loc,734 src_loc,
737 ) catch |err| switch (err) {735 ) catch |err| switch (err) {
738 error.OutOfMemory => return error.OutOfMemory,736 error.OutOfMemory => |e| return e,
739 else => |e| return .{ .fail = try Zcu.ErrorMsg.create(737 else => |e| return .{ .fail = try Zcu.ErrorMsg.create(
740 gpa,738 gpa,
741 src_loc,739 src_loc,
...@@ -889,8 +887,7 @@ pub fn updateNav(...@@ -889,8 +887,7 @@ pub fn updateNav(
889 var debug_wip_nav = try dwarf.initWipNav(pt, nav_index, sym_index);887 var debug_wip_nav = try dwarf.initWipNav(pt, nav_index, sym_index);
890 defer debug_wip_nav.deinit();888 defer debug_wip_nav.deinit();
891 dwarf.finishWipNav(pt, nav_index, &debug_wip_nav) catch |err| switch (err) {889 dwarf.finishWipNav(pt, nav_index, &debug_wip_nav) catch |err| switch (err) {
892 error.OutOfMemory => return error.OutOfMemory,890 error.OutOfMemory, error.Overflow => |e| return e,
893 error.Overflow => return error.Overflow,
894 else => |e| return macho_file.base.cgFail(nav_index, "failed to finish dwarf nav: {s}", .{@errorName(e)}),891 else => |e| return macho_file.base.cgFail(nav_index, "failed to finish dwarf nav: {s}", .{@errorName(e)}),
895 };892 };
896 }893 }
...@@ -928,8 +925,7 @@ pub fn updateNav(...@@ -928,8 +925,7 @@ pub fn updateNav(
928 try self.updateNavCode(macho_file, pt, nav_index, sym_index, sect_index, code);925 try self.updateNavCode(macho_file, pt, nav_index, sym_index, sect_index, code);
929926
930 if (debug_wip_nav) |*wip_nav| self.dwarf.?.finishWipNav(pt, nav_index, wip_nav) catch |err| switch (err) {927 if (debug_wip_nav) |*wip_nav| self.dwarf.?.finishWipNav(pt, nav_index, wip_nav) catch |err| switch (err) {
931 error.OutOfMemory => return error.OutOfMemory,928 error.OutOfMemory, error.Overflow => |e| return e,
932 error.Overflow => return error.Overflow,
933 else => |e| return macho_file.base.cgFail(nav_index, "failed to finish dwarf nav: {s}", .{@errorName(e)}),929 else => |e| return macho_file.base.cgFail(nav_index, "failed to finish dwarf nav: {s}", .{@errorName(e)}),
934 };930 };
935 } else if (self.dwarf) |*dwarf| try dwarf.updateComptimeNav(pt, nav_index);931 } else if (self.dwarf) |*dwarf| try dwarf.updateComptimeNav(pt, nav_index);
...@@ -1422,8 +1418,7 @@ pub fn updateLineNumber(self: *ZigObject, pt: Zcu.PerThread, ti_id: InternPool.T...@@ -1422,8 +1418,7 @@ pub fn updateLineNumber(self: *ZigObject, pt: Zcu.PerThread, ti_id: InternPool.T
1422 const comp = dwarf.bin_file.comp;1418 const comp = dwarf.bin_file.comp;
1423 const diags = &comp.link_diags;1419 const diags = &comp.link_diags;
1424 dwarf.updateLineNumber(pt.zcu, ti_id) catch |err| switch (err) {1420 dwarf.updateLineNumber(pt.zcu, ti_id) catch |err| switch (err) {
1425 error.Overflow => return error.Overflow,1421 error.Overflow, error.OutOfMemory => |e| return e,
1426 error.OutOfMemory => return error.OutOfMemory,
1427 else => |e| return diags.fail("failed to update dwarf line numbers: {s}", .{@errorName(e)}),1422 else => |e| return diags.fail("failed to update dwarf line numbers: {s}", .{@errorName(e)}),
1428 };1423 };
1429 }1424 }
src/link/MachO/relocatable.zig+2-3
...@@ -42,8 +42,7 @@ pub fn flushObject(macho_file: *MachO, comp: *Compilation, module_obj_path: ?Pat...@@ -42,8 +42,7 @@ pub fn flushObject(macho_file: *MachO, comp: *Compilation, module_obj_path: ?Pat
4242
43 try macho_file.resolveSymbols();43 try macho_file.resolveSymbols();
44 macho_file.dedupLiterals() catch |err| switch (err) {44 macho_file.dedupLiterals() catch |err| switch (err) {
45 error.OutOfMemory => return error.OutOfMemory,45 error.OutOfMemory, error.LinkFailure => |e| return e,
46 error.LinkFailure => return error.LinkFailure,
47 else => |e| return diags.fail("failed to update ar size: {s}", .{@errorName(e)}),46 else => |e| return diags.fail("failed to update ar size: {s}", .{@errorName(e)}),
48 };47 };
49 markExports(macho_file);48 markExports(macho_file);
...@@ -55,7 +54,7 @@ pub fn flushObject(macho_file: *MachO, comp: *Compilation, module_obj_path: ?Pat...@@ -55,7 +54,7 @@ pub fn flushObject(macho_file: *MachO, comp: *Compilation, module_obj_path: ?Pat
5554
56 try createSegment(macho_file);55 try createSegment(macho_file);
57 allocateSections(macho_file) catch |err| switch (err) {56 allocateSections(macho_file) catch |err| switch (err) {
58 error.LinkFailure => return error.LinkFailure,57 error.LinkFailure => |e| return e,
59 else => |e| return diags.fail("failed to allocate sections: {s}", .{@errorName(e)}),58 else => |e| return diags.fail("failed to allocate sections: {s}", .{@errorName(e)}),
60 };59 };
61 allocateSegment(macho_file);60 allocateSegment(macho_file);
src/link/SpirV.zig+1-1
...@@ -283,7 +283,7 @@ pub fn flush(...@@ -283,7 +283,7 @@ pub fn flush(
283 errdefer arena.free(module);283 errdefer arena.free(module);
284284
285 const linked_module = linkModule(arena, module, sub_prog_node) catch |err| switch (err) {285 const linked_module = linkModule(arena, module, sub_prog_node) catch |err| switch (err) {
286 error.OutOfMemory => return error.OutOfMemory,286 error.OutOfMemory => |e| return e,
287 else => |other| return diags.fail("error while linking: {s}", .{@errorName(other)}),287 else => |other| return diags.fail("error while linking: {s}", .{@errorName(other)}),
288 };288 };
289289
src/link/Wasm.zig+2-4
...@@ -3345,8 +3345,7 @@ pub fn updateLineNumber(wasm: *Wasm, pt: Zcu.PerThread, ti_id: InternPool.Tracke...@@ -3345,8 +3345,7 @@ pub fn updateLineNumber(wasm: *Wasm, pt: Zcu.PerThread, ti_id: InternPool.Tracke
3345 const diags = &comp.link_diags;3345 const diags = &comp.link_diags;
3346 if (wasm.dwarf) |*dw| {3346 if (wasm.dwarf) |*dw| {
3347 dw.updateLineNumber(pt.zcu, ti_id) catch |err| switch (err) {3347 dw.updateLineNumber(pt.zcu, ti_id) catch |err| switch (err) {
3348 error.Overflow => return error.Overflow,3348 error.Overflow, error.OutOfMemory => |e| return e,
3349 error.OutOfMemory => return error.OutOfMemory,
3350 else => |e| return diags.fail("failed to update dwarf line numbers: {s}", .{@errorName(e)}),3349 else => |e| return diags.fail("failed to update dwarf line numbers: {s}", .{@errorName(e)}),
3351 };3350 };
3352 }3351 }
...@@ -3873,8 +3872,7 @@ pub fn flush(...@@ -3873,8 +3872,7 @@ pub fn flush(
3873 try wasm.flush_buffer.data_imports.reinit(gpa, wasm.data_imports.keys(), wasm.data_imports.values());3872 try wasm.flush_buffer.data_imports.reinit(gpa, wasm.data_imports.keys(), wasm.data_imports.values());
38743873
3875 return wasm.flush_buffer.finish(wasm) catch |err| switch (err) {3874 return wasm.flush_buffer.finish(wasm) catch |err| switch (err) {
3876 error.OutOfMemory => return error.OutOfMemory,3875 error.OutOfMemory, error.LinkFailure => |e| return e,
3877 error.LinkFailure => return error.LinkFailure,
3878 else => |e| return diags.fail("failed to flush wasm: {s}", .{@errorName(e)}),3876 else => |e| return diags.fail("failed to flush wasm: {s}", .{@errorName(e)}),
3879 };3877 };
3880}3878}
src/main.zig+1-1
...@@ -4205,7 +4205,7 @@ fn createModule(...@@ -4205,7 +4205,7 @@ fn createModule(
4205 error.StackCheckUnsupportedByTarget => fatal("unable to create module '{s}': the selected target does not support stack checking", .{name}),4205 error.StackCheckUnsupportedByTarget => fatal("unable to create module '{s}': the selected target does not support stack checking", .{name}),
4206 error.StackProtectorUnsupportedByTarget => fatal("unable to create module '{s}': the selected target does not support stack protection", .{name}),4206 error.StackProtectorUnsupportedByTarget => fatal("unable to create module '{s}': the selected target does not support stack protection", .{name}),
4207 error.StackProtectorUnavailableWithoutLibC => fatal("unable to create module '{s}': enabling stack protection requires libc", .{name}),4207 error.StackProtectorUnavailableWithoutLibC => fatal("unable to create module '{s}': enabling stack protection requires libc", .{name}),
4208 error.OutOfMemory => return error.OutOfMemory,4208 error.OutOfMemory => |e| return e,
4209 };4209 };
4210 cli_mod.resolved = mod;4210 cli_mod.resolved = mod;
42114211
src/print_targets.zig+1-1
...@@ -31,7 +31,7 @@ pub fn cmdTargets(...@@ -31,7 +31,7 @@ pub fn cmdTargets(
31 allocator,31 allocator,
32 .limited(glibc.abilists_max_size),32 .limited(glibc.abilists_max_size),
33 ) catch |err| switch (err) {33 ) catch |err| switch (err) {
34 error.OutOfMemory => return error.OutOfMemory,34 error.OutOfMemory => |e| return e,
35 else => fatal("unable to read " ++ glibc.abilists_path ++ ": {t}", .{err}),35 else => fatal("unable to read " ++ glibc.abilists_path ++ ": {t}", .{err}),
36 };36 };
37 defer allocator.free(abilists_contents);37 defer allocator.free(abilists_contents);