[#122973] [PATCH] Add Gem.default_install — Felipe Contreras via ruby-core <ruby-core@...>
We need a way to enable user installs by default so that tools like
3 messages
2025/08/17
[ruby-core:123093] [Ruby Bug#21402] ruby2_keywords affects methods/procs with post arguments
From:
"alanwu (Alan Wu) via ruby-core" <ruby-core@...>
Date:
2025-08-27 21:51:35 UTC
List:
ruby-core #123093
Issue #21402 has been updated by alanwu (Alan Wu).
Backport changed from 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED to 3.2: REQUIRED, 3.3: REQUIRED, 3.4: DONE
3.4 backport done in commit:fd036dbc3f39e6bdce735edf9ca187a690fe2079
----------------------------------------
Bug #21402: ruby2_keywords affects methods/procs with post arguments
https://bugs.ruby-lang.org/issues/21402#change-114407
* Author: jeremyevans0 (Jeremy Evans)
* Status: Closed
* Backport: 3.2: REQUIRED, 3.3: REQUIRED, 3.4: DONE
----------------------------------------
I believe this is an oversight. We forgot to consider post arguments during the development of `ruby2_keywords`. I believe we should not allow `ruby2_keywords` on methods/procs with post arguments. Example:
```ruby
def a(*c, **kw) [c, kw] end
def b(*a, b) a(*a, b) end
ruby2_keywords(:b)
b({foo: 1}, bar: 1)
# Currently: [[{foo: 1}], {bar: 1}]
# Expected: [[{foo: 1}, {bar: 1}], {}]
```
I think the current behavior is unexpected and undesired, because instead of flagging the last element in the splat array, it flags a post argument.
I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/13475
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/