Commit 0f7954831a

LemonBoy <thatlemon@gmail.com>
2020-12-05 18:58:54
stage1: Initialize single-element union tag correctly
Use the field value instead of defaulting to zero.
1 parent 865d6df
Changed files (1)
src
src/stage1/analyze.cpp
@@ -6113,7 +6113,7 @@ ZigValue *get_the_one_possible_value(CodeGen *g, ZigType *type_entry) {
         TypeUnionField *only_field = &union_type->data.unionation.fields[0];
         ZigType *field_type = resolve_union_field_type(g, only_field);
         assert(field_type);
-        bigint_init_unsigned(&result->data.x_union.tag, 0);
+        bigint_init_bigint(&result->data.x_union.tag, &only_field->enum_field->value);
         result->data.x_union.payload = g->pass1_arena->create<ZigValue>();
         copy_const_val(g, result->data.x_union.payload,
                 get_the_one_possible_value(g, field_type));