mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
complex.c: undefine Comparable methods
* complex.c (Init_Complex): undefine methods inherited from Comparable, because Complex does not have <=> method. [Bug #12866] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
4065c38a6a
commit
052690309a
3 changed files with 10 additions and 13 deletions
|
@ -1,4 +1,8 @@
|
|||
Mon Oct 24 10:49:50 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
Mon Oct 24 10:51:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* complex.c (Init_Complex): undefine methods inherited from
|
||||
Comparable, because Complex does not have <=> method.
|
||||
[Bug #12866]
|
||||
|
||||
* class.c (rb_undef_methods_from): undefine methods defined in
|
||||
super from klass.
|
||||
|
|
|
@ -2227,14 +2227,9 @@ Init_Complex(void)
|
|||
|
||||
rb_define_global_function("Complex", nucomp_f_complex, -1);
|
||||
|
||||
rb_undef_methods_from(rb_cComplex, rb_mComparable);
|
||||
rb_undef_method(rb_cComplex, "%");
|
||||
rb_undef_method(rb_cComplex, "<");
|
||||
rb_undef_method(rb_cComplex, "<=");
|
||||
rb_undef_method(rb_cComplex, "<=>");
|
||||
rb_undef_method(rb_cComplex, ">");
|
||||
rb_undef_method(rb_cComplex, ">=");
|
||||
rb_undef_method(rb_cComplex, "between?");
|
||||
rb_undef_method(rb_cComplex, "clamp");
|
||||
rb_undef_method(rb_cComplex, "div");
|
||||
rb_undef_method(rb_cComplex, "divmod");
|
||||
rb_undef_method(rb_cComplex, "floor");
|
||||
|
|
|
@ -749,13 +749,7 @@ class Complex_Test < Test::Unit::TestCase
|
|||
def test_respond
|
||||
c = Complex(1,1)
|
||||
assert_not_respond_to(c, :%)
|
||||
assert_not_respond_to(c, :<)
|
||||
assert_not_respond_to(c, :<=)
|
||||
assert_not_respond_to(c, :<=>)
|
||||
assert_not_respond_to(c, :>)
|
||||
assert_not_respond_to(c, :>=)
|
||||
assert_not_respond_to(c, :between?)
|
||||
assert_not_respond_to(c, :clamp)
|
||||
assert_not_respond_to(c, :div)
|
||||
assert_not_respond_to(c, :divmod)
|
||||
assert_not_respond_to(c, :floor)
|
||||
|
@ -777,6 +771,10 @@ class Complex_Test < Test::Unit::TestCase
|
|||
assert_not_respond_to(c, :gcd)
|
||||
assert_not_respond_to(c, :lcm)
|
||||
assert_not_respond_to(c, :gcdlcm)
|
||||
|
||||
(Comparable.instance_methods(false) - Complex.instance_methods(false)).each do |n|
|
||||
assert_not_respond_to(c, n, "Complex##{n}")
|
||||
end
|
||||
end
|
||||
|
||||
def test_to_i
|
||||
|
|
Loading…
Add table
Reference in a new issue