diff --git a/lib/std/math.zig b/lib/std/math.zig index a66d47412d..4f640ef652 100644 --- a/lib/std/math.zig +++ b/lib/std/math.zig @@ -623,10 +623,7 @@ fn testDivFloor() void { pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T { @setRuntimeSafety(false); - if (!(comptime std.meta.trait.isNumber(T))) - @compileError("divCeil unsupported on " ++ @typeName(T)); - if (denominator == 0) - return error.DivisionByZero; + if (comptime std.meta.trait.isNumber(T) and denominator == 0) return error.DivisionByZero; const info = @typeInfo(T); switch (info) { .ComptimeFloat, .Float => return @ceil(numerator / denominator), @@ -640,7 +637,7 @@ pub fn divCeil(comptime T: type, numerator: T, denominator: T) !T { return @divFloor(numerator - 1, denominator) + 1; return @divTrunc(numerator, denominator); }, - else => unreachable, + else => @compileError("divCeil unsupported on " ++ @typeName(T)), } }