| ... | ... | @@ -9318,6 +9318,16 @@ void copy_const_val(ZigValue *dest, ZigValue *src) { |
| 9318 | 9318 | dest->data.x_struct.fields[i]->parent.data.p_struct.struct_val = dest; |
| 9319 | 9319 | dest->data.x_struct.fields[i]->parent.data.p_struct.field_index = i; |
| 9320 | 9320 | } |
| 9321 | } else if (dest->type->id == ZigTypeIdArray) { |
| 9322 | if (dest->data.x_array.special == ConstArraySpecialNone) { |
| 9323 | dest->data.x_array.data.s_none.elements = create_const_vals(dest->type->data.array.len); |
| 9324 | for (uint64_t i = 0; i < dest->type->data.array.len; i += 1) { |
| 9325 | copy_const_val(&dest->data.x_array.data.s_none.elements[i], &src->data.x_array.data.s_none.elements[i]); |
| 9326 | dest->data.x_array.data.s_none.elements[i].parent.id = ConstParentIdArray; |
| 9327 | dest->data.x_array.data.s_none.elements[i].parent.data.p_array.array_val = dest; |
| 9328 | dest->data.x_array.data.s_none.elements[i].parent.data.p_array.elem_index = i; |
| 9329 | } |
| 9330 | } |
| 9321 | 9331 | } else if (type_has_optional_repr(dest->type) && dest->data.x_optional != nullptr) { |
| 9322 | 9332 | dest->data.x_optional = create_const_vals(1); |
| 9323 | 9333 | copy_const_val(dest->data.x_optional, src->data.x_optional); |