parent
a489ea0b2f
commit
2e1bdd0d14
|
@ -26718,7 +26718,7 @@ static IrInstGen *ir_analyze_instruction_float_cast(IrAnalyze *ira, IrInstSrcFlo
|
|||
}
|
||||
|
||||
if (instr_is_comptime(target) || dest_type->id == ZigTypeIdComptimeFloat) {
|
||||
return ir_implicit_cast2(ira, &instruction->target->base, target, dest_type);
|
||||
return ir_analyze_widen_or_shorten(ira, &instruction->target->base, target, dest_type);
|
||||
}
|
||||
|
||||
if (target->value->type->id != ZigTypeIdFloat) {
|
||||
|
|
|
@ -384,6 +384,19 @@ test "@intCast i32 to u7" {
|
|||
expect(z == 0xff);
|
||||
}
|
||||
|
||||
test "@floatCast cast down" {
|
||||
{
|
||||
var double: f64 = 0.001534;
|
||||
var single = @floatCast(f32, double);
|
||||
expect(@TypeOf(single) == f32);
|
||||
}
|
||||
{
|
||||
const double: f64 = 0.001534;
|
||||
const single = @floatCast(f32, double);
|
||||
expect(@TypeOf(single) == f32);
|
||||
}
|
||||
}
|
||||
|
||||
test "implicit cast undefined to optional" {
|
||||
expect(MakeType(void).getNull() == null);
|
||||
expect(MakeType(void).getNonNull() != null);
|
||||
|
|
Loading…
Reference in New Issue