authorgravatar for mitchell.hashimoto@gmail.comMitchell Hashimoto <mitchell.hashimoto@gmail.com> 2022-03-11 09:36:57-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-03-11 17:15:36-05:00
log797f4db227dcdbe48ffb309763a48fbe6eaf5935
tree7acc78e9d245c095497c341e1cd54e1a44d608fd
parent79b169c5a564978dbbbb6253f847c2d9b1734e22

stage2: Array len field should be a usize not comptime_int


2 files changed, 4 insertions(+), 3 deletions(-)

src/Sema.zig+3-3
......@@ -14948,7 +14948,7 @@ fn fieldVal(
1494814948 .Array => {
1494914949 if (mem.eql(u8, field_name, "len")) {
1495014950 return sema.addConstant(
14951 Type.comptime_int,
14951 Type.usize,
1495214952 try Value.Tag.int_u64.create(arena, inner_ty.arrayLen()),
1495314953 );
1495414954 } else {
......@@ -14986,7 +14986,7 @@ fn fieldVal(
1498614986 } else if (ptr_info.pointee_type.zigTypeTag() == .Array) {
1498714987 if (mem.eql(u8, field_name, "len")) {
1498814988 return sema.addConstant(
14989 Type.comptime_int,
14989 Type.usize,
1499014990 try Value.Tag.int_u64.create(arena, ptr_info.pointee_type.arrayLen()),
1499114991 );
1499214992 } else {
......@@ -15131,7 +15131,7 @@ fn fieldPtr(
1513115131 var anon_decl = try block.startAnonDecl(src);
1513215132 defer anon_decl.deinit();
1513315133 return sema.analyzeDeclRef(try anon_decl.finish(
15134 Type.initTag(.comptime_int),
15134 Type.usize,
1513515135 try Value.Tag.int_u64.create(anon_decl.arena(), inner_ty.arrayLen()),
1513615136 ));
1513715137 } else {
test/behavior/array.zig+1
......@@ -104,6 +104,7 @@ test "array len field" {
104104 comptime try expect(arr.len == 4);
105105 try expect(ptr.len == 4);
106106 comptime try expect(ptr.len == 4);
107 try expect(@TypeOf(arr.len) == usize);
107108}
108109
109110test "array with sentinels" {