authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-05-05 13:26:01-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-06-10 20:42:28-07:00
log75cf06c187d9d0288c2ea31f34b18c3a7da4bd1d
treecc92e5708c46b8d9047d6ec52d32229b59b44f72
parent41cdcd5486ba10dcd21dc45cb8470c556b7497dd

std.mem.alignForwardGeneric: manually inline the assertions

This matches more directly the documentation comments, and makes it more obvious what went wrong when an assertion fails.

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

lib/std/mem.zig+2-1
...@@ -4226,7 +4226,8 @@ pub fn alignForwardLog2(addr: usize, log2_alignment: u8) usize {...@@ -4226,7 +4226,8 @@ pub fn alignForwardLog2(addr: usize, log2_alignment: u8) usize {
4226/// The alignment must be a power of 2 and greater than 0.4226/// The alignment must be a power of 2 and greater than 0.
4227/// Asserts that rounding up the address does not cause integer overflow.4227/// Asserts that rounding up the address does not cause integer overflow.
4228pub fn alignForwardGeneric(comptime T: type, addr: T, alignment: T) T {4228pub fn alignForwardGeneric(comptime T: type, addr: T, alignment: T) T {
4229 assert(isValidAlignGeneric(T, alignment));4229 assert(alignment > 0);
4230 assert(std.math.isPowerOfTwo(alignment));
4230 return alignBackwardGeneric(T, addr + (alignment - 1), alignment);4231 return alignBackwardGeneric(T, addr + (alignment - 1), alignment);
4231}4232}
42324233