From d1b32fbed72c5f00aee812447664948c3eec7006 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Thu, 14 Jul 2022 17:11:10 -0700 Subject: [PATCH] add ensureFieldSubset --- src/lib.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib.zig b/src/lib.zig index 98894553e3e9a3807c1f5ef2afdc32c20ff92882..a9c7870e04019befc9988a5dbf596d0f80258f16 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -269,3 +269,9 @@ pub fn positionalInit(comptime T: type, args: FieldsTuple(T)) T { pub fn d2index(d1len: usize, d1: usize, d2: usize) usize { return (d1len * d2) + d1; } + +pub fn ensureFieldSubset(comptime L: type, comptime R: type) void { + for (std.meta.fields(L)) |item| { + if (!@hasField(R, item.name)) @compileError(std.fmt.comptimePrint("{s} is missing the {s} field from {s}", .{ R, item.name, L })); + } +} -- 2.54.0