Actions
Bug #15647
closedDisallow "in" as a keyword argument name
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
Description
"in
" is a reserved keyword and thus can't be accessed directly anyway.
e.g. the following is a syntax error:
def m(in:); p in; end; m(in: 1)
And as usual, doing in = 1
doesn't work.
"in
" could still be passed as a keyword argument if using some kind of catch-all, e.g. m(args)
, m(*args)
, etc.
Source: https://twitter.com/drbrain/status/1104152696339087361
Updated by drbrain (Eric Hodel) over 5 years ago
This would break the Kernel#spawn family's backward compatibility make wrapping methods in this family harder than it already is, as you can work around this with Binding#local_variable_get.
I think this should be rejected.
Updated by nobu (Nobuyoshi Nakada) over 5 years ago
- Description updated (diff)
- Status changed from Open to Rejected
It is known that reserved words can be keyword arguments.
And Binding#local_variable_get
has been added for that purpose, if
argument for instance.
Actions
Like0
Like0Like0