Activity
From 01/10/2021 to 01/16/2021
01/16/2021
-
11:45 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- Eregon (Benoit Daloze) wrote in #note-5:
> If it's needed to e.g. `Ractor.make_shareable(self); o = Ractor.make_shareable(Object.new); Ractor.make_shareable(-> { p o; ... })`, it feels so redundant.
I may be wrong, but I believe that... -
06:00 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- marcandre (Marc-Andre Lafortune) wrote in #note-4:
> Note that they are *not* treated the same way. `Ractor.new{}` forbids any reference to outside variables, while `make_shareable(proc)` allows it as long as the values are themselves s... -
04:41 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- Eregon (Benoit Daloze) wrote in #note-3:
> Not preserving `self` would be confusing, e.g., when calling other methods like:
> ...
In my proposal, calling that block would result in a `NoMethodError` on `<#DetachedSelf>`. Is it that con... -
02:40 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- Not preserving `self` would be confusing, e.g., when calling other methods like:
```ruby
class Foo
def bar
...
end
def foo
test { bar }
end
end
```
It does mean the `Foo` instance would be (deeply) frozen.
... -
12:55 AM Bug #17543: Ractor isolation broken by `self` in shareable proc
- > Probably the self of the Proc should be made Ractor.make_shareable too.
Would that always be the case? would all the following freeze the `self`?
```ruby
class Foo
def test(&block)
Ractor.make_shareable(block)
end
... -
11:14 PM Revision 19902e2e (git): Update the maintainer of net-smtp
- 09:09 PM Revision fd42d334 (git): * 2021-01-17 [ci skip]
- 09:08 PM Revision a4a6cb03 (git): Remove samples for test-unit
- They are no longer needed.
- 09:07 PM Revision f2767cf0 (git): Move rss samples to ruby/rss
-
08:13 PM Bug #17547 (Closed): Fix `Ripper.lex("a <<b")`
- `Ripper.lex("a <<b")` was not parsed correctly.
```ruby
require "ripper"
p Ripper.lex("a <<b")
# Expected behavior => [[[1, 0], :on_ident, "a", CMDARG], [[1, 1], :on_sp, " ", CMDARG], [[1, 2], :on_heredoc_beg, "<<b", CMDARG]]
# ... -
03:19 PM Bug #17536: Segfault in `CFUNC :define_method`
- Wow, thx for the effort to reduce the reproducer. I have applied this patch in Fedora and it fixes the segfault. Thx.
-
10:42 AM Revision 35a04730 (git): [ruby/io-console] Rubygems 3.2 supports `--platform` option
- https://github.com/ruby/io-console/commit/c8046fde84
-
10:42 AM Revision 6ab5504f (git): [ruby/io-console] Moved JRuby version files into particular path
- https://github.com/ruby/io-console/commit/b0691d2c20
-
10:42 AM Revision 92da224d (git): [ruby/io-console] Delegate to JRuby version
- Add `--platform` option tentatively.
https://github.com/ruby/io-console/commit/3bf1a7b753 -
10:42 AM Revision c143a2f9 (git): [ruby/io-console] bump up to 0.5.7
- https://github.com/ruby/io-console/commit/f55d7ebff6
-
01:06 AM Feature #17546 (Assigned): Native coroutine implementation for riscv64 Linux
01/15/2021
-
11:48 PM Feature #17546 (Closed): Native coroutine implementation for riscv64 Linux
- The RISC-V architecture is getting more and more importance in the world. The first affordable RISC-V single board computer debuted last Wednesday.
A patch is attached which contains a native coroutine implementation for riscv64 Linux... -
11:23 PM Bug #17536 (Closed): Segfault in `CFUNC :define_method`
- Applied in changeset commit:git|0ed71b37fa9af134fdd5a7fd1cebd171eba83541.
----------
Don't try to clear cache on garbage objects
Method cache can be cleared during lazy sweeping. An object that will
be collected during lazy sweep *sho... -
10:21 PM Bug #17536: Segfault in `CFUNC :define_method`
- I was able to reproduce this, but it's hard to make a small script to reproduce the issue.
Here is the program I used to reproduce the issue:
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem '... -
11:23 PM Revision 0ed71b37 (git): Don't try to clear cache on garbage objects
- Method cache can be cleared during lazy sweeping. An object that will
be collected during lazy sweep *should not* have it's method cache
cleared. Soon-to-be-collected objects can be in an inconsistent state and
this can lead to a crash... -
09:26 PM Bug #17545 (Closed): Calling dup on a subclass of Proc returns a Proc and not the subclass
- Trivial example:
``` ruby
[1] pry(main)> class Test < Proc; end
=> nil
[3] pry(main)> Test.new { puts "foo" }.dup
=> #<Proc:0x00007f91a78913c8 (pry):3>
```
Also fairly trivial workaround:
```ruby
[4] pry(main)> class Tes... -
08:25 PM Revision e7f1afbc (git): Additions to method_documentation.rdoc (#4065)
- * Additions to method_documentation.rdoc
-
06:54 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
- Probably the self of the Proc should be made ` Ractor.make_shareable` too.
Changing the `self` of an arbitrary Proc would be very surprising I think. -
07:39 AM Bug #17543 (Closed): Ractor isolation broken by `self` in shareable proc
- Discussing with @MaxLap we realized that the `self` in a shareable proc is not properly isolated:
```
class Foo
attr_accessor :x
def pr
Ractor.make_shareable(Proc.new { self })
end
end
f = Foo.new
f.x = [1, 2, 3]... -
06:08 PM Revision a2941d71 (git): Add What's Here to Array RDoc (#4062)
- * Add What's Here to Array RDoc
- 03:15 PM Revision 4c4f873f (git): * 2021-01-16 [ci skip]
- 03:09 PM Revision b1306445 (git): [ruby/bigdecimal] Fix for the coerce cases in divide and DoDivmod
- https://github.com/ruby/bigdecimal/commit/1cb92487f7
- 03:08 PM Revision 9d0c5e27 (git): [ruby/bigdecimal] Use pre-allocated special values in BigDecimal_DoDivmod
- https://github.com/ruby/bigdecimal/commit/d2746121cf
- 03:07 PM Revision f95f85b2 (git): [ruby/bigdecimal] Use new conversion functions in BigDecimal_DoDivmod
- https://github.com/ruby/bigdecimal/commit/68c20200d5
-
02:44 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- I agree with `Thread::Backtrace.limit` because I think it's easy to understand.
-
10:04 AM Revision 5307fab6 (git): [ruby/time] Use Time#strftime to format
- https://github.com/ruby/time/commit/6b8cc4799e
-
09:04 AM Misc #17535: DevelopersMeeting20210216Japan
- * [Feature #12194] `File.dirname` optional parameter
* `File.dirname(path, 2)` instead of `File.dirname(File.dirname(path))` or `File.expand_path("../..", path)`.
* [Feature #17544] Support RFC 3339 UTC for unknown offset local time
... -
08:54 AM Feature #17544 (Closed): `Time#strftime` supports RFC 3339 UTC for unknown offset local time
- In RFC 3339, -00:00 is used for the time in UTC is known, but the offset to local time is unknown.
Support that representation by `-` flag for `z` at `Time#strftime`.
[patch](https://github.com/ruby/ruby/pull/4075)
-
08:47 AM Bug #17517 (Closed): File.expand_path returns us-ascii when both arguments are ascii compat
- Applied in changeset commit:git|0d57d59933fb7b826bd0e20d84ed7f6d6636ac90.
----------
Keep encoding in the result of File.expand_path [Bug #17517] -
08:46 AM Revision 0d57d599 (git): Keep encoding in the result of File.expand_path [Bug #17517]
-
04:44 AM Bug #17423 (Closed): `Prepend` should prepend a module before the class
- Applied in changeset commit:git|e09094546a19d6b62b3e21d0b061b103cf21f760.
----------
Make Module#prepend affect ancestor chain even if argument already included in receiver
Previously, if a class included a module and then prepended th... -
04:43 AM Revision e0909454 (git): Make Module#prepend affect ancestor chain even if argument already included in receiver
- Previously, if a class included a module and then prepended the
same module, the prepend had no effect. This changes the behavior
so that the prepend has an effect unless the module is already
prepended the receiver.
While here, rename... -
03:43 AM Revision 1cb0c5ac (git): [ruby/time] No document for private methods
- https://github.com/ruby/time/commit/44a55daa70
-
03:29 AM Revision 69ea2701 (git): Sort filenames [ci skip]
-
02:48 AM Revision 9c018958 (git): Add timev.rb to .document
-
12:37 AM Revision eb4319be (git): extlibs.rb: make patch command selectable [ci skip]
- Some Windows ports fail an assertion on patch files with LF EOL
code. MSys2 patch.exe 2.7.6 seems fine, at least.
01/14/2021
-
11:30 PM Bug #17536: Segfault in `CFUNC :define_method`
- I should also mention that there is currently Rails 6.0.3.4.
-
11:28 PM Bug #17536: Segfault in `CFUNC :define_method`
- It is reproducible on every platform.
We had to hack the test suite a bit to make it work on Fedora. The full script is here [1], but the relevant part should be this:
~~~
# It is easier to recreate the Gemfile to use local versions of... -
09:58 PM Bug #17536: Segfault in `CFUNC :define_method`
- vo.x (Vit Ondruch) wrote in #note-5:
> Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
> ...
When I try to run the command, this happens on Linux:
```
aaron@whiteclaw ~/g/shoulda-matche... -
09:52 PM Bug #17536: Segfault in `CFUNC :define_method`
- vo.x (Vit Ondruch) wrote in #note-5:
> Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
> ...
Does this reproduce on any platform besides s390x? -
01:53 PM Bug #17536: Segfault in `CFUNC :define_method`
- Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
~~~
$ bundle exec rspec spec/unit/shoulda/matchers/action_controller/set_flash_matcher_spec.rb
~~~
I guess the reproducer should be pos... -
12:55 PM Bug #17536: Segfault in `CFUNC :define_method`
- Yes, I can hit it every time. And I am testing the patch commit:efcdf68e6443ab70fbff1703b9dabbfc5090df31 and it does not fix the issue.
-
09:24 AM Bug #17536: Segfault in `CFUNC :define_method`
- > This looks like the segvs we were observing
I'm not certain. Ours was failing inside the GC code. Here it fails in `vm_method`.
@vo.x are you able to trigger this bug consistently?
-
01:09 AM Bug #17536: Segfault in `CFUNC :define_method`
- This looks like the segvs we were observing, which was fixed by https://bugs.ruby-lang.org/issues/17539 (and PR https://github.com/ruby/ruby/pull/4066).
@tenderlovemaking can you confirm? - 09:42 PM Revision 0a039c5f (git): [ruby/bigdecimal] Use new conversion functions in BigDecimal_divide
- https://github.com/ruby/bigdecimal/commit/3b55ad1c42
- 09:42 PM Revision 500fc63c (git): [ruby/bigdecimal] Reorder the arguments of BigDecimal_divide
- https://github.com/ruby/bigdecimal/commit/1e03da7076
-
08:48 PM Bug #17423: `Prepend` should prepend a module before the class
- Based on the decision made at the developer meeting (https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210113Japan.md#bug-17423-prepend-should-prepend-a-module-before-the-class-jeremyevans0), I've added a pull reques...
-
08:37 PM Bug #17539: Guard callinfo during compilation (backport)
- Also please add 5e26619660f20272a53c7f839dde36cce034bb35 (it fixes a write barrier issue)
Thanks! -
12:17 AM Bug #17539 (Closed): Guard callinfo during compilation (backport)
- Hi,
Please backport efcdf68e6443ab70fbff1703b9dabbfc5090df31 to ruby_3_0. We're seeing segvs, and efcdf68e6443ab70fbff1703b9dabbfc5090df31 fixes it.
Thanks! - 05:57 PM Revision 48589f34 (git): * 2021-01-15 [ci skip]
-
05:55 PM Revision 5e266196 (git): Fix WB for callinfo
- The WB for callinfo needs to be executed *after* the reference is
written. Otherwise we get a WB miss. -
02:43 PM Feature #12607: Ruby needs an atomic integer
- Eregon (Benoit Daloze) wrote in #note-34:
> And how do you implement that efficiently, and in a way that's thread-safe?
> ...
By "a generator" I did not mean the `Enumerator::Generator` class. I meant a new generator-type class (say, `... -
01:06 PM Feature #12607: Ruby needs an atomic integer
- There is also the well-known example of metrics in Sidekiq, and all these:
https://github.com/search?l=Ruby&q=AtomicFixnum&type=Code
> I really think a generator (like the above MyCounter.next) is a more appropriate tool than an atom... -
03:41 AM Feature #12607: Ruby needs an atomic integer
- chrisseaton (Chris Seaton) wrote in #note-32:
> An use-case I was working on earlier today was profiling operations like coverage and sampling tools.
Ah yes, beautiful example! Accumulating metrics require both atomicity and performa... -
02:34 AM Feature #12607: Ruby needs an atomic integer
- > In my experience financial transactions will be handled at the DB level.
So imagine you're implementing the DB then.
> ...
If you want to perform an arbitrary operation on a counter you can do that atomically, without a lock, by ... -
02:25 AM Feature #12607: Ruby needs an atomic integer
- chrisseaton (Chris Seaton) wrote in #note-28:
> For example for issuing unique IDs across multiple Ractors.
That's the "monotonically increasing counter" case I was talking about, and for that I really think a generator (like the abo... -
01:34 PM Bug #17429: Prohibit include/prepend in refinement modules
- shugo (Shugo Maeda) wrote in #note-11:
> The behavior is similar to Module#mix proposed by Matz before.
Visually it's a more pleasing API than the `import` keyword, but would it be available in any module or just refinements?
If any... -
03:15 AM Bug #17429: Prohibit include/prepend in refinement modules
- marcandre (Marc-Andre Lafortune) wrote in #note-3:
> Is there a proposal to import modules in refinements?
> ...
I prefer the following way, but I'm not sure about the name import.
```
refine Object do
import Code
end
```
... -
01:20 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- neg_hide (Hidenori Negishi) wrote in #note-3:
> I am making a library that makes error messages easier to read. Therefore, instead of using `Exception#full_message`, I need to analyze the Exception and output the error message myself.
... -
12:35 PM Revision 834b404b (git): [DOC] Fixed indent [ci skip]
-
12:30 PM Bug #17542 (Closed): Username and password are not decoded if retrieved from env
- If someone sets an env variable defining a http_proxy (ENV['http_proxy']), containing a
username / password with percent-encoded characters, then the resulting
base64 encoded auth header will be wrong.
For example, suppose a usernam... -
10:21 AM Bug #17537: === on ranges of strings is not consistant with include?
- > ranges of strings have inconsistent semantics
That's an inherent property of string ranges, and of Range in general.
Range in Ruby represents TWO things:
* sequence (enumeration) from begin to end (based on the notion of the "ne... -
04:55 AM Bug #17537: === on ranges of strings is not consistant with include?
- Ok. Well, my personal opinion is that just to have some fancy way to handle version strings, ranges of strings have inconsistent semantics. With to_a, they behave like their natural order is shortlex on some imaginary alphabet:
```
... -
09:50 AM Bug #17540: A segfault due to Clang/LLVM optimization on 32-bit ARM Linux
- Mmm… That sounds like an LLVM issue. At least in the latest C++, `volatile` is deprecated. I don’t think that fix works for extension libraries written in that language.
cf: http://wg21.link/P1152 -
04:34 AM Bug #17540 (Closed): A segfault due to Clang/LLVM optimization on 32-bit ARM Linux
- When built with `optflags=-O3` (which is the default), `ruby -e "pp Thread.main"` causes a segfault, which seems to be worked around by the following change:
```
--- a/include/ruby/internal/fl_type.h
+++ b/include/ruby/internal/fl_typ... -
08:54 AM Bug #17541 (Closed): shareable constant literals in a large script might be recycled
- Please backport commit:6bcc4664bdaebbf9b28a762ae63f476a1ec6cfb2.
These are optional.
commit:bb40c5cbe977de9f36a2a739e94e9b2fd4496b6e
commit:c060bdc2b4ab8eeef5374f4174f5de48ab936d74
-
07:44 AM Revision 29777cb3 (git): Merge RubyGems-3.2.5
-
07:44 AM Revision 93dcf082 (git): Merge Bundler-2.2.5
-
07:44 AM Revision c721e36c (git): Merge RubyGems-3.2.4
-
07:44 AM Revision d4f5827a (git): Merge Bundler-2.2.4
-
07:15 AM Revision 6bcc4664 (git): Return new NODE_LIT
- As NODE_ZLIST/NODE_LIST are not markable, cannot be reused as
NODE_LIT. -
07:13 AM Revision bb40c5cb (git): Ensure symbol list node is either NODE_STR or NODE_DSTR
-
07:12 AM Revision c060bdc2 (git): NODE markability should not change by nd_set_type
-
06:50 AM Feature #17490 (Closed): Rename RubyVM::MJIT to RubyVM::JIT
- Applied in changeset commit:git|e1fee7f949cb6719122672fa1081c60984a5339f.
----------
Rename RubyVM::MJIT to RubyVM::JIT
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other... -
06:46 AM Revision e1fee7f9 (git): Rename RubyVM::MJIT to RubyVM::JIT
- because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.
[Feature #17490] - 02:22 AM Revision 1824df40 (git): * 2021-01-14 [ci skip]
- 01:21 AM Revision 4d13f3e9 (git): [ruby/bigdecimal] Explicitly cast size_t to int
- https://github.com/ruby/bigdecimal/commit/b1f1ed26c9
- 01:20 AM Revision b4ade739 (git): [ruby/bigdecimal] Explicitly cast uint64_t to double
- https://github.com/ruby/bigdecimal/commit/f0d94e6843
- 01:20 AM Revision e129be75 (git): [ruby/bigdecimal] Suppress warning at NO_SANITIZE on gcc
- https://github.com/ruby/bigdecimal/commit/f6765b8071
-
12:13 AM Revision efcdf68e (git): Guard callinfo
- Callinfo was being written in to an array and the GC would not see the
reference on the stack. `new_insn_send` creates a new callinfo object,
then it calls `new_insn_core`. `new_insn_core` allocates a new INSN
linked list item, which c... -
12:06 AM Revision f4ce78d5 (git): delete negative cache from the table correctly
- negative cache entry should be removed from
vm->negative_cme_table even if the redefined class has no
subclasses.
01/13/2021
-
11:45 PM Feature #12607: Ruby needs an atomic integer
- > You can achieve something similar with Object.new.object_id
You may want them to be consecutive.
> ...
A Ractor send has relatively high synchronisation overhead - an atomic integer is conventionally implemented at the cache-cohe... -
10:40 PM Feature #12607: Ruby needs an atomic integer
- chrisseaton (Chris Seaton) wrote in #note-28:
> > What is the use case for this atomic integer?
> ...
You can achieve something similar with `Object.new.object_id`
> > or in fact any integer atomic operations other than += 1
> ...
... -
09:45 PM Feature #12607: Ruby needs an atomic integer
- > What is the use case for this atomic integer?
For example for issuing unique IDs across multiple Ractors.
> ...
For example a CAS to update a bank balance is a common requirement. -
06:05 PM Feature #12607: Ruby needs an atomic integer
- What is the use case for this atomic integer? I sometimes have a use for an atomic monotonically increasing counter, but that could be satisfied with a very simple API like `n = MyCounter.next`
On the other hand I've never felt the need... -
07:32 AM Feature #12607: Ruby needs an atomic integer
- Eregon (Benoit Daloze) wrote in #note-25:
> True, but an atomic integer remains useful even if there is an STM.
> ...
TVar proposed in https://bugs.ruby-lang.org/issues/17261 has `#increment` method and it is enough fast. -
10:56 PM Revision c8b47eb7 (git): only add the trailing nop if the catch table is not break / next / redo
- We don't need nop padding when the catch tables are only for break /
next / redo, so lets avoid them. This eliminates nop padding in
many lambdas.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> -
10:53 PM Revision 589a8026 (git): fix ASAN errors
-
09:37 PM Misc #17535: DevelopersMeeting20210216Japan
- * [Feature #17291] Optimize `__send__` call (mrkn)
* [rspec-mocks](https://github.com/rspec/rspec-mocks) depends on redefining `__send__` to detect the form of the method call in a mock object.
* The mock object raises NoMethodErro... -
04:26 PM Misc #17535 (Closed): DevelopersMeeting20210216Japan
- # The next dev meeting
**Date: 2021/02/16 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210216Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ... -
08:50 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
- I was just doing a similar test actually, I think you're correct! I'll close this issue and re-submit a patch to Net::HTTP to replace `Timeout::timeout` there, since it's not doing anything for DNS lookups anyway. Thank you!
-
05:50 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
- How to test:
```
% vi /etc/resolv.conf # specify non-existing nameserver
% time ./ruby -rtimeout -rsocket -e 'Timeout.timeout(2) { Addrinfo.getaddrinfo("www.ruby-lang.org",nil) }'
-e:1:in `getaddrinfo': execution expired (Time... -
04:05 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
- According to https://bugs.ruby-lang.org/issues/12435, the only reason we are using `Timeout.timeout` in `Net::HTTP#connect` instead of using nonblocking io and `IO.select` is so that we can place a timeout on the getaddrinfo function, @n...
-
07:06 PM Bug #17538 (Closed): Assertion failure when rincgc is turned off
- [Pull request on GitHub](https://github.com/ruby/ruby/pull/4064).
When compiling with `-DUSE_RINCGC=0` (turn off rincgc) and `-DRGENGC_CHECK_MODE=1` (turn on assertions), there is an assertion error when running multiple ractors.
R... -
05:35 PM Bug #17537: === on ranges of strings is not consistant with include?
- It was intentional.
Before 2.6, `===` was using `include?` underneath, which had some undesirable consequences:
```ruby
case '2.5.2'
when '2.5'..'2.6'
puts "It is between 2.5 and 2.6"
else
puts "It is not"
end
```
This pr... -
05:12 PM Bug #17537 (Closed): === on ranges of strings is not consistant with include?
- Hi,
In Ruby up to 2.6 both `("1".."12").include?("6")` and `("1".."12") === "6"` were true. In 2.7 and 3.0, `include?` accepts `"6"`, but `===` does not. This was very handy in `case`s. Reading the documentation it is unclear to m... -
04:47 PM Bug #17536: Segfault in `CFUNC :define_method`
- This is part of the backtrace:
~~~
#0 lookup_method_table (id=349648, klass=93825096550280) at vm_method.c:690
#1 search_method (defined_class_ptr=<optimized out>, id=<optimized out>, klass=93825096550280) at vm_method.c:970
#2 ... -
04:41 PM Bug #17536 (Closed): Segfault in `CFUNC :define_method`
- Trying to run test suite of `shoulda-matchers`, I observe the following issue:
~~~
... snip ...
if the given value is present in the store
/usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/route_set.rb... -
04:26 PM Misc #17480 (Closed): DevelopersMeeting20210113Japan
-
03:19 PM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
- https://github.com/ruby/ruby/pull/4061
-
03:18 PM Feature #17407 (Closed): Fiber.current and require 'fiber'
- Applied in changeset commit:git|521ad9a13aef1e1dae4eaff70d3e6b2e358aa095.
----------
Moved Fiber methods into core [Feature #17407] -
06:52 AM Feature #17407: Fiber.current and require 'fiber'
- I still think `Fiber.current` is not needed because `Fiber#transfer` is not easy feature to use.
However, Fiber scheduler is introduced and they can be utilize.
So I'm okay for nobu's PR. - 03:18 PM Revision 70cd351c (git): * 2021-01-14 [ci skip]
-
03:17 PM Revision 7f3c5e65 (git): mkmf.rb: remove exts.mk at distclean
-
02:46 PM Bug #17534 (Closed): Pattern-matching is broken with find pattern
- The minimal reproduction code:
```ruby
case [1, 2, 3]
in y
puts "branch1"
in [*, x, *]
puts "branch2"
else
puts "branch3"
end
```
This outputs long "raw disasm" sequence, and then
```
---------------------
break_pm.... -
02:20 PM Revision 521ad9a1 (git): Moved Fiber methods into core [Feature #17407]
-
01:11 PM Bug #17533 (Closed): Named capture is not assigned to the same variable as reserved words.
- Applied in changeset commit:git|0036648a420f945624898568bb82bc5f83195d12.
----------
Capture to reserved name variables if already defined [Bug #17533] -
12:14 PM Bug #17533 (Closed): Named capture is not assigned to the same variable as reserved words.
- It is expected that named captures don't add new variables same as reserved words, and such variables couldn't be made usually at the time when named capture was implemented.
Keyword arguments since 2.0 can be the same as reserved wor... -
12:16 PM Revision 0036648a (git): Capture to reserved name variables if already defined [Bug #17533]
-
11:49 AM Bug #17429: Prohibit include/prepend in refinement modules
- With https://bugs.ruby-lang.org/issues/17429#note-3 it would.
I think it makes sense adding such functionality at the same time as no longer allowing `include` for refinement modules. -
08:08 AM Bug #17429: Prohibit include/prepend in refinement modules
- Calling include in refinement modules has certin use cases.
Here's an actual example.
https://github.com/tomykaira/rspec-parameterized/blob/v0.4.2/lib/rspec/parameterized/table_syntax.rb#L27-L61
This gem uses Module#include to avo... -
11:41 AM Feature #17485 (Closed): Keyword argument for timezone in Time.new
- Applied in changeset commit:git|4b15caee8fe7a5aaa52ed5a3ab2a3517c9206fd7.
----------
Added `in:` timezone option to `Time.new` [Feature #17485] -
09:37 AM Revision e9b93d67 (git): Positional and keyword arguments for timezone are exclusive
- [Feature #17485]
-
09:15 AM Revision 4b15caee (git): Added `in:` timezone option to `Time.new` [Feature #17485]
-
09:13 AM Bug #17523 (Closed): Inconsistent Warning[] values in scripts loaded by -r option
- Applied in changeset commit:git|6f6dfdcc685077f0f85dcdd63843ecfc0f6fbfb6.
----------
Make warning values consistent [Bug #17523]
They should be affected, as well as `$VERBOSE`, by `-w`/`-W`
options, not only in the main script but in s... -
09:13 AM Bug #17509 (Closed): Custom respond_to? methods in modules break defined?(super)
- Applied in changeset commit:git|85b5d4c8bf4cdcba4f1af65f2bc0c8ac716cb795.
----------
Revert "[Bug #11213] let defined?(super) call respond_to_missing?"
This reverts commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 for
now, due to [Bug #... -
09:12 AM Revision 6f6dfdcc (git): Make warning values consistent [Bug #17523]
- They should be affected, as well as `$VERBOSE`, by `-w`/`-W`
options, not only in the main script but in scripts loaded by `-r`
option too. -
09:11 AM Revision 85b5d4c8 (git): Revert "[Bug #11213] let defined?(super) call respond_to_missing?"
- This reverts commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 for
now, due to [Bug #17509], the breakage in the case `super` is
called in `respond_to?`. -
08:07 AM Revision 303533d2 (git): Avoid re-entering opt_invokebuiltin_delegate_leave
- on interruption.
The cancellation code was originally written for leave insn, but re-entering
opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because
a builtin function is executed twice. -
08:07 AM Revision 98ca667b (git): Fixed a typo [Bug #17522]
-
08:07 AM Revision 5b2a0fc6 (git): Fixed dangling imemo_tmpbuf
- The count of rb_alloc_tmp_buffer_with_count is the allocation size
counted in VALUE size but not in the requested element size.
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
Co-authored-by: Koichi Sasada <ko1@atdot.net> -
08:07 AM Revision 1614dd9f (git): expose some C-APIs for ractor
- expose some C-APIs to try to make ractor utilities on external gems.
* add
* rb_ractor_local_storage_value_lookup() to check availability
* expose
* rb_ractor_make_shareable()
* rb_ractor_make_shareable_copy()
* rb_proc_isolate(... -
08:06 AM Revision b2beb858 (git): Make any hash values fixable [Bug #17488]
- As hnum is an unsigned st_index_t, the result of RSHIFT may not be
in the fixable range.
Co-authored-by: NeoCat <neocat@neocat.jp> -
08:06 AM Revision b93e16dc (git): enable constant cache on ractors
- constant cache `IC` is accessed by non-atomic manner and there are
thread-safety issues, so Ruby 3.0 disables to use const cache on
non-main ractors.
This patch enables it by introducing `imemo_constcache` and allocates
it by every re-f... -
07:38 AM Bug #17504 (Closed): Allow UTC offset without colons per ISO-8601
- Applied in changeset commit:git|9441f3f97087a4325ee80911859d37da41fa5050.
----------
Allow UTC offset without colons per ISO-8601 [Bug #17504] -
07:37 AM Bug #17504: Allow UTC offset without colons per ISO-8601
- Accepted.
Matz.
-
07:37 AM Revision 9441f3f9 (git): Allow UTC offset without colons per ISO-8601 [Bug #17504]
-
07:10 AM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- matz (Yukihiro Matsumoto) wrote in #note-4:
> I am OK with introducing a way to get the limit. But I am strongly opposed to `$-B`. Any other idea?
If we are OK with this being a constant and not a variable, `RUBY_BACKTRACE_LIMIT`.
From... -
05:50 AM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- I am OK with introducing a way to get the limit. But I am strongly opposed to `$-B`. Any other idea?
Matz.
-
07:07 AM Feature #17330: Object#non
- I don't see the `non` method make code more readable by glancing at the examples.
Can you elaborate on the benefit of the proposal?
Matz.
-
06:30 AM Feature #16806: Struct#initialize accepts keyword arguments too by default
- I am OK with 3.1 to warn, 3.2 to change.
Matz.
-
06:29 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- As of #15743, it was made clear that `RubyVM` means CRuby specific module (OK? @eregon). I am OK with renaming it `JIT` (or not).
So it's totally up to @k0kubun.
In addition, I don't think we need a migration path for this internal f... - 06:09 AM Revision 30a35420 (git): [ruby/ostruct] Bump version
-
06:05 AM Feature #17327: The Queue constructor should take an initial set of items
- I accept the idea. Take `Enumerable` as initial values.
Matz.
-
05:47 AM Feature #17496: Add constant Math::TAU
- universato (Yoshimine Sato) wrote in #note-31:
> FYI
> ...
Thank you! This is the first time I actually see the practical use of this constant. -
05:42 AM Feature #16989: Sets: need ♥️
- I agree with adding `Set` by default. But no set literals nor `SortedSet` at the moment.
Matz.
-
03:31 AM Feature #16989: Sets: need ♥️
- I'm sorry, I am completely confused by this discussion, I can't make sense of it.
From what I read:
```ruby
set = {:a, :b, :c} # or whatever notation is used
set.class # => Hash ???
set[:a] # => Hash::SetDummy ???
set[:elem] = ... -
01:48 AM Feature #16989: Sets: need ♥️
- knu (Akinori MUSHA) wrote in #note-29:
> For example, a program that goes `hash = {}; hash << 1; hash[:key] = :value` would likely be a mistake, but that couldn't be easily detected without explicit type annotation.
Well, even with t... -
01:26 AM Feature #16989: Sets: need ♥️
- I don't like the idea of making `array & hash` possible, as that would go against the trends of making Ruby type-friendly and error-prone.
akr (Akira Tanaka) wrote in #note-25:
> - define a special constant (Hash::DummyValue = Object... -
01:26 AM Feature #16989: Sets: need ♥️
- akr (Akira Tanaka) wrote in #note-25:
> - Hash#each doesn't work well as Set but we can use Hash#each_key.
To be fair, "Hash#each doesn't work well" means Enumerable methods doesn't work well.
`enum_for(:each_key)` can be used as ... -
12:13 AM Feature #16989: Sets: need ♥️
- marcandre (Marc-Andre Lafortune) wrote in #note-26:
> I still don't see the benefit of not simply having `Set` in core.
One direction that distinguishes Ruby from some other programming languages is big classes. A typical example is ... - 04:30 AM Revision 65787f18 (git): Typo fixes [doc]
- 04:29 AM Revision f48edc28 (git): Fix method protection for modules in the ancestry chain.
- [Fixes ruby/ostruct#23]
-
04:28 AM Revision 75212f2f (git): Update wording in ractor.md (#4056) [doc]
-
03:50 AM Bug #17532 (Closed): Remove `"` from `regstr` arguments in `vm_dump.c`
- Applied in changeset commit:git|d8fb0bca5475d62731ba871adf344fef88f62bbf.
----------
Removed excess stringizations on regstr [Bug #17532] -
02:17 AM Bug #17532 (Closed): Remove `"` from `regstr` arguments in `vm_dump.c`
- On AArch64 Linux, a machine register dump is printed as follows:
```
-- Machine register context ------------------------------------------------
"x0: 0x0000000000000000 "x1: 0x000000000000000b "x2: 0x0000000000000000
"x3: 0x534547... -
03:47 AM Revision d8fb0bca (git): Removed excess stringizations on regstr [Bug #17532]
-
03:16 AM Bug #17162 (Closed): Dir['**/*'] : stack smashing detected when listing big amount of directories
- Applied in changeset commit:git|083c5f08ec4e95c9b75810d46f933928327a5ab3.
----------
Check stack overflow in recursive glob_helper [Bug #17162] -
03:16 AM Revision 083c5f08 (git): Check stack overflow in recursive glob_helper [Bug #17162]
- 02:49 AM Revision a5b4b806 (git): [ruby/bigdecimal] Allow digits=0 in BigDecimal(flt) and Float#to_d
- Using dtoa of mode=0, we can determine the number of digits in decimal that is
necessary to represent the given Float number without errors.
This change permits digits=0 in BigDecimal(flt) and Float#to_d, and these
methods use dtoa of m... -
02:27 AM Revision 30f13164 (git): Skip test when UDP server is no response.
-
01:24 AM Feature #17097: `map_min`, `map_max`
- https://github.com/crystal-lang/crystal/pull/365
In Crystal language, these proposed methods are called `max_of`, `min_of`.
Note: Crystal has `max`, `max_by`, `max_of`.
This feature may not be innovative, but I think many Ruby users... - 12:36 AM Revision 0a4f719a (git): Update ext/bigdecimal/depend
- 12:08 AM Revision 28321e40 (git): Update ext/bigdecimal/depend
01/12/2021
-
10:38 PM Feature #17496: Add constant Math::TAU
- FYI
https://processing.org/reference/TAU.html
Processing may not be a general purpose language, but it has `TAU` and `TWO_PI` on its core.
Processing has `TAU` since 2013.
DOI: 10.14736/kyb-2016-6-0943
http://www.kybernetika.cz... -
10:10 AM Feature #17496: Add constant Math::TAU
- akr (Akira Tanaka) wrote in #note-25:
>However I like another name, `Math::PI2`.
akr (Akira Tanaka) wrote in #note-28:
> ...
Either one halfway nullifies the original proposal. The whole point of this issue is that $\tau$ is the... -
06:14 AM Feature #17496: Add constant Math::TAU
- akr (Akira Tanaka) wrote in #note-28:
> shyouhei (Shyouhei Urabe) wrote in #note-26:
> ...
`Math::TWOPI` is yet another idea.
-
06:02 AM Feature #17496: Add constant Math::TAU
- shyouhei (Shyouhei Urabe) wrote in #note-26:
> `M_PI_2` is π/2 rather than 2π. I guess `Math::PI2` is too confusing.
I hope that it does not cause big confusion because Ruby has no PI_2. -
05:56 AM Feature #17496: Add constant Math::TAU
- jzakiya (Jabari Zakiya) wrote in #note-23:
> **Why**
> ...
Can you tell us more about this area? A few references of research papers (preferably with an URL of doi.org) would be much appreciated. As I wrote in https://bugs.ruby-lang.... -
05:45 AM Feature #17496: Add constant Math::TAU
- `M_PI_2` is π/2 rather than 2π. I guess `Math::PI2` is too confusing.
-
05:19 AM Feature #17496: Add constant Math::TAU
- I feel a constant of Math::PI * 2 is useful especially for
`x * 360 / (Math::PI * 2)`.
We need not only `*` but also parenthesis.
`x * 360 / Math::TAU` is shorter than above.
However I like another name, Math::PI2.
-
10:19 PM Bug #17531: `did_you_mean` not Ractor friendly
- Typo: I meant a class variable, not a class instance variable.
-
07:30 PM Bug #17531 (Closed): `did_you_mean` not Ractor friendly
- The gem `did_you_mean` uses a class instance variable that does not work with Ractor.
```
$ RUBYOPT='--disable-did_you_mean' ruby -W0 -e 'Ractor.new{ begin ; nil + 42; rescue Exception => e; e.to_s end}.take'
# => prints nothing (ok... -
06:18 PM Bug #17530 (Closed): irb handles << incorrectly with variable as identifier
- If you attempt to start a here-document with an identifier that is also a variable, it is interpreted as an append, which makes sense.
That is,
> s1 = 'testing'
> ...
Gets an expected error:
> testcase.rb:4: syntax error, unexpec... - 05:11 PM Revision 4ba3a449 (git): [ruby/bigdecimal] Optimize rb_float_convert_to_BigDecimal by using dtoa
- This improve the conversion speed several times faster than before.
```
RUBYLIB= BUNDLER_ORIG_RUBYLIB= /home/mrkn/.rbenv/versions/3.0.0/bin/ruby -v -S benchmark-driver /home/mrkn/src/github.com/ruby/bigdecimal/benchmark/from_float.yml
r... - 04:58 PM Revision 2175c2c9 (git): [ruby/bigdecimal] Use pre-allocated objects for special values
- https://github.com/ruby/bigdecimal/commit/95c201f2d3
-
04:42 PM Feature #16989: Sets: need ♥️
- I still don't see the benefit of not simply having `Set` in core.
Moreover, does this make `ary & set` possible? efficient? -
04:26 PM Feature #16989: Sets: need ♥️
- knu (Akinori MUSHA) wrote in #note-23:
> akr (Akira Tanaka) wrote in #note-22:
> ...
- define a special constant (Hash::DummyValue = Object.new)
- Hash#inspect doesn't show the value: {1 => Hash::DummyValue}.inspect #=> "{1}"
- `{}` ... -
04:05 PM Feature #16989: Sets: need ♥️
- akr (Akira Tanaka) wrote in #note-22:
> I like extending Hash instead of incorporating Set.
I don't understand the impacts
One question thing that having builtin set would change:
```ruby
# shareable_constant_value: literal
X... -
04:57 AM Feature #16989: Sets: need ♥️
- akr (Akira Tanaka) wrote in #note-22:
> I like extending Hash instead of incorporating Set.
> ...
How would you implement methods and operators of Set in Hash? Would they only work for hashes that meet special conditions? -
04:46 AM Feature #16989: Sets: need ♥️
- I like extending Hash instead of incorporating Set.
For example, #inspect omit hash values.
(Of course, modifying Hash#inspect is clearly not acceptable, I think some compromise is possible) - 04:27 PM Revision 6670de82 (git): [ruby/bigdecimal] Fix exception message raised in Kernel.BigDecimal
- https://github.com/ruby/bigdecimal/commit/d163f170a4
https://github.com/ruby/bigdecimal/commit/ff8eeeb064 - 04:13 PM Revision 79d236a9 (git): * 2021-01-13 [ci skip]
-
04:12 PM Revision 0e442475 (git): [ruby/reline] Version 0.2.1
- https://github.com/ruby/reline/commit/a3b3c6ee60
-
04:12 PM Revision eb5a094f (git): [ruby/reline] Move the cursor correctly when deleting at eol
- This fixes ruby/reline#246.
https://github.com/ruby/reline/commit/07a73ba601 -
04:12 PM Revision 44817db2 (git): [ruby/reline] Handle ed_search_{prev,next}_history in multiline correctly
- The current line was being handled incorrectly when displaying the hit
history, so it has been fixed to be correct.
https://github.com/ruby/reline/commit/a3df4343b3 -
04:12 PM Revision 9fa478e3 (git): [ruby/irb] Version 1.3.1
- https://github.com/ruby/irb/commit/c230d08911
-
01:12 PM Revision 344a824e (git): [DOC] Use URI#read instead of URI.open for better compatibility
- - URI.open is available since 2.5.0, but URI#read is available since 1.8.0.
- Fix `open` without `close`.
- ref https://github.com/rurema/doctree/pull/2433 -
11:15 AM Revision 0dc95266 (git): Fix the failing test with XDG_CONFIG_HOME
-
11:15 AM Bug #17529: Ractor Segfaults with GC enabled
- Just confirmed that it only segfaults when ruby is configured with the `--enable-shared` option (which `rbenv` does by default).
Even more info:
```
glibc 2.32-5
``` -
10:21 AM Bug #17529: Ractor Segfaults with GC enabled
- @ko1
It crashes for any value of ARGV[0] between 1 and 25 (that I tested).
The fact that its happening so consistently for me and not for you makes me wonder if the problem stems from my version of Linux or GCC? Some other compile ... -
08:04 AM Bug #17529: Ractor Segfaults with GC enabled
- I couldn't reproduce it. Could you tell me `ARGV[0]`?
BTW please fill "ruby -v:" filed with your environment (even if it is in crash log)
> ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]
-
01:42 AM Bug #17529: Ractor Segfaults with GC enabled
- Thanks for the report.
Probably the same bug as #17489 -
01:06 AM Bug #17529 (Closed): Ractor Segfaults with GC enabled
- I've been benchmarking `Ractor` on my machine with the following naive prime number generator:
```ruby
# frozen_string_literal: true
def prime?(n)
2.upto(n - 1).none? { |i| n % i == 0 }
end
NUM_WORKERS = ARGV[0].to_i
pro... -
11:13 AM Feature #12607: Ruby needs an atomic integer
- ko1 (Koichi Sasada) wrote in #note-24:
> I believe introducing STM https://bugs.ruby-lang.org/issues/17261 is more general for this purpose.
True, but an atomic integer remains useful even if there is an STM.
An STM is overkill and ... -
07:54 AM Feature #12607: Ruby needs an atomic integer
- I believe introducing STM https://bugs.ruby-lang.org/issues/17261 is more general for this purpose.
-
11:03 AM Bug #17280 (Closed): Dir.glob with FNM_DOTMATCH matches ".." and "." and results in duplicated entries
- Applied in changeset commit:git|7dc0511ea4be210f82abb1c82a31aec3a4fe5736.
----------
Remove "." and ".." from Dir.glob with FNM_DOTMATCH [Bug #17280]
Co-authored-by: Jeremy Evans <code@jeremyevans.net> -
07:38 AM Bug #17280: Dir.glob with FNM_DOTMATCH matches ".." and "." and results in duplicated entries
- https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#bug-17280-dirglob-with-fnm_dotmatch-matches--and--and-results-in-duplicated-entries-jeremyevans0
> matz: try to remove "." and ".." on 3.1 (early ti... -
11:02 AM Revision 7dc0511e (git): Remove "." and ".." from Dir.glob with FNM_DOTMATCH [Bug #17280]
- Co-authored-by: Jeremy Evans <code@jeremyevans.net>
-
09:02 AM Misc #17480: DevelopersMeeting20210113Japan
- marcandre (Marc-Andre Lafortune) wrote in #note-8:
> * [Misc #0] Comment Deadline (marcandre)
> ...
Okay. In the next ticket, I will change it to 3 days and rephrase "deadline" to "recommendation".
The reason of the deadline is that a f... -
12:52 AM Misc #17480: DevelopersMeeting20210113Japan
- * [Bug #17517] `File.expand_path` returns us-ascii when both arguments are ascii compat (znz)
* `require_relative` use `expand_path`, and it returns us-ascii - 08:38 AM Revision ccabf496 (git): [ruby/bigdecimal] Fix length calculation in rb_uint64_convert_to_BigDecimal
- https://github.com/ruby/bigdecimal/commit/14e53ed7f6
-
08:24 AM Revision 1eb8eb55 (git): Convert time component strings to integers more strictly
- https://bugs.ruby-lang.org/issues/17485#change-89871
-
08:00 AM Revision b017848f (git): Show seconds of utc_offset if not zero
-
07:31 AM Feature #17363 (Assigned): Timeouts
-
06:30 AM Feature #17485: Keyword argument for timezone in Time.new
- I think `Time.new(2021, 1, 1, "+09:99")` should raise an error instead of `2021-01-01 09:00:00 +0900`.
-
05:47 AM Feature #17291: Optimize __send__ call
- mrkn (Kenta Murata) wrote in #note-3:
> I found that rspec-core redefines `__send__`.
> ...
This redefinition is used to distinguish the form of the method call in a mock object.
rspec-mocks recognizes that the form of `recv.__send__(... -
05:40 AM Feature #17330: Object#non
- I prefer "not" method than this "non" method.
`x.empty?.not`
Although `x.empty?.!` is possible now, `!` method is not very readable. -
04:57 AM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
- I think Timeout.timeout doesn't work for Addrinfo.getaddrinfo
because Timeout.timeout cannot interrupt getaddrinfo function in C. -
04:43 AM Feature #17473: Make Pathname to embedded class of Ruby
- shyouhei (Shyouhei Urabe) wrote in #note-7:
> JFYI pathname was born as a pure-ruby library, then was eventually translated into C (in commit:4bf3cb5ba9c0242bd5a6d0d55b7db9f837c09edf). Don't know the reason behind that move though. @a... -
04:10 AM Bug #17350: mongo-ruby-driver causes the segfault at program's exit
- Thank you for your investigation, mame-san!
mongo-ruby-driver has been fixed as below.
https://jira.mongodb.org/browse/RUBY-2453
So if you think this ticket is duplicated with https://bugs.ruby-lang.org/issues/16288,
There is no ... -
02:45 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- Yet another solution is to check if in schedulers?
- 12:57 AM Revision f7dc4d5c (git): tool/sync_default_gems.rb: Prevent infinite loop due to unknown options
-
12:50 AM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
- Original question is `__FILE__` and `__dir__` are us-ascii only when loaded by `relative_require`.
```
% cat hoge.rb
p __FILE__.encoding
p __dir__.encoding
% cat require_relative.rb
require_relative 'hoge'
% ruby require_relative.rb
#<E... - 12:49 AM Revision 71b17c41 (git): * 2021-01-12 [ci skip]
- 12:22 AM Revision 1d04faee (git): [ruby/bigdecimal] Use rb_cstr_convert_to_BigDecimal in GetVpValueWithPrec
- https://github.com/ruby/bigdecimal/commit/381ddf5ff6
- 12:21 AM Revision 78d3813c (git): [ruby/bigdecimal] Add rb_cstr_convert_to_BigDecimal
- https://github.com/ruby/bigdecimal/commit/ac230a996e
01/11/2021
-
08:53 PM Feature #17528 (Open): Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
- Currently, `Addrinfo.getaddrinfo` ignores the `:resolv_timeout` option if we are on a system without `getaddrinfo_a`. It would be great if instead it would fall back to using `Timeout.timeout`.
That way, we could get rid of a lot of t... -
07:01 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- although the title makes it sound obscure, this bug is actually fairly easy to trigger when using rspec and rails:
* activesupport >= 5 prepends a module onto Hash
* i18n >= 1.3 refines several methods on Hash
* power_assert (used b... -
05:59 PM Bug #17527 (Closed): rb_io_wait_readable/writable with scheduler don't check errno
- ## Problem
Playing with the new Fiber Scheduler, I noticed that `TCPServer#accept` would hung forever after closing the server from another Fiber. I expected it to be resumed and fail with IOError, as it happens with threads.
## An... -
12:13 PM Revision 66a844fd (git): Define printf qualifier prefix fallbacks
-
10:46 AM Revision 72549cfe (git): Removed ENABLE_PATH_CHECK condition [ci skip]
- This condition is useless on Ubuntu, as this macro is defined by
default on other than Windows. -
07:49 AM Bug #17526 (Closed): Avoid re-entering opt_invokebuiltin_delegate_leave
- Please backport commit:2a1c68c91efeba93c413d0736bc513179d784c50 to Ruby 3.0. According to my quick investigation, it probably doesn't cause serious issues in 3.0 implementation, but for future safety this is nice to have.
-
07:40 AM Revision 2a1c68c9 (git): Avoid re-entering opt_invokebuiltin_delegate_leave
- on interruption.
The cancellation code was originally written for leave insn, but re-entering
opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because
a builtin function is executed twice. -
05:00 AM Revision 5e00eeb4 (git): [ruby/matrix] use an exclusive range [Bug #17521]
-
02:39 AM Revision d2aaf865 (git): [ruby/etc] Added fallback definition of RUBY_ATOMIC_EXCHANGE
- https://github.com/ruby/etc/commit/0c5900bd21
-
02:39 AM Revision f6e2c41d (git): [ruby/etc] Check blocking variables at release
- https://github.com/ruby/etc/commit/f017bdfedf
01/10/2021
-
09:21 PM Bug #17521 (Closed): [Matrix stdlib] Zero matrix to the power of zero - Applied in changeset commit:git|d8c8b79d24bf0f3177535501ad9b801e552fb2ad.
----------
[ruby/matrix] Fix 0-th power [Bug #17521] (#4047) - 09:21 PM Revision d8c8b79d (git): [ruby/matrix] Fix 0-th power [Bug #17521] (#4047)
- 08:39 PM Revision 8187228d (git): Fix ractor docs (#4048) [doc]
-
08:13 PM Revision 0e015f93 (git): Adds RDoc summary of Hash methods (#4045)
- * Adds RDoc summary of Hash methods
- 03:47 PM Revision 52257640 (git): * 2021-01-11 [ci skip]
-
03:33 PM Revision 480f436d (git): Suppress constant redefinition warnings
-
01:17 PM Feature #17525 (Closed): Implement Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
- https://github.com/ruby/ruby/pull/4038
This change implements Happy Eyeballs Version 2 (RFC8305) in Socket.tcp.
It enables fallback from IPv6 to IPv4 without a long waiting time. -
12:29 PM Revision c63552ea (git): Remove possibility of using same seeds
-
11:42 AM Revision 1e827d4c (git): Moved to ruby/actions workflow [ci skip]
-
09:31 AM Feature #17524: resolv: add some more characters in IPv6 link local zone id
- Thanks for your comment and pull request. That is what I expected.
I'm looking forward it to be merged.
-
09:19 AM Revision 2adbf01a (git): dtoa.c: make thread-safe by using atomic CAS
-
07:42 AM Revision 34d02631 (git): dtoa.c: constified
- clang seems to locate never modified local data in the const
segment implicitly. -
07:28 AM Revision 63abb5c2 (git): dtoa.c: make compilable independently
- Except for `-Dxmalloc=malloc -Dxfree=free`.