From 095d51164f53ee7f23aae9dbe08270eacf61d97b Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Thu, 28 Apr 2022 17:45:33 +0300 Subject: Sema: fix slice field modification at comptime --- src/value.zig | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/value.zig') diff --git a/src/value.zig b/src/value.zig index bb7b742290..7cd19c5d25 100644 --- a/src/value.zig +++ b/src/value.zig @@ -2542,6 +2542,15 @@ pub const Value = extern union { return 1; } }, + .decl_ref_mut => { + const decl_index = val.castTag(.decl_ref_mut).?.data.decl_index; + const decl = mod.declPtr(decl_index); + if (decl.ty.zigTypeTag() == .Array) { + return decl.ty.arrayLen(); + } else { + return 1; + } + }, else => unreachable, }; } @@ -5116,6 +5125,9 @@ pub const Value = extern union { ptr: Value, len: Value, }, + + pub const ptr_index = 0; + pub const len_index = 1; }; pub const Ty = struct { -- cgit v1.2.3