| Age | Commit message (Collapse) | Author |
|
Because Module#const_added is ruby 3.2 feature
|
|
Fixes [Bug #16908]
Notes:
Merged: https://github.com/ruby/ruby/pull/5360
|
|
[Feature #17881]
Works similarly to `method_added` but for constants.
```ruby
Foo::BAR = 42 # call Foo.const_added(:FOO)
class Foo::Baz; end # call Foo.const_added(:Baz)
Foo.autoload(:Something, "path") # call Foo.const_added(:Something)
```
Notes:
Merged: https://github.com/ruby/ruby/pull/4521
|
|
|
|
Because https://github.com/ruby/ruby/pull/5148 merged after Ruby 3.1.0 released.
13241b71a50dded0a7b021ec4f2fb6a995daace9 did not fix proc spec yet.
https://github.com/ruby/actions/runs/4718820699?check_suite_focus=true#step:18:173
```
1)
Proc#parameters adds * rest arg for "star" argument FAILED
Expected [[:req, :x], [:rest]] == [[:req, :x], [:rest, :*]]
to be truthy but was false
/home/runner/work/actions/actions/snapshot-ruby_3_1/spec/ruby/core/proc/parameters_spec.rb:85:in `block (3 levels) in <top (required)>'
/home/runner/work/actions/actions/snapshot-ruby_3_1/spec/ruby/core/proc/parameters_spec.rb:3:in `<top (required)>'
```
|
|
Also make include, prepend, and extend raise a TypeError if one
of the modules is a refinement.
Implements [Feature #18270]
Notes:
Merged: https://github.com/ruby/ruby/pull/5358
|
|
Because https://github.com/ruby/ruby/pull/5148 merged after Ruby 3.1.0 released.
https://github.com/ruby/actions/runs/4705986643?check_suite_focus=true#step:18:144
```
1)
Method#parameters adds * rest arg for "star" argument FAILED
Expected [[:rest]] == [[:rest, :*]]
to be truthy but was false
/home/runner/work/actions/actions/snapshot-ruby_3_1/spec/ruby/core/method/parameters_spec.rb:228:in `block (3 levels) in <top (required)>'
/home/runner/work/actions/actions/snapshot-ruby_3_1/spec/ruby/core/method/parameters_spec.rb:4:in `<top (required)>'
2)
Proc#parameters adds * rest arg for "star" argument FAILED
Expected [[:req, :x], [:rest]] == [[:req, :x], [:rest, :*]]
to be truthy but was false
/home/runner/work/actions/actions/snapshot-ruby_3_1/spec/ruby/core/proc/parameters_spec.rb:85:in `block (3 levels) in <top (required)>'
/home/runner/work/actions/actions/snapshot-ruby_3_1/spec/ruby/core/proc/parameters_spec.rb:3:in `<top (required)>'
```
|
|
Has been deprecated since ebff9dc10e6e72239c23e50acc7d3cbfdc659e7a.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5382
|
|
The respond_to expectation just suffice as duck-typing.
Notes:
Merged: https://github.com/ruby/ruby/pull/5382
|
|
This allows for the following syntax:
```ruby
def foo(*)
bar(*)
end
def baz(**)
quux(**)
end
```
This is a natural addition after the introduction of anonymous
block forwarding. Anonymous rest and keyword rest arguments were
already supported in method parameters, this just allows them to
be used as arguments to other methods. The same advantages of
anonymous block forwarding apply to rest and keyword rest argument
forwarding.
This has some minor changes to #parameters output. Now, instead
of `[:rest], [:keyrest]`, you get `[:rest, :*], [:keyrest, :**]`.
These were already used for `...` forwarding, so I think it makes
it more consistent to include them in other cases. If we want to
use `[:rest], [:keyrest]` in both cases, that is also possible.
I don't think the previous behavior of `[:rest], [:keyrest]` in
the non-... case and `[:rest, :*], [:keyrest, :**]` in the ...
case makes sense, but if we did want that behavior, we'll have to
make more substantial changes, such as using a different ID in the
... forwarding case.
Implements [Feature #18351]
Notes:
Merged: https://github.com/ruby/ruby/pull/5148
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3927
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3927
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5348
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5309
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5281
|
|
Actually used methods are all instance method, not the singleton
method.
Notes:
Merged: https://github.com/ruby/ruby/pull/5281
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5281
|
|
`to_s` has the explict specification while `inspect` is often
vague.
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
The result may increase actually or not, since GC can finish
shorter than the timer granularity.
Notes:
Merged: https://github.com/ruby/ruby/pull/5193
Merged-By: nobu <nobu@ruby-lang.org>
|
|
|
|
Implements [Feature #18273]
Returns an array containing the receiver's direct subclasses without
singleton classes.
Notes:
Merged: https://github.com/ruby/ruby/pull/5045
|
|
Previously, each of these methods returned self, but it is
more useful to return arguments, to allow for simpler method
decorators, such as:
```ruby
cached private def foo; some_long_calculation; end
```
Where cached sets up caching for the method.
For each of these methods, the following behavior is used:
1) No arguments returns nil
2) Single argument is returned
3) Multiple arguments are returned as an array
The single argument case is really the case we are trying to
optimize for, for the same reason that def was changed to return
a symbol for the method.
Idea and initial patch from Herwin Quarantainenet.
Implements [Feature #12495]
Notes:
Merged: https://github.com/ruby/ruby/pull/5037
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5084
Merged-By: nobu <nobu@ruby-lang.org>
|
|
|
|
* Make the supported check more obvious.
|
|
* See https://github.com/ruby/spec/pull/891
|
|
|
|
[Feature #18254]
This is useful to avoid repeteadly copying strings when parsing binary formats
|
|
Doesn't include receiver or singleton classes.
Implements [Feature #14394]
Co-authored-by: fatkodima <fatkodima123@gmail.com>
Co-authored-by: Benoit Daloze <eregontp@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/4974
Merged-By: jeremyevans <code@jeremyevans.net>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4972
Merged-By: nobu <nobu@ruby-lang.org>
|
|
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/1509
Merged-By: nobu <nobu@ruby-lang.org>
|
|
|
|
|
|
|
|
|
|
|
|
Previously, if an autoload failed (the file was loaded, but the
constant was not defined by the autoloaded file). Ruby will try
to autoload again if you delete the autoloaded file from
$LOADED_FEATURES. With this change, the autoload and the
constant itself are removed as soon as it fails.
To handle cases where multiple threads are autoloading, when
deleting an autoload, handle the case where another thread
already deleted it.
Fixes [Bug #15790]
Notes:
Merged: https://github.com/ruby/ruby/pull/4715
Merged-By: jeremyevans <code@jeremyevans.net>
|
|
|
|
Ruby cannot guarantee the resolutions of underlying filesystems.
|
|
|
|
Fixes [Feature #18148]
When set, all the loaded objects are returned as frozen.
If a proc is provided, it is called with the objects already frozen.
|
|
For cyclic objects, it requires to keep a st_table of the partially
initialized objects.
Notes:
Merged-By: byroot <jean.boussier@gmail.com>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4858
|
|
|
|
Ref: https://bugs.ruby-lang.org/issues/18141
Notes:
Merged: https://github.com/ruby/ruby/pull/4797
|
|
|
|
Call `IOSpecs.io_fixture` with the default encoding explicitly.
`IOSpecs.closed_io` calls the method without optional `mode` which
is set to UTF-8 by default, while the default external encoding
depends on the locale environment variables.
|
|
Mashalling a closed IO object raised "closed stream (IOError)" before instead of TypeError.
This changes IO#(in|ex)ternal_encoding to still return the encoding even if the underlying FD is closed.
Fixes bug #18077
Notes:
Merged: https://github.com/ruby/ruby/pull/4758
|