diff --git a/build.zig.zon b/build.zig.zon index a55e9e9..e42a1f5 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = .zat, - .version = "0.3.5", + .version = "0.3.6", .fingerprint = 0x8da9db57ee82fbe4, .minimum_zig_version = "0.16.0-dev.3070+b22eb176b", .dependencies = .{ diff --git a/src/internal/repo/repo_verifier.zig b/src/internal/repo/repo_verifier.zig index dccef5f..e6b79ee 100644 --- a/src/internal/repo/repo_verifier.zig +++ b/src/internal/repo/repo_verifier.zig @@ -448,6 +448,7 @@ pub fn verifyCommitDiff( error.OutOfMemory, error.WriteFailed => return error.OutOfMemory, error.InversionMismatch => return error.InversionMismatch, error.PartialTree => return error.PartialTree, + else => return error.InvalidMstNode, }; } @@ -581,3 +582,9 @@ test "loadCommitFromCAR extracts commit fields" { // try std.testing.expect(result.record_count > 0); // std.debug.print("verified pfrazee.com: {d} records, rev={s}\n", .{ result.record_count, result.commit_rev }); // } + +test "verifyCommitDiff is semantically analyzed (error-set exhaustiveness)" { + // forces full body analysis so a non-exhaustive error switch (e.g. the + // invertOp catch) is caught here rather than only in a downstream consumer. + _ = &verifyCommitDiff; +}