Skip to content

Fixes #7102. ArgumentError re-splatting empty keyword arguments#7147

Merged
enebo merged 1 commit intojruby:jruby-9.3from
enebo:fix_7102
Mar 18, 2022
Merged

Fixes #7102. ArgumentError re-splatting empty keyword arguments#7147
enebo merged 1 commit intojruby:jruby-9.3from
enebo:fix_7102

Conversation

@enebo
Copy link
Member

@enebo enebo commented Mar 17, 2022

Went with marking incoming key word rest arguments getting marked with
a flag indicating that it is a kwrest. The flag is removed once we
enter check_arity helper. A kwrest is transient and isolated from the
call site to the method which recieves it. So there is no opportunity
for more than one thread to see this or other shenanigans like that.

This also is the general direction of Ruby 3 where we (and MRI) mark
kwargs hashes with a flag. We seem to fail there as well so we might
actually need this new flag there (since kw and kwrest will have different
behavior when passed to a method like the one attached to #7102).

Went with marking incoming key word rest arguments getting marked with
a flag indicating that it is a kwrest.  The flag is removed once we
enter check_arity helper.  A kwrest is transient and isolated from the
call site to the method which recieves it.  So there is no opportunity
for more than one thread to see this or other shenanigans like that.

This also is the general direction of Ruby 3 where we (and MRI) mark
kwargs hashes with a flag.  We seem to fail there as well so we might
actually need this new flag there (since kw and kwrest will have different
behavior when passed to a method like the one attached to jruby#7102).
@enebo enebo added this to the JRuby 9.3.4.0 milestone Mar 17, 2022
@enebo
Copy link
Member Author

enebo commented Mar 18, 2022

Something weird with CI where it will say ERROR: for like an hour and then the real results will eventually show up. The errors in my CI run seem to be exclusively from logger errors (unrelated to my changes).

@enebo enebo merged commit e7c4dd6 into jruby:jruby-9.3 Mar 18, 2022
@enebo enebo deleted the fix_7102 branch March 18, 2022 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant