Zig Version
0.17.0-dev.813+2153f8143
Steps to Reproduce, Observed Behavior, and Expected Behavior
const std = @import("std");
pub fn main() void {
const addr = std.math.maxInt(usize) - 7;
const alignment = 16;
const result = std.mem.alignForward(usize, addr, alignment);
std.debug.print("{}", .{result});
}
zig run a.zig
thread 1604028 panic: integer overflow
/opt/homebrew/Cellar/zig-dev/0.17.0-dev.813+2153f8143/lib/zig/std/mem.zig:4740:34: 0x104557a4f in alignForward__anon_8279 (a)
return alignBackward(T, addr + (alignment - 1), alignment);
^
/Users/by/project/zig/zig/a.zig:7:40: 0x10463b187 in main (a)
const result = std.mem.alignForward(usize, addr, alignment);
^
/opt/homebrew/Cellar/zig-dev/0.17.0-dev.813+2153f8143/lib/zig/std/start.zig:739:64: 0x10463b103 in callMain (a)
if (fn_info.param_types.len == 0) return wrapMain(root.main());
^
???:?:?: 0x18f48bdff in start (/usr/lib/dyld)
fish: Job 1, 'zig run a.zig' terminated by signal SIGABRT (Abort)