| ... | @@ -665,3 +665,14 @@ pub fn OneBiggerInt(comptime T: type) type { | ... | @@ -665,3 +665,14 @@ pub fn OneBiggerInt(comptime T: type) type { |
| 665 | info.Int.bits += 1; | 665 | info.Int.bits += 1; |
| 666 | return @Type(info); | 666 | return @Type(info); |
| 667 | } | 667 | } |
| | 668 | |
| | 669 | pub fn ReverseFields(comptime T: type) type { |
| | 670 | var info = @typeInfo(T).Struct; |
| | 671 | const len = info.fields.len; |
| | 672 | var fields: [len]std.builtin.Type.StructField = undefined; |
| | 673 | for (0..len) |i| { |
| | 674 | fields[i] = info.fields[len - 1 - i]; |
| | 675 | } |
| | 676 | info.fields = &fields; |
| | 677 | return @Type(.{ .Struct = info }); |
| | 678 | } |