Visitar URL original
Merge pull request #7659 from youdie006/int-mod-zero · mruby/mruby@1d52538 · GitHub
Skip to content

Commit 1d52538

Browse files
authored
Merge pull request #7659 from youdie006/int-mod-zero
numeric.c: raise ZeroDivisionError for 0 % 0
2 parents 56c25bf + 80747a5 commit 1d52538

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

‎src/numeric.c‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1368,7 +1368,6 @@ int_mod(mrb_state *mrb, mrb_value x)
13681368
}
13691369
#endif
13701370
a = mrb_integer(x);
1371-
if (a == 0) return x;
13721371
if (mrb_integer_p(y)) {
13731372
b = mrb_integer(y);
13741373
if (b == 0) mrb_int_zerodiv(mrb);

‎test/t/integer.rb‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,13 @@
7676
assert_equal 0, g
7777
assert_equal 0, h
7878
assert_equal 0, i
79+
assert_raise(ZeroDivisionError) { 0%0 }
7980
skip unless Object.const_defined?(:Float)
8081
j = 1%1.0
8182
assert_equal 0.0, j
83+
assert_equal 0.0, 0%2.5
84+
assert_kind_of Float, 0%2.5
85+
assert_raise(ZeroDivisionError) { 0%0.0 }
8286
end
8387

8488
assert('Integer#<=>', '15.2.9.3.6') do

0 commit comments

Comments
 (0)