Commit 75cf06c187

Andrew Kelley <andrew@ziglang.org>
2023-05-05 22:26:01
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 parent 41cdcd5
Changed files (1)
lib
lib/std/mem.zig
@@ -4226,7 +4226,8 @@ pub fn alignForwardLog2(addr: usize, log2_alignment: u8) usize {
 /// The alignment must be a power of 2 and greater than 0.
 /// Asserts that rounding up the address does not cause integer overflow.
 pub fn alignForwardGeneric(comptime T: type, addr: T, alignment: T) T {
-    assert(isValidAlignGeneric(T, alignment));
+    assert(alignment > 0);
+    assert(std.math.isPowerOfTwo(alignment));
     return alignBackwardGeneric(T, addr + (alignment - 1), alignment);
 }