diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2025-01-05 11:41:13 +0000 |
|---|---|---|
| committer | Matthew Lugg <mlugg@mlugg.co.uk> | 2025-01-05 19:38:19 +0000 |
| commit | 137787edbb1320ce50bd4193d69f21ffaf8593e8 (patch) | |
| tree | 01f466adf6a09cb802d5b7e1bb3a94c1320f362d /src | |
| parent | 82e7f23c49be10ce74cb1a951aa7cb77799c2798 (diff) | |
| download | zig-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.zig | 5 |
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); } |
