| Age | Commit message (Collapse) | Author |
|
|
|
This shows locations in places it didn't before, such as for
proc calls, and fixes the location for super calls.
This requires making iseq_location non-static and MJIT exported,
which I hope will not cause problems.
|
|
parameters
Previously, there was no warning in this case, even though we will
be changing the behavior in Ruby 3.
Fixes [Bug #14130]
|
|
This warns about a case that we will continue to support.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
Use a [:nokey] entry in this case.
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
Use false instead of nil for the keyword and keyword rest values
in that case.
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
The on_params hook will use :nil as the keyword rest argument.
There is a new on_nokw_param hook as well.
This fixes a type issue in the previous code, where an ID was
passed where a VALUE was the declared type. The symbol :nil is
passed instead of the id.
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
This syntax means the method should be treated as a method that
uses keyword arguments, but no specific keyword arguments are
supported, and therefore calling the method with keyword arguments
will raise an ArgumentError. It is still allowed to double splat
an empty hash when calling the method, as that does not pass
any keyword arguments.
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
This restores compatibility with Ruby 2.6, splitting the last
positional hash into positional and keyword arguments if it
contains both symbol and non-symbol keys. However, in this case
it will warn, as the behavior in Ruby 3 will be to not split the
hash and keep it as a positional argument.
This does not affect the handling of mixed symbol and non-symbol
keys in bare keywords. Those are still treated as keywords now,
as they were before this patch. This results in different
behavior than Ruby 2.6, which would split the bare keywords and
use the non-Symbol keys as a positional arguments.
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
Now that keyword splats accept non-Symbols, the type of exception
changes.
Previously, a TypeError (hash key "k1" is not a Symbol) was raised
for this test, but now an ArgumentError (unknown keyword: "k1") is
raised.
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
Now that keyword splats accept non-Symbols, the inspect value of
the keyword is used instead of the string value.
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
[Feature #16103]
Close: https://github.com/ruby/ruby/pull/2267
|
|
`umethod.bind_call(obj, ...)` is semantically equivalent to
`umethod.bind(obj).call(...)`. This idiom is used in some libraries to
call a method that is overridden. The added method does the same
without allocation of intermediate Method object. [Feature #15955]
```
class Foo
def add_1(x)
x + 1
end
end
class Bar < Foo
def add_1(x) # override
x + 2
end
end
obj = Bar.new
p obj.add_1(1) #=> 3
p Foo.instance_method(:add_1).bind(obj).call(1) #=> 2
p Foo.instance_method(:add_1).bind_call(obj, 1) #=> 2
```
|
|
These tests were guarded by a RUBY_ENGINE of "ruby" even though they test an official Ruby feature (pread/pwrite added in Ruby 2.5). This commit moves them to the top level of the test case so they will run on other implementations.
Notes:
Merged: https://github.com/ruby/ruby/pull/2412
|
|
Fixes [Bug #11326]
|
|
|
|
[feature #16035]
This goes one step farther than what nobu did in [feature #13498]
With this patch, special objects such as static symbols, integers, etc can be used as either key or values inside WeakMap. They simply don't have a finalizer defined on them.
This is useful if you need to deduplicate value objects
Notes:
Merged: https://github.com/ruby/ruby/pull/2313
|
|
[Feature #16103]
|
|
This reverts commits:
* d365fd5a024254d7c105a62a015a7ea29ccf3e5d
* d780c3662484d6072b3a6945b840049de72c2096
* aa7211836b769231a2a8ef6b6ec2fd0ec882ef29
* 043f010c28e82ea38978bf8ed885416f133b5b75
* bb4dd7c6af05c7821d572e2592ea3d0cc748d81f
* 043f010c28e82ea38978bf8ed885416f133b5b75
* f169043d81524b5b529f2c1e9c35437ba5bc3a7a
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/94645
|
|
when reopened class/module redefinition mismatched the previous
definition. [Feature #11460]
|
|
|
|
This reverts commit bf7a32d22079cc44eb19794e41d82b886d5d17b3.
flip-flop is no longer deprecated.
[Feature #5400]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* It can invoke test-unit with envutil.rb
* refute_match of test-unit couldn't handle String instance.
|
|
|
|
To reproduce this bug, type one character into irb, then press the
delete key on your keyboard.
|
|
|
|
|
|
|
|
The extension for require method with rubygems affects this test
case. We need to keep this test for the original method.
|
|
This reverts commit 75d29db8f965893bb6ab38b9008abc80cdda246e.
|
|
[Bug #16107]
Notes:
Merged: https://github.com/ruby/ruby/pull/2373
|
|
This reverts commit 00cd5d74cecb6aa4a184e57e2b8246ef6e45d458.
|
|
https://github.com/rubygems/rubygems/pull/1868 changes the behavior
of require when it used with -I options. Therefore, the options of
ruby repository was different from rubygems/rubygems.
|
|
https://github.com/rubygems/rubygems/commit/c0275ee537
|
|
https://github.com/rubygems/rubygems/commit/bb02953a97
|
|
https://github.com/rubygems/rubygems/commit/7964917bbc
|