From 54abdc5bce0b243601ef4808bce1c29e1a46cdec Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Wed, 9 Aug 2023 20:37:22 -0700 Subject: [PATCH] add ReverseFields --- src/lib.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/lib.zig b/src/lib.zig index 8ce19859c0cb966f3051dc6be4813d6e5bbceba7..32a8b6df707c50470ce4e8262b6f85d0a110e681 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -665,3 +665,14 @@ pub fn OneBiggerInt(comptime T: type) type { info.Int.bits += 1; return @Type(info); } + +pub fn ReverseFields(comptime T: type) type { + var info = @typeInfo(T).Struct; + const len = info.fields.len; + var fields: [len]std.builtin.Type.StructField = undefined; + for (0..len) |i| { + fields[i] = info.fields[len - 1 - i]; + } + info.fields = &fields; + return @Type(.{ .Struct = info }); +} -- 2.54.0