| ... | ... | @@ -21697,6 +21697,9 @@ static IrInstGen *ir_analyze_struct_field_ptr(IrAnalyze *ira, IrInst* source_ins |
| 21697 | 21697 | if (field->is_comptime) { |
| 21698 | 21698 | IrInstGen *elem = ir_const(ira, source_instr, field_type); |
| 21699 | 21699 | memoize_field_init_val(ira->codegen, struct_type, field); |
| 21700 | if(field->init_val != nullptr && type_is_invalid(field->init_val->type)){ |
| 21701 | return ira->codegen->invalid_inst_gen; |
| 21702 | } |
| 21700 | 21703 | copy_const_val(ira->codegen, elem->value, field->init_val); |
| 21701 | 21704 | return ir_get_ref2(ira, source_instr, elem, field_type, true, false); |
| 21702 | 21705 | } |
| ... | ... | @@ -25053,6 +25056,9 @@ static Error ir_make_type_info_value(IrAnalyze *ira, IrInst* source_instr, ZigTy |
| 25053 | 25056 | inner_fields[3]->type = get_optional_type2(ira->codegen, struct_field->type_entry); |
| 25054 | 25057 | if (inner_fields[3]->type == nullptr) return ErrorSemanticAnalyzeFail; |
| 25055 | 25058 | memoize_field_init_val(ira->codegen, type_entry, struct_field); |
| 25059 | if(struct_field->init_val != nullptr && type_is_invalid(struct_field->init_val->type)){ |
| 25060 | return ErrorSemanticAnalyzeFail; |
| 25061 | } |
| 25056 | 25062 | set_optional_payload(inner_fields[3], struct_field->init_val); |
| 25057 | 25063 | |
| 25058 | 25064 | ZigValue *name = create_const_str_lit(ira->codegen, struct_field->name)->data.x_ptr.data.ref.pointee; |