diff options
Diffstat (limited to 'src/codegen.zig')
| -rw-r--r-- | src/codegen.zig | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index 078feb409d..912bf03609 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -1156,11 +1156,13 @@ pub fn genTypedValue( const target = bin_file.options.target; const ptr_bits = target.cpu.arch.ptrBitWidth(); - if (typed_value.val.castTag(.decl_ref)) |payload| { - return genDeclRef(bin_file, src_loc, typed_value, payload.data); - } - if (typed_value.val.castTag(.decl_ref_mut)) |payload| { - return genDeclRef(bin_file, src_loc, typed_value, payload.data.decl_index); + if (!typed_value.ty.isSlice()) { + if (typed_value.val.castTag(.decl_ref)) |payload| { + return genDeclRef(bin_file, src_loc, typed_value, payload.data); + } + if (typed_value.val.castTag(.decl_ref_mut)) |payload| { + return genDeclRef(bin_file, src_loc, typed_value, payload.data.decl_index); + } } switch (typed_value.ty.zigTypeTag()) { |
