summaryrefslogtreecommitdiffhomepage
path: root/src/range.c
diff options
context:
space:
mode:
authorksss <[email protected]>2016-11-17 14:57:30 +0900
committerksss <[email protected]>2016-11-17 14:57:30 +0900
commit176d93d72a9322f7f8e41aea0b06a857b7ba23aa (patch)
treedadf6c3fdaef2ce164177830e8df42ea46cf12a4 /src/range.c
parent1685eff2a5e672173d67916a1c96648df92b7271 (diff)
downloadmruby-176d93d72a9322f7f8e41aea0b06a857b7ba23aa.tar.gz
mruby-176d93d72a9322f7f8e41aea0b06a857b7ba23aa.zip
Ranges should not rewrite
Diffstat (limited to 'src/range.c')
-rw-r--r--src/range.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/range.c b/src/range.c
index 079a1035e..41b41237c 100644
--- a/src/range.c
+++ b/src/range.c
@@ -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;
}