diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | complex.c | 7 | ||||
-rw-r--r-- | test/ruby/test_complex.rb | 10 |
3 files changed, 10 insertions, 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"); diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb index 7d4358c087..a510a07dfa 100644 --- a/test/ruby/test_complex.rb +++ b/test/ruby/test_complex.rb @@ -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 |