{Fixnum,Bignum}#-@ is unified into Integer.

* numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into
  Integer.

* bignum.c (rb_big_uminus): Don't define Bignum#-@.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2016-04-30 06:30:08 +00:00
parent 73dd745cf1
commit ae225a2ca8
3 changed files with 12 additions and 12 deletions

View File

@ -1,3 +1,10 @@
Sat Apr 30 15:29:24 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into
Integer.
* bignum.c (rb_big_uminus): Don't define Bignum#-@.
Sat Apr 30 14:42:20 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_idiv): {Fixnum,Bignum}#div is unified into

View File

@ -5529,13 +5529,6 @@ rb_big_eql(VALUE x, VALUE y)
return Qtrue;
}
/*
* call-seq:
* -big -> integer
*
* Unary minus (returns an integer whose value is 0-big)
*/
VALUE
rb_big_uminus(VALUE x)
{
@ -6890,7 +6883,6 @@ Init_Bignum(void)
rb_cBignum = rb_define_class("Bignum", rb_cInteger);
rb_define_method(rb_cBignum, "coerce", rb_big_coerce, 1);
rb_define_method(rb_cBignum, "-@", rb_big_uminus, 0);
rb_define_method(rb_cBignum, "+", rb_big_plus, 1);
rb_define_method(rb_cBignum, "-", rb_big_minus, 1);
rb_define_method(rb_cBignum, "*", rb_big_mul, 1);

View File

@ -3122,11 +3122,12 @@ int_ord(VALUE num)
/*
* Document-method: Fixnum#-@
* Document-method: Integer#-@
* call-seq:
* -fix -> integer
* -int -> integer
*
* Negates +fix+, which may return a Bignum.
* Negates +int+.
* (returns an integer whose value is 0-int)
*/
static VALUE
@ -4834,7 +4835,7 @@ Init_Numeric(void)
rb_cFixnum = rb_define_class("Fixnum", rb_cInteger);
rb_define_method(rb_cFixnum, "-@", fix_uminus, 0);
rb_define_method(rb_cFixnum, "-@", rb_int_uminus, 0);
rb_define_method(rb_cFixnum, "+", fix_plus, 1);
rb_define_method(rb_cFixnum, "-", fix_minus, 1);
rb_define_method(rb_cFixnum, "*", fix_mul, 1);