authorgravatar for justus@klausecker.deJustus Klausecker <justus@klausecker.de> 2026-01-10 18:18:48+01:00
committergravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-01-11 11:37:18+00:00
log078e100573443488837e317b64bf00c704ee2a46
treeebabe75f9d949b9d5d6e9937261d890fc75f7b40
parentdbfeade22114d03c5f6dbf1f3f1d5946a10877a7
signaturelock-open Commit is signed but in an unrecognized format.

wasm: fix getting pointer type instead of error union type for `is_err_ptr`


1 files changed, 4 insertions(+), 1 deletions(-)

src/codegen/wasm/CodeGen.zig+4-1
...@@ -4114,7 +4114,10 @@ fn airIsErr(cg: *CodeGen, inst: Air.Inst.Index, opcode: std.wasm.Opcode, op_kind...@@ -4114,7 +4114,10 @@ fn airIsErr(cg: *CodeGen, inst: Air.Inst.Index, opcode: std.wasm.Opcode, op_kind
4114 const zcu = cg.pt.zcu;4114 const zcu = cg.pt.zcu;
4115 const un_op = cg.air.instructions.items(.data)[@intFromEnum(inst)].un_op;4115 const un_op = cg.air.instructions.items(.data)[@intFromEnum(inst)].un_op;
4116 const operand = try cg.resolveInst(un_op);4116 const operand = try cg.resolveInst(un_op);
4117 const err_union_ty = cg.typeOf(un_op);4117 const err_union_ty = switch (op_kind) {
4118 .value => cg.typeOf(un_op),
4119 .ptr => cg.typeOf(un_op).childType(zcu),
4120 };
4118 const pl_ty = err_union_ty.errorUnionPayload(zcu);4121 const pl_ty = err_union_ty.errorUnionPayload(zcu);
41194122
4120 const result: WValue = result: {4123 const result: WValue = result: {