zig/test/cases/compile_errors/invalid_int_casts.zig
mlugg f26dda2117 all: migrate code to new cast builtin syntax
Most of this migration was performed automatically with `zig fmt`. There
were a few exceptions which I had to manually fix:

* `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten
* `@truncate`'s fixup is incorrect for vectors
* Test cases are not formatted, and their error locations change
2023-06-24 16:56:39 -07:00

26 lines
594 B
Zig

export fn foo() void {
var a: u32 = 2;
_ = @as(comptime_int, @intCast(a));
}
export fn bar() void {
var a: u32 = 2;
_ = @as(u32, @floatFromInt(a));
}
export fn baz() void {
var a: u32 = 2;
_ = @as(u32, @intFromFloat(a));
}
export fn qux() void {
var a: f32 = 2;
_ = @as(u32, @intCast(a));
}
// error
// backend=stage2
// target=native
//
// :3:36: error: unable to cast runtime value to 'comptime_int'
// :7:18: error: expected float type, found 'u32'
// :11:32: error: expected float type, found 'u32'
// :15:27: error: expected integer or vector, found 'f32'