aboutsummaryrefslogtreecommitdiffstats
path: root/rational.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-10-19 10:58:08 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-10-19 10:58:08 +0000
commitc9a38187dc3b9d159a45f771521e44187f995a1b (patch)
tree5b75416cb98cce2e74ffb3208027a8af8608ca37 /rational.c
parentfc6784d28d92fddb4167c585863385d4903fd8a1 (diff)
downloadruby-c9a38187dc3b9d159a45f771521e44187f995a1b.tar.gz
freeze Complex and Rational
* complex.c (nucomp_s_new_internal, nucomp_loader): Complex instances are always frozen now. [Feature #13983] * rational.c (nurat_s_new_internal, nurat_loader): Rational instances are always frozen now. [Feature #13983] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'rational.c')
-rw-r--r--rational.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/rational.c b/rational.c
index ce95facda0..0617fd7327 100644
--- a/rational.c
+++ b/rational.c
@@ -410,6 +410,7 @@ nurat_s_new_internal(VALUE klass, VALUE num, VALUE den)
RRATIONAL_SET_NUM(obj, num);
RRATIONAL_SET_DEN(obj, den);
+ OBJ_FREEZE_RAW(obj);
return (VALUE)obj;
}
@@ -1855,6 +1856,7 @@ nurat_loader(VALUE self, VALUE a)
nurat_canonicalize(&num, &den);
RRATIONAL_SET_NUM(dat, num);
RRATIONAL_SET_DEN(dat, den);
+ OBJ_FREEZE_RAW(self);
return self;
}