diff options
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index af3e3700d7..2c404c476e 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -22368,7 +22368,10 @@ fn zirErrorCast(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstData try sema.requireRuntimeBlock(block, src, operand_src); const err_int_ty = try mod.errorIntType(); - if (block.wantSafety() and !dest_ty.isAnyError(mod) and sema.mod.backendSupportsFeature(.error_set_has_value)) { + if (block.wantSafety() and !dest_ty.isAnyError(mod) and + dest_ty.toIntern() != .adhoc_inferred_error_set_type and + sema.mod.backendSupportsFeature(.error_set_has_value)) + { if (dest_tag == .ErrorUnion) { const err_code = try sema.analyzeErrUnionCode(block, operand_src, operand); const err_int = try block.addBitCast(err_int_ty, err_code); |
