| ... | ... | @@ -11995,10 +11995,18 @@ fn zirArrayCat(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 11995 | 11995 | const element_vals = try sema.arena.alloc(Value, final_len_including_sent); |
| 11996 | 11996 | var elem_i: usize = 0; |
| 11997 | 11997 | while (elem_i < lhs_len) : (elem_i += 1) { |
| 11998 | | element_vals[elem_i] = try lhs_sub_val.elemValue(sema.mod, sema.arena, elem_i); |
| 11998 | const elem_val = try lhs_sub_val.elemValue(sema.mod, sema.arena, elem_i); |
| 11999 | const elem_val_inst = try sema.addConstant(lhs_info.elem_type, elem_val); |
| 12000 | const coerced_elem_val_inst = try sema.coerce(block, resolved_elem_ty, elem_val_inst, .unneeded); |
| 12001 | const coereced_elem_val = try sema.resolveConstMaybeUndefVal(block, .unneeded, coerced_elem_val_inst, ""); |
| 12002 | element_vals[elem_i] = coereced_elem_val; |
| 11999 | 12003 | } |
| 12000 | 12004 | while (elem_i < result_len) : (elem_i += 1) { |
| 12001 | | element_vals[elem_i] = try rhs_sub_val.elemValue(sema.mod, sema.arena, elem_i - lhs_len); |
| 12005 | const elem_val = try rhs_sub_val.elemValue(sema.mod, sema.arena, elem_i - lhs_len); |
| 12006 | const elem_val_inst = try sema.addConstant(lhs_info.elem_type, elem_val); |
| 12007 | const coerced_elem_val_inst = try sema.coerce(block, resolved_elem_ty, elem_val_inst, .unneeded); |
| 12008 | const coereced_elem_val = try sema.resolveConstMaybeUndefVal(block, .unneeded, coerced_elem_val_inst, ""); |
| 12009 | element_vals[elem_i] = coereced_elem_val; |
| 12002 | 12010 | } |
| 12003 | 12011 | if (res_sent_val) |sent_val| { |
| 12004 | 12012 | element_vals[result_len] = sent_val; |