pub fn FixedVec(comptime T: type, comptime N: usize) type { return struct { data: [N]T = undefined, len: usize = 0, pub fn push(self: *@This(), value: T) void { if (self.len + 1 >= self.data.len) { @panic("Fixed vector overflowed"); } self.data[self.len] = value; self.len += 1; } pub fn asConstSlice(self: *const @This()) []const T { return self.data[0..self.len]; } }; }