diff options
| author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-10-13 14:25:34 +0900 |
|---|---|---|
| committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-11-07 12:40:27 +0900 |
| commit | 334b69e5042f47f89c8780c1d7efa32d70c84786 (patch) | |
| tree | 6dccdd52ebecbb569c969c6fd4aacd595c4e1ded /tool/ruby_vm | |
| parent | 66b0847602ffa47575371f4d5a9a04dc6013ba49 (diff) | |
rb_id_serial_to_id: return unregistered ID as an internal ID
```ruby
def foo(*); ->{ super }; end
```
This code makes anonymous parameters which is not registered as an
ID. The problem is that when Ractors try to scan `getlocal`
instructions, it puts the Symbol corresponding to the parameter
in to a hash. Since it is not registered, we end up with a
strange exception. This commit wraps the unregistered ID in an
internal ID so that we get the same exception for `...` as `*`.
Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>
Co-Authored-By: John Hawthorn <john@hawthorn.email>
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/5035
Diffstat (limited to 'tool/ruby_vm')
0 files changed, 0 insertions, 0 deletions
