Merge pull request #3253 from ksss/range

Ranges should not rewrite
This commit is contained in:
Yukihiro "Matz" Matsumoto
2016-11-17 16:44:58 +09:00
committed by GitHub
2 changed files with 5 additions and 0 deletions
+3
View File
@@ -129,6 +129,9 @@ mrb_range_initialize(mrb_state *mrb, mrb_value range)
exclusive = FALSE;
}
/* Ranges are immutable, so that they should be initialized only once. */
if (mrb_range_ptr(range)->edges) {
mrb_name_error(mrb, mrb_intern_lit(mrb, "initialize"), "`initialize' called twice");
}
range_init(mrb, range, beg, end, exclusive);
return range;
}
+2
View File
@@ -57,6 +57,8 @@ assert('Range#initialize', '15.2.14.4.9') do
assert_true a.exclude_end?
assert_equal (1..10), b
assert_false b.exclude_end?
assert_raise(NameError) { (0..1).send(:initialize, 1, 3) }
end
assert('Range#last', '15.2.14.4.10') do