mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Add invalid key type check in Struct#[]=.
This commit is contained in:
@@ -672,7 +672,7 @@ mrb_struct_aset(mrb_state *mrb, mrb_value s)
|
||||
return mrb_struct_aset_sym(mrb, s, mrb_symbol(idx), val);
|
||||
}
|
||||
|
||||
i = mrb_fixnum(idx);
|
||||
i = mrb_int(mrb, idx);
|
||||
if (i < 0) i = RSTRUCT_LEN(s) + i;
|
||||
if (i < 0) {
|
||||
mrb_raisef(mrb, E_INDEX_ERROR,
|
||||
|
||||
@@ -41,6 +41,7 @@ assert('Struct#[]=', '15.2.18.4.3') do
|
||||
cc[:m1] == 3
|
||||
cc["m2"] = 3
|
||||
assert_equal 3, cc["m2"]
|
||||
assert_raise(TypeError) { cc[[]] = 3 }
|
||||
end
|
||||
|
||||
assert('Struct#each', '15.2.18.4.4') do
|
||||
|
||||
Reference in New Issue
Block a user