stage2: make array len field type usize to match stage1

match stage1 behavior to avoid issues in standard library.
This commit is contained in:
Veikka Tuominen 2022-02-24 22:55:42 +02:00
parent 0147eb9b58
commit 73bf418eb1

View File

@ -13732,7 +13732,7 @@ fn fieldVal(
.Array => {
if (mem.eql(u8, field_name, "len")) {
return sema.addConstant(
Type.comptime_int,
Type.usize,
try Value.Tag.int_u64.create(arena, inner_ty.arrayLen()),
);
} else {
@ -13770,7 +13770,7 @@ fn fieldVal(
} else if (ptr_info.pointee_type.zigTypeTag() == .Array) {
if (mem.eql(u8, field_name, "len")) {
return sema.addConstant(
Type.comptime_int,
Type.usize,
try Value.Tag.int_u64.create(arena, ptr_info.pointee_type.arrayLen()),
);
} else {
@ -13913,7 +13913,7 @@ fn fieldPtr(
var anon_decl = try block.startAnonDecl(src);
defer anon_decl.deinit();
return sema.analyzeDeclRef(try anon_decl.finish(
Type.initTag(.comptime_int),
Type.usize,
try Value.Tag.int_u64.create(anon_decl.arena(), inner_ty.arrayLen()),
));
} else {