summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/bigdecimal/bigdecimal.c14
-rw-r--r--ext/bigdecimal/bigdecimal.gemspec2
-rw-r--r--test/bigdecimal/test_bigdecimal.rb14
3 files changed, 11 insertions, 19 deletions
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c
index fcc29a0865..cdd00388d4 100644
--- a/ext/bigdecimal/bigdecimal.c
+++ b/ext/bigdecimal/bigdecimal.c
@@ -2602,7 +2602,7 @@ static Real *BigDecimal_new(int argc, VALUE *argv);
static VALUE
BigDecimal_s_new(int argc, VALUE *argv, VALUE self)
{
- rb_warning("BigDecimal.new is deprecated");
+ rb_warning("BigDecimal.new is deprecated; use Kernel.BigDecimal method instead.");
return rb_call_super(argc, argv);
}
@@ -2645,15 +2645,7 @@ BigDecimal_initialize_copy(VALUE self, VALUE other)
static VALUE
BigDecimal_clone(VALUE self)
{
- rb_warning("BigDecimal#clone is deprecated.");
- return rb_call_super(0, NULL);
-}
-
-static VALUE
-BigDecimal_dup(VALUE self)
-{
- rb_warning("BigDecimal#dup is deprecated.");
- return rb_call_super(0, NULL);
+ return self;
}
static Real *
@@ -3449,7 +3441,7 @@ Init_bigdecimal(void)
rb_define_method(rb_cBigDecimal, "remainder", BigDecimal_remainder, 1);
rb_define_method(rb_cBigDecimal, "divmod", BigDecimal_divmod, 1);
rb_define_method(rb_cBigDecimal, "clone", BigDecimal_clone, 0);
- rb_define_method(rb_cBigDecimal, "dup", BigDecimal_dup, 0);
+ rb_define_method(rb_cBigDecimal, "dup", BigDecimal_clone, 0);
rb_define_method(rb_cBigDecimal, "to_f", BigDecimal_to_f, 0);
rb_define_method(rb_cBigDecimal, "abs", BigDecimal_abs, 0);
rb_define_method(rb_cBigDecimal, "sqrt", BigDecimal_sqrt, 1);
diff --git a/ext/bigdecimal/bigdecimal.gemspec b/ext/bigdecimal/bigdecimal.gemspec
index c1f7da493b..c8c90870ea 100644
--- a/ext/bigdecimal/bigdecimal.gemspec
+++ b/ext/bigdecimal/bigdecimal.gemspec
@@ -1,6 +1,6 @@
# coding: utf-8
-bigdecimal_version = '1.3.3'
+bigdecimal_version = '1.3.4'
Gem::Specification.new do |s|
s.name = "bigdecimal"
diff --git a/test/bigdecimal/test_bigdecimal.rb b/test/bigdecimal/test_bigdecimal.rb
index 6d0430dfc7..595783c63d 100644
--- a/test/bigdecimal/test_bigdecimal.rb
+++ b/test/bigdecimal/test_bigdecimal.rb
@@ -2,8 +2,6 @@
require_relative "testbase"
require 'bigdecimal/math'
-require 'thread'
-
class TestBigDecimal < Test::Unit::TestCase
include TestBigDecimalBase
@@ -1777,25 +1775,27 @@ class TestBigDecimal < Test::Unit::TestCase
end
def test_clone
- assert_warning(/BigDecimal#clone is deprecated/) do
- BigDecimal(0).clone
+ assert_warning(/^$/) do
+ x = BigDecimal(0)
+ assert_same(x, x.clone)
end
end
def test_dup
- assert_warning(/BigDecimal#dup is deprecated/) do
+ assert_warning(/^$/) do
[1, -1, 2**100, -2**100].each do |i|
x = BigDecimal(i)
- assert_equal(x, x.dup)
+ assert_same(x, x.dup)
end
end
end
def test_dup_subclass
- assert_warning(/BigDecimal#dup is deprecated/) do
+ assert_warning(/BigDecimal\.new is deprecated/) do
c = Class.new(BigDecimal)
x = c.new(1)
y = x.dup
+ assert_same(x, y)
assert_equal(1, y)
assert_kind_of(c, y)
end