From 4ddb283ecc975d6d9aae9177d0423de2946ce58e Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Fri, 28 Apr 2023 18:39:39 -0700 Subject: [PATCH] add Object.Id.erase() to get the underlying Id regardless of Type --- git.zig | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/git.zig b/git.zig index 1a7aea8f3d6785b5866c1109cb62ca29f20d4a93..3597ec55b14215d6563c914db2e4bedd9cd8ba25 100644 --- a/git.zig +++ b/git.zig @@ -1,5 +1,6 @@ const std = @import("std"); const string = []const u8; +const top = @This(); // 40 is length of sha1 hash pub const Id = *const [40]u8; @@ -147,6 +148,12 @@ pub const Tree = struct { commit: CommitId, pub const Tag = std.meta.Tag(@This()); + + pub fn erase(self: @This()) top.Id { + return switch (self) { + inline else => |v| v.id, + }; + } }; pub const Mode = struct { -- 2.54.0