diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-07-27 15:25:21 +0300 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-07-27 18:27:17 +0300 |
| commit | 793db63746ca044927743ee94405dad2a3f02fb8 (patch) | |
| tree | eba9986d8448894a37a262b0f4f790818c02690e /src/Sema.zig | |
| parent | 3818d63dd8b29596e4c3d2499463b7519258a611 (diff) | |
| download | zig-793db63746ca044927743ee94405dad2a3f02fb8.tar.gz zig-793db63746ca044927743ee94405dad2a3f02fb8.zip | |
Sema: copy fn param ty in `zirTypeInfo`
Closes #12247
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index d20275302a..beb9a7e74c 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -5695,6 +5695,7 @@ fn analyzeCall( sema.inst_map.clearRetainingCapacity(); const decl = sema.mod.declPtr(block.src_decl); child_block.src_decl = block.src_decl; + arg_i = 0; try sema.analyzeInlineCallArg( block, &child_block, @@ -12864,7 +12865,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai else try Value.Tag.opt_payload.create( params_anon_decl.arena(), - try Value.Tag.ty.create(params_anon_decl.arena(), param_ty), + try Value.Tag.ty.create(params_anon_decl.arena(), try param_ty.copy(params_anon_decl.arena())), ); const param_fields = try params_anon_decl.arena().create([3]Value); @@ -26635,7 +26636,7 @@ fn getBuiltinType( ) CompileError!Type { const ty_inst = try sema.getBuiltin(block, src, name); const result_ty = try sema.analyzeAsType(block, src, ty_inst); - try sema.queueFullTypeResolution(result_ty); + try sema.resolveTypeFully(block, src, result_ty); // Should not fail return result_ty; } |
