aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2025-01-05 11:41:13 +0000
committerMatthew Lugg <mlugg@mlugg.co.uk>2025-01-05 19:38:19 +0000
commit137787edbb1320ce50bd4193d69f21ffaf8593e8 (patch)
tree01f466adf6a09cb802d5b7e1bb3a94c1320f362d /src
parent82e7f23c49be10ce74cb1a951aa7cb77799c2798 (diff)
downloadzig-137787edbb1320ce50bd4193d69f21ffaf8593e8.tar.gz
zig-137787edbb1320ce50bd4193d69f21ffaf8593e8.zip
Sema: fix incorrect type in `optional_payload` instruction
Resolves: #22417
Diffstat (limited to 'src')
-rw-r--r--src/Sema.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index 513fcb9df4..13b823e97d 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -32735,7 +32735,8 @@ fn analyzeOptionalSlicePtr(
) CompileError!Air.Inst.Ref {
const pt = sema.pt;
const zcu = pt.zcu;
- const result_ty = opt_slice_ty.optionalChild(zcu).slicePtrFieldType(zcu);
+ const slice_ty = opt_slice_ty.optionalChild(zcu);
+ const result_ty = slice_ty.slicePtrFieldType(zcu);
if (try sema.resolveValue(opt_slice)) |opt_val| {
if (opt_val.isUndef(zcu)) return pt.undefRef(result_ty);
@@ -32749,7 +32750,7 @@ fn analyzeOptionalSlicePtr(
try sema.requireRuntimeBlock(block, opt_slice_src, null);
- const slice = try block.addTyOp(.optional_payload, opt_slice_ty, opt_slice);
+ const slice = try block.addTyOp(.optional_payload, slice_ty, opt_slice);
return block.addTyOp(.slice_ptr, result_ty, slice);
}