aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-05-18 14:46:04 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-05-20 02:47:20 -0700
commit5626bb45d24cd4a57a4f6a1c0f41ec0feb276f7b (patch)
treeea4653e4d5d85451891f1c03fe6c4a00d22d4b2c /src/Sema.zig
parent58943fc6276c49b138c98bda5abac8be2806f94f (diff)
downloadzig-5626bb45d24cd4a57a4f6a1c0f41ec0feb276f7b.tar.gz
zig-5626bb45d24cd4a57a4f6a1c0f41ec0feb276f7b.zip
Sema: fix comptime `@floatCast` downcast
Diffstat (limited to 'src/Sema.zig')
-rw-r--r--src/Sema.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index b28536fe48..feed4d0e8a 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -7236,8 +7236,8 @@ fn zirFloatCast(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!A
),
}
- if (try sema.isComptimeKnown(block, operand_src, operand)) {
- return sema.coerce(block, dest_ty, operand, operand_src);
+ if (try sema.resolveMaybeUndefVal(block, operand_src, operand)) |operand_val| {
+ return sema.addConstant(dest_ty, try operand_val.floatCast(sema.arena, dest_ty, target));
}
if (dest_is_comptime_float) {
return sema.fail(block, src, "unable to cast runtime value to 'comptime_float'", .{});