CARVIEW |
Select Language
HTTP/2 200
x-amz-id-2: IvsGeTdL+DWAYgA17BB8s48Xo9YWfUK8bEvUYhm1VeP//ClG1IgvlYMR6rswtuZo3g6GSRE7eb/UthWTYA+yWvO0WfeRMT41
x-amz-request-id: Q546JWQHVNMV68DG
last-modified: Mon, 09 Jun 2025 21:41:08 GMT
etag: "95e773be59282c19beb8fb23c17ee88f"
x-amz-server-side-encryption: AES256
server: AmazonS3
content-encoding: gzip
via: 1.1 varnish, 1.1 varnish
content-type: text/plain; charset=utf-8
accept-ranges: bytes
age: 0
date: Thu, 24 Jul 2025 21:46:16 GMT
x-served-by: cache-tyo11958-TYO, cache-bom-vanm7210081-BOM
x-cache: MISS, MISS
x-cache-hits: 0, 0
x-timer: S1753393576.004701,VS0,VE547
vary: Accept-Encoding
content-length: 704
From: "jeremyevans0 (Jeremy Evans) via ruby-core"
Date: 2025-06-09T21:30:40+00:00
Subject: [ruby-core:122501] [Ruby Bug#21402] ruby2_keywords affects methods/procs with post arguments
Issue #21402 has been reported by jeremyevans0 (Jeremy Evans).
----------------------------------------
Bug #21402: ruby2_keywords affects methods/procs with post arguments
https://bugs.ruby-lang.org/issues/21402
* Author: jeremyevans0 (Jeremy Evans)
* Status: Open
* Backport: 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED
----------------------------------------
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/