zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2092481265ce4f51529888690e648608dbae52c6 (tree)
parent 75f7a8913eb6c22a7d2d4514512adb6ef535bb47
Author: Jacob G-W <jacoblevgw@gmail.com>
Date:   Tue,  8 Jun 2021 22:05:03 -0400

stage2 astgen: fix bug in struct init where type not refed

Diffstat:
Msrc/AstGen.zig | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/AstGen.zig b/src/AstGen.zig @@ -1328,6 +1328,8 @@ fn structInitExpr( } switch (rl) { .discard => { + if (struct_init.ast.type_expr != 0) + _ = try typeExpr(gz, scope, struct_init.ast.type_expr); for (struct_init.ast.fields) |field_init| { _ = try expr(gz, scope, .discard, field_init); } @@ -1412,6 +1414,9 @@ fn structInitExprRlPtr( const field_ptr_list = try gpa.alloc(Zir.Inst.Index, struct_init.ast.fields.len); defer gpa.free(field_ptr_list); + if (struct_init.ast.type_expr != 0) + _ = try typeExpr(gz, scope, struct_init.ast.type_expr); + for (struct_init.ast.fields) |field_init, i| { const name_token = tree.firstToken(field_init) - 2; const str_index = try astgen.identAsString(name_token);