diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-10-09 14:15:06 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-10-09 14:15:06 +0900 |
| commit | 5cdf1eabdd5b57170d600b673ca3dd1f08809495 (patch) | |
| tree | 56ae5896906396b03d604e4b6796456f94da3d4c /src | |
| parent | 07f805aa88635654f82cd9ffa01a7f25d70ac4f1 (diff) | |
| parent | 8c355ec7e36eaccd7ac39b15fc340cf7894adc40 (diff) | |
| download | mruby-5cdf1eabdd5b57170d600b673ca3dd1f08809495.tar.gz mruby-5cdf1eabdd5b57170d600b673ca3dd1f08809495.zip | |
Merge pull request #5555 from dearblue/str-ref-regexp
Partially allow overriding of `String#[]` methods
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -1261,7 +1261,15 @@ RETRY_TRY_BLOCK: regs[a] = mrb_hash_get(mrb, va, vb); break; case MRB_TT_STRING: - regs[a] = mrb_str_aref(mrb, va, vb, mrb_undef_value()); + switch (mrb_type(vb)) { + case MRB_TT_INTEGER: + case MRB_TT_STRING: + case MRB_TT_RANGE: + regs[a] = mrb_str_aref(mrb, va, vb, mrb_undef_value()); + break; + default: + goto getidx_fallback; + } break; default: getidx_fallback: |
