authorgravatar for adria.arrufat@gmail.comAdrià Arrufat <adria.arrufat@gmail.com> 2026-03-20 16:44:23+09:00
committergravatar for adria.arrufat@gmail.comAdrià Arrufat <adria.arrufat@gmail.com> 2026-03-20 16:44:23+09:00
log77be7d36aa9e52a9fa045acf927b1d422c4e344b
treecc7b7987c2c52232cad3d0abaa49113ff54ee4e8
parent911f411886cd740db4939adb9eec05cffb655df0

Sema: improve error for non-float operand in round cast


1 files changed, 9 insertions(+), 1 deletions(-)

src/Sema.zig+9-1
...@@ -20881,7 +20881,15 @@ fn zirRoundCast(...@@ -20881,7 +20881,15 @@ fn zirRoundCast(
20881 const dest_scalar_ty = dest_ty.scalarType(zcu);20881 const dest_scalar_ty = dest_ty.scalarType(zcu);
20882 const operand_scalar_ty = operand_ty.scalarType(zcu);20882 const operand_scalar_ty = operand_ty.scalarType(zcu);
2088320883
20884 try sema.checkFloatType(block, operand_src, operand_scalar_ty);20884 switch (operand_scalar_ty.zigTypeTag(zcu)) {
20885 .comptime_float, .float => {},
20886 else => return sema.fail(
20887 block,
20888 operand_src,
20889 "expected float or vector type, found '{f}'",
20890 .{operand_ty.fmt(pt)},
20891 ),
20892 }
2088520893
20886 switch (dest_scalar_ty.zigTypeTag(zcu)) {20894 switch (dest_scalar_ty.zigTypeTag(zcu)) {
20887 .float, .comptime_float => {20895 .float, .comptime_float => {