| ... | @@ -9573,6 +9573,21 @@ static ZigType *ir_resolve_peer_types(IrAnalyze *ira, AstNode *source_node, ZigT | ... | @@ -9573,6 +9573,21 @@ static ZigType *ir_resolve_peer_types(IrAnalyze *ira, AstNode *source_node, ZigT |
| 9573 | continue; | 9573 | continue; |
| 9574 | } | 9574 | } |
| 9575 | | 9575 | |
| | 9576 | if (prev_type->id == ZigTypeIdEnum && cur_type->id == ZigTypeIdEnumLiteral) { |
| | 9577 | TypeEnumField *field = find_enum_type_field(prev_type, cur_inst->value.data.x_enum_literal); |
| | 9578 | if (field != nullptr) { |
| | 9579 | continue; |
| | 9580 | } |
| | 9581 | } |
| | 9582 | |
| | 9583 | if (cur_type->id == ZigTypeIdEnum && prev_type->id == ZigTypeIdEnumLiteral) { |
| | 9584 | TypeEnumField *field = find_enum_type_field(cur_type, prev_inst->value.data.x_enum_literal); |
| | 9585 | if (field != nullptr) { |
| | 9586 | prev_inst = cur_inst; |
| | 9587 | continue; |
| | 9588 | } |
| | 9589 | } |
| | 9590 | |
| 9576 | if (prev_type->id == ZigTypeIdPointer && prev_type->data.pointer.ptr_len == PtrLenC && | 9591 | if (prev_type->id == ZigTypeIdPointer && prev_type->data.pointer.ptr_len == PtrLenC && |
| 9577 | (cur_type->id == ZigTypeIdComptimeInt || cur_type->id == ZigTypeIdInt)) | 9592 | (cur_type->id == ZigTypeIdComptimeInt || cur_type->id == ZigTypeIdInt)) |
| 9578 | { | 9593 | { |