aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-07-27 15:25:21 +0300
committerVeikka Tuominen <git@vexu.eu>2022-07-27 18:27:17 +0300
commit793db63746ca044927743ee94405dad2a3f02fb8 (patch)
treeeba9986d8448894a37a262b0f4f790818c02690e /src/Sema.zig
parent3818d63dd8b29596e4c3d2499463b7519258a611 (diff)
downloadzig-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.zig5
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;
}