update std lib and compiler sources to new for loop syntax
This commit is contained in:
@@ -82,7 +82,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
alignment: usize,
|
||||
};
|
||||
var data: [fields.len]Data = undefined;
|
||||
for (fields) |field_info, i| {
|
||||
for (fields, 0..) |field_info, i| {
|
||||
data[i] = .{
|
||||
.size = @sizeOf(field_info.type),
|
||||
.size_index = i,
|
||||
@@ -98,7 +98,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
std.sort.sort(Data, &data, {}, Sort.lessThan);
|
||||
var sizes_bytes: [fields.len]usize = undefined;
|
||||
var field_indexes: [fields.len]usize = undefined;
|
||||
for (data) |elem, i| {
|
||||
for (data, 0..) |elem, i| {
|
||||
sizes_bytes[i] = elem.size;
|
||||
field_indexes[i] = elem.size_index;
|
||||
}
|
||||
@@ -131,7 +131,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
.capacity = self.capacity,
|
||||
};
|
||||
var ptr: [*]u8 = self.bytes;
|
||||
for (sizes.bytes) |field_size, i| {
|
||||
for (sizes.bytes, 0..) |field_size, i| {
|
||||
result.ptrs[sizes.fields[i]] = ptr;
|
||||
ptr += field_size * self.capacity;
|
||||
}
|
||||
@@ -148,7 +148,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
/// Overwrite one array element with new data.
|
||||
pub fn set(self: *Self, index: usize, elem: S) void {
|
||||
const slices = self.slice();
|
||||
inline for (fields) |field_info, i| {
|
||||
inline for (fields, 0..) |field_info, i| {
|
||||
slices.items(@intToEnum(Field, i))[index] = @field(elem, field_info.name);
|
||||
}
|
||||
}
|
||||
@@ -157,7 +157,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
pub fn get(self: Self, index: usize) S {
|
||||
const slices = self.slice();
|
||||
var result: S = undefined;
|
||||
inline for (fields) |field_info, i| {
|
||||
inline for (fields, 0..) |field_info, i| {
|
||||
@field(result, field_info.name) = slices.items(@intToEnum(Field, i))[index];
|
||||
}
|
||||
return result;
|
||||
@@ -230,7 +230,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
assert(index <= self.len);
|
||||
self.len += 1;
|
||||
const slices = self.slice();
|
||||
inline for (fields) |field_info, field_index| {
|
||||
inline for (fields, 0..) |field_info, field_index| {
|
||||
const field_slice = slices.items(@intToEnum(Field, field_index));
|
||||
var i: usize = self.len - 1;
|
||||
while (i > index) : (i -= 1) {
|
||||
@@ -245,7 +245,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
/// retain list ordering.
|
||||
pub fn swapRemove(self: *Self, index: usize) void {
|
||||
const slices = self.slice();
|
||||
inline for (fields) |_, i| {
|
||||
inline for (fields, 0..) |_, i| {
|
||||
const field_slice = slices.items(@intToEnum(Field, i));
|
||||
field_slice[index] = field_slice[self.len - 1];
|
||||
field_slice[self.len - 1] = undefined;
|
||||
@@ -257,7 +257,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
/// after it to preserve order.
|
||||
pub fn orderedRemove(self: *Self, index: usize) void {
|
||||
const slices = self.slice();
|
||||
inline for (fields) |_, field_index| {
|
||||
inline for (fields, 0..) |_, field_index| {
|
||||
const field_slice = slices.items(@intToEnum(Field, field_index));
|
||||
var i = index;
|
||||
while (i < self.len - 1) : (i += 1) {
|
||||
@@ -293,7 +293,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
capacityInBytes(new_len),
|
||||
) catch {
|
||||
const self_slice = self.slice();
|
||||
inline for (fields) |field_info, i| {
|
||||
inline for (fields, 0..) |field_info, i| {
|
||||
if (@sizeOf(field_info.type) != 0) {
|
||||
const field = @intToEnum(Field, i);
|
||||
const dest_slice = self_slice.items(field)[new_len..];
|
||||
@@ -315,7 +315,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
self.len = new_len;
|
||||
const self_slice = self.slice();
|
||||
const other_slice = other.slice();
|
||||
inline for (fields) |field_info, i| {
|
||||
inline for (fields, 0..) |field_info, i| {
|
||||
if (@sizeOf(field_info.type) != 0) {
|
||||
const field = @intToEnum(Field, i);
|
||||
mem.copy(field_info.type, other_slice.items(field), self_slice.items(field));
|
||||
@@ -376,7 +376,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
};
|
||||
const self_slice = self.slice();
|
||||
const other_slice = other.slice();
|
||||
inline for (fields) |field_info, i| {
|
||||
inline for (fields, 0..) |field_info, i| {
|
||||
if (@sizeOf(field_info.type) != 0) {
|
||||
const field = @intToEnum(Field, i);
|
||||
mem.copy(field_info.type, other_slice.items(field), self_slice.items(field));
|
||||
@@ -395,7 +395,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
result.len = self.len;
|
||||
const self_slice = self.slice();
|
||||
const result_slice = result.slice();
|
||||
inline for (fields) |field_info, i| {
|
||||
inline for (fields, 0..) |field_info, i| {
|
||||
if (@sizeOf(field_info.type) != 0) {
|
||||
const field = @intToEnum(Field, i);
|
||||
mem.copy(field_info.type, result_slice.items(field), self_slice.items(field));
|
||||
@@ -412,7 +412,7 @@ pub fn MultiArrayList(comptime S: type) type {
|
||||
slice: Slice,
|
||||
|
||||
pub fn swap(sc: @This(), a_index: usize, b_index: usize) void {
|
||||
inline for (fields) |field_info, i| {
|
||||
inline for (fields, 0..) |field_info, i| {
|
||||
if (@sizeOf(field_info.type) != 0) {
|
||||
const field = @intToEnum(Field, i);
|
||||
const ptr = sc.slice.items(field);
|
||||
|
||||
Reference in New Issue
Block a user