Project

General

Profile

Activity

From 12/25/2020 to 12/31/2020

12/31/2020

10:55 PM Revision 3d7f7180 (git): Remove unused file
deivid (David Rodríguez)
10:47 PM Feature #17496: Add constant Math::TAU
From that post 3 years ago.
> For the time being, use math-tau gem.
> ...
Well, Python3 added it, so when do you (empirically?, subjectively?) establish it's become ``time-proven``?
How many other language adoptions does it take (oh bt...
jzakiya (Jabari Zakiya)
10:18 PM Feature #17496: Add constant Math::TAU
Relevant context is probably Matz's reason for rejection and criteria for reconsidering.
https://bugs.ruby-lang.org/issues/4897#note-41
chrisseaton (Chris Seaton)
10:16 PM Feature #17496: Add constant Math::TAU
Well, I guess this regresses to a philosophical|religious issue, it's obviously not technical. :-(
But how can adding ``TAU`` in anyway hurt Ruby?
A short list of languages I know of which now include ``TAU``:
D
C# (.NET)
F#
Nim
Zig
Ru...
jzakiya (Jabari Zakiya)
09:13 PM Feature #17496 (Rejected): Add constant Math::TAU
jzakiya (Jabari Zakiya) wrote:
> Excuse me if this has been brought up before.
It has been brought up before, by you in #13694, which was itself a duplicate of #4897. I'm rejecting this as a duplicate. However, if you think circumst...
jeremyevans0 (Jeremy Evans)
07:27 PM Feature #17496 (Open): Add constant Math::TAU
Excuse me if this has been brought up before.
This is a simple proposal to add the math constant ``Math::TAU`` = 2*``Math::PI``.
See: https://tauday.com/
``TAU`` has been included in a growing number of languages (Rust, Python3,...
jzakiya (Jabari Zakiya)
09:48 PM Bug #17497 (Closed): Ractor performance issue
There's a strange performance issue with Ractor (at least on MacOS, didn't run on other OS).
I ran a benchmark doing 3 different types of work:
* "fib": method calls (naive fibonacci calculation)
* "cpu": `(0...1000).inject(:+)`
* ...
marcandre (Marc-Andre Lafortune)
04:18 PM Bug #17495 (Closed): Make args info for RubyVM::AST to available on endless method without parens

Problem
===
Arguments information is missing for endless method without parens.
For example:
```ruby
# ok
pp RubyVM::AbstractSyntaxTree.parse(<<~RUBY).children[2]
def x() = 42
RUBY
# => (DEFN@1:0-1:12
# mid: :x
# ...
pocke (Masataka Kuwabara)
03:58 PM Revision 48cf548b (git): * 2021-01-01 [ci skip]
git[bot]
03:54 PM Revision 37e2a67a (git): Method ID of call and fcall can be const not only ident
nobu (Nobuyoshi Nakada)
02:18 PM Bug #17491: `./configure' unsuccessful on Android NDK cross-build
Thanks for the comment.
A patch is attached to solve the problem.
xtkoba (Tee KOBAYASHI)
08:37 AM Bug #17491 (Feedback): `./configure' unsuccessful on Android NDK cross-build
Currently, Ruby does not support Android officially. A patch is welcome.
I'm experimentally maintaining a CI on Android/Termux (http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/recent.html), and it is only a test environmen...
mame (Yusuke Endoh)
11:47 AM Bug #17494 (Closed): ruby is hanged when using activesupport + rspec + rspec-parameterized
# Example code
## Gemfile
```ruby
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "activesupport", "6.1.0"
gem "rspec", "3.10.0"
gem "rspe...
sue445 (Go Sueyoshi)
09:34 AM Revision d0693391 (git): merge revision(s) ed549f80b645aafd62376f65c3a27b66bafa2a38,eff0c5bf2ad47d10a440c5211be5eddb3bbf4028,f6b6a7ad345c50eeb3f7206ceabdf41ba94b7d85,5b48686691c2443d8d7113e593494c4d9302da0e,2af4c1fc5b19fc96203c2d7e917e689510d3527e,c9213aa864fb8527388679c21f1ea8ce129e2f1a,224f29c8e92094af10bc666c474b81a3545d6adf:
spec/ruby/core/process/clock_getres_spec.rb: skip on Android
in the same way as FreeBSD and OpenBSD.
I guess that the spec makes too strong assumption.
Try to avoid random failures on clock_getres_spec.rb
...
nagachika (Tomoyuki Chikanaga)
09:22 AM Feature #17473: Make Pathname to embedded class of Ruby
hsbt (Hiroshi SHIBATA) wrote in #note-9:
> I'm not sure how embedded pure-Ruby implementation to core classes. The above request is the different request.
I support making Pathname part of core Ruby. It's an extremely convenient li...
duerst (Martin Dürst)
12:01 AM Feature #17473: Make Pathname to embedded class of Ruby
>Then, we could share more of Pathname between Ruby implementations, and avoid maintaining both a Ruby and C version.
I'm not sure how embedded pure-Ruby implementation to core classes. The above request is the different request.
hsbt (Hiroshi SHIBATA)
08:25 AM Revision 18ea81fd (git): get_tmopt is no longer used
nobu (Nobuyoshi Nakada)
08:25 AM Revision 77e7082e (git): Moved Time.at to builtin
nobu (Nobuyoshi Nakada)
08:25 AM Revision 9101597d (git): Moved Time.now to builtin
nobu (Nobuyoshi Nakada)
08:23 AM Revision 93735f8f (git): Moved time.rb to timev.rb
nobu (Nobuyoshi Nakada)
08:05 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
I'm +1 to rename it. hsbt (Hiroshi SHIBATA)
07:47 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
> If we'd consider RubyVM is CRuby-specific, then it seems fine.
> ...
Didn't you clarify it by yourself at [Feature #15743]? The person who wrote the line that nobu quoted was you. You made it pretty clear that `RubyVM::MJIT` doesn't ne...
k0kubun (Takashi Kokubun)
06:40 AM Bug #17358: Backport 1ca9facab6c85264168b4c0a18c24f489cabcc9f
ruby_2_7 5cbba4d6005a03914fc47e7a65ae5b6ef76c8e29 merged revision(s) 1ca9facab6c85264168b4c0a18c24f489cabcc9f. nagachika (Tomoyuki Chikanaga)
06:40 AM Revision 5cbba4d6 (git): merge revision(s) 1ca9facab6c85264168b4c0a18c24f489cabcc9f: [Backport #17358]
Add monitor to document files nagachika (Tomoyuki Chikanaga)
06:39 AM Bug #17275: Please backport 8b0dc77a621ded75f72486c33f55404ce73f00d7
ruby_2_7 9eff912943a71745087ea4ae892774e33bd2e8ca merged revision(s) 8b0dc77a621ded75f72486c33f55404ce73f00d7. nagachika (Tomoyuki Chikanaga)
06:39 AM Revision 9eff9129 (git): merge revision(s) 8b0dc77a621ded75f72486c33f55404ce73f00d7: [Backport #17275]
configure.ac: Bump the size of sigaltstack
The RubyVM uses C macro defines to feature detect whether
`backtrace(2)` support is available, and if so it includes C level backtraces
when the RubyVM itself crashes.
...
nagachika (Tomoyuki Chikanaga)
06:37 AM Bug #15178: Wrong paramaters passing to pthread_setname_np(3)
ruby_2_7 16930b254b4e5397759d6b42845b495041b71321 merged revision(s) be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd. nagachika (Tomoyuki Chikanaga)
06:37 AM Revision 16930b25 (git): merge revision(s) be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd: [Backport #15178]
Fix pthread_setname_np arguments on NetBSD
The previous attempt to fix this in
b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument
order instead of just fixing the quote escaping.
From Takahir...
nagachika (Tomoyuki Chikanaga)
06:32 AM Feature #16378: Support leading arguments together with ...
Thank you for ping me. I backported f8b4340f into ruby_2_7 at 27fca66207f2c35f2f44f6a7cbbe6fd153546082. nagachika (Tomoyuki Chikanaga)
06:30 AM Bug #17493 (Closed): Calling Reline::Unicode.calculate_width appears to lock up when called from emacs or if output is redirected
In https://github.com/ruby/reline/pull/224 there is a test program
```
require "reline"
p Reline::Unicode.calculate_width("√")
```
as a test case for bug #17405. This program hangs when called from an emacs shell.
The prob...
rsharman (Richard Sharman)
06:19 AM Revision 27fca662 (git): Add leading arguments support to arguments forwarding
Implements [Feature #16378] nagachika (Tomoyuki Chikanaga)
06:19 AM Revision d5fb51d2 (git): Add time.rb as builtin
nobu (Nobuyoshi Nakada)
06:11 AM Revision 0fbf4d03 (git): Access to reserved word parameter like as `__builtin.arg!(:if)`
nobu (Nobuyoshi Nakada)
06:10 AM Revision e249f37f (git): merge revision(s) 45fd4436ee146f95487b1575c5a2df5cf77f4717:
Use $GITHUB_ENV instead of set-env
https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
nagachika (Tomoyuki Chikanaga)
06:05 AM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
shyouhei (Shyouhei Urabe) wrote in #note-4:
> Hello, I cannot reproduce this on any of `ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]` compiled using {clang-{3,4,5,6,7,8,9,10,11,12),gcc-{4,5,6,7,8,9,10}} on my Linux box. ...
nobu (Nobuyoshi Nakada)
03:13 AM Bug #17488 (Closed): Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
Applied in changeset commit:git|20a8425aa0f9a947e72b06cbd3a2afe9674dd18f.
----------
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: Ne...
nobu (Nobuyoshi Nakada)
03:30 AM Revision 62450e0a (git): Fixed missing NORETURN on rb_mod_const_missing
nobu (Nobuyoshi Nakada)
03:23 AM Revision 4b4dc0fa (git): Defined RBIMPL_ATTR_DEPRECATED_INTERNAL
Get rid of duplicate attributes, which may be warned or ignored
except for the first.
nobu (Nobuyoshi Nakada)
03:11 AM Revision 20a8425a (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 <[email protected]>
nobu (Nobuyoshi Nakada)
01:14 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
Sorry not to have checked back recently. The patch mentioned above works great for me.
I doubt if this is required now but here it is:
irb(main):001:0> irb_info
=>
Ruby version: 2.7.2
IRB version: irb 1.2.6 (2020-09-14)
InputMeth...
rsharman (Richard Sharman)

12/30/2020

11:59 PM Bug #17492 (Closed): Breakpoints in debug.rb only work when program invoked with absolute filename
When using the debugger, as in ruby -r debug, it seems that breakpoints sometimes are honoured and sometimes not. It turns out that it matters how the program is invoked.
For example, when debugging test.rb,
if invoked as
ruby -...
rsharman (Richard Sharman)
11:46 PM Bug #17486: Build fails on darwin due to libtool being removed
I tried the following on a Macbook Pro with Catalina and the error was still present.
```
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install
$ sudo xcode-select -s /Library/Developer/CommandLineTools
```
dark.panda (J Smith)
11:46 PM Bug #17486: Build fails on darwin due to libtool being removed
FYI: https://github.com/rbenv/ruby-build/issues/1505#issuecomment-752274233 hsbt (Hiroshi SHIBATA)
11:28 PM Bug #15499: Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
Thanks for the followup on this issue. However, was the fix ever released?
I can still reproduce this issue on the following ruby versions, using the grpc gem at version 1.34.0:
```
$ ruby -v
ruby 2.6.6p146 (2020-03-31 revision 6...
apolcyn (alex polcyn)
10:59 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
Eregon (Benoit Daloze) wrote in #note-2:
> If we'd consider RubyVM is CRuby-specific, then it seems fine.
Yes.
commit:39a43d9cd09f
```
/*
* Document-class: RubyVM
*
* The RubyVM module only exists on MRI. +RubyVM+ is...
nobu (Nobuyoshi Nakada)
03:04 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
If we'd consider RubyVM is CRuby-specific, then it seems fine.
However, that's rather unclear, and then the question is what should other Ruby implementations should do `RubyVM::MJIT` and its methods?
(other Ruby implementations might ...
Eregon (Benoit Daloze)
05:45 AM Feature #17490 (Closed): Rename RubyVM::MJIT to RubyVM::JIT
## Background
These days it's sometimes said that CRuby may add another lightweight JIT. Leaving `RubyVM::MJIT` under such a situation might imply `RubyVM::MJIT` will not impact the future JIT, but I think `MJIT.pause`/`MJIT.resume` sho...
k0kubun (Takashi Kokubun)
09:24 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
I have confirmed this too in `ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]` built with `gcc (Debian 8.3.0-6) 8.3.0`.
And also confirmed that this PR fixes the issue:
https://github.com/ruby/ruby/pull/4014
sekiyama (Tomoki Sekiyama)
04:18 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
On my mac pro (High Sierra) too:
```
$ clang --version
Apple LLVM version 10.0.0 (clang-1000.11.45.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Volumes/Media/Applications/Xcode.app/Contents/Developer/To...
marcandre (Marc-Andre Lafortune)
04:14 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
shyouhei (Shyouhei Urabe) wrote in #note-4:
> Also I want to know your `clang --version`.
```
$ clang --version
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: ...
marcandre (Marc-Andre Lafortune)
03:42 PM Bug #17488 (Feedback): Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
Hello, I cannot reproduce this on any of `ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]` compiled using {clang-{3,4,5,6,7,8,9,10,11,12),gcc-{4,5,6,7,8,9,10}} on my Linux box. Maybe an XCode glitch I suspect?
I have jus...
shyouhei (Shyouhei Urabe)
08:38 PM Feature #17475 (Rejected): Implement arguments forwarding for blocks
jeremyevans0 (Jeremy Evans)
06:46 PM Feature #17475: Implement arguments forwarding for blocks
Found it, duplicate of rejected #16605. Sorry for the noise, can be closed/rejected. svoop (Sven Schwyn)
08:26 PM Bug #17491 (Closed): `./configure' unsuccessful on Android NDK cross-build
We have no such command as `getprop` in our Android NDK cross-build environment, and so `./configure` says
```
checking whether it is Android... yes
checking for Android API version... ./configure: line 9108: getprop: command not foun...
xtkoba (Tee KOBAYASHI)
05:19 PM Revision b2030d4d (git): * 2020-12-31 [ci skip]
git[bot]
05:05 PM Revision a8014dae (git): [ruby/bigdecimal] Refactor object allocation
https://github.com/ruby/bigdecimal/commit/271cebe567 Kenta Murata
05:04 PM Revision 4569e465 (git): [ruby/bigdecimal] Remove ToValue
https://github.com/ruby/bigdecimal/commit/97e9feeebd Kenta Murata
03:10 PM 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...
Eregon (Benoit Daloze)
03:05 PM Feature #17473: Make Pathname to embedded class of Ruby
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. @akr do you remember? shyouhei (Shyouhei Urabe)
02:11 PM Revision 0284e7ca (git): Replaced deprecation macros
* DECLARE_DEPRECATED_FEATURE with RBIMPL_ATTR_DEPRECATED_SINCE
* DECLARE_DEPRECATED_INTERNAL_FEATURE with RBIMPL_ATTR_INTERNAL
And moved function declarations outside both.
nobu (Nobuyoshi Nakada)
07:42 AM Feature #17316: On memoization
IMO there should be an operator in the language directly to keep it more dry.
```ruby
def my_method # current implementation
return @cache if defined? @cache
@cache = some_heavy_calculation
end
def my_new_method
@cac...
sebyx07 (Sebastian Buza)
07:01 AM Revision ac2df891 (git): Stop managing valid class serials
`mjit_valid_class_serial_p` has no longer been used since b9007b6c548. k0kubun (Takashi Kokubun)
06:25 AM Revision 11b8bb99 (git): Minor grammar fix in String#chomp documentation
Eric Schneider
06:02 AM Revision 15c129d0 (git): Try increasing SMTP's read_timeout for --jit-wait
for random hangs like:
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3302796
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3302188
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3301293
k0kubun (Takashi Kokubun)
05:49 AM Misc #17480: DevelopersMeeting20210113Japan
* [Feature #16806] `Struct#initialize` accepts keyword arguments too by default (k0kubun)
* Is there any update on kwargs since [the last discussion](https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20200514Japan.md...
k0kubun (Takashi Kokubun)
04:06 AM Revision 8e231ffa (git): Increase timeout for reline with --jit-wait
for failures like:
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-130509
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-165132
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201228-015519
k0kubun (Takashi Kokubun)

12/29/2020

08:49 PM Feature #16746: Endless method definition
I haven't seen it mentioned in the comments so I just wanted to point out that the regular method-definition syntax doesn't require semicolons, and is very close to this experiment, given the parentheses are mandatory:
``` ruby
def fib(...
etienne (Étienne Barrié)
08:34 PM Feature #17472: HashWithIndifferentAccess like Hash extension
I believe that `HashWithIndifferentAccess` is one of the very false ideas in Rails -- and that as of today, it is a more or less common understanding in the community.
The distinction of Symbol (as a controlled internal name) and Str...
zverok (Victor Shepelev)
03:46 PM Revision c550b75c (git): * 2020-12-30 [ci skip]
git[bot]
03:23 PM Feature #17471: send_if method for improved conditional chaining
osyo (manga osyo) wrote in #note-1:
```ruby
puts number.tap { break _1 * 2 if _1 > 5 }.send(:-, 1)
puts %w(Merry Christmas).tap { break _1.map(&:upcase) if answer == 'y' }.join(' ')
```
Hello and thanks for sharing this Ruby idiom...
ozu (Fabio Pesari)
03:22 PM Revision 8d93c1e7 (git): [ruby/bigdecimal] Remove VP_EXCEPTION_MEMORY
It is no longer used due to the previous commit.
https://github.com/ruby/bigdecimal/commit/7d463f802b
Kenta Murata
03:22 PM Revision 086f3f18 (git): [ruby/bigdecimal] Remove needless pointer checks
xmalloc and xrealloc return non-NULL pointers or raise memory error.
https://github.com/ruby/bigdecimal/commit/507f0a6a64
Kenta Murata
12:12 PM Revision f6256d8b (git): bisect.sh: Apply bisect.patch if exists [ci skip]
For some external reasons, e.g. Bison 3.5.91, some commits need to
be applied retroactively in order to pass builds.
nobu (Nobuyoshi Nakada)
12:00 PM Revision b7163c71 (git): Canonicalization functions were removed already
At b958e2add835d62c0a62edaf9a23ecbbd70a3635 nobu (Nobuyoshi Nakada)
09:12 AM Bug #17477: Ractor and pp incompatibility
marcandre (Marc-Andre Lafortune) wrote in #note-4:
> I wrote a similar opinion to Martin Dürst's in #17420. I propose that we comment there (simply because the issue is older and more general)
Thanks, I wasn't aware of #17420. Should...
kirs (Kir Shatrov)
08:50 AM Revision 208192fd (git): Fixed wrong configure option
nobu (Nobuyoshi Nakada)
08:46 AM Revision 47a1f5ff (git): [ruby/bigdecimal] Define bool, true, and false for old Ruby
https://github.com/ruby/bigdecimal/commit/a6d3bd2d44 Kenta Murata
08:46 AM Revision 29d012c9 (git): [ruby/bigdecimal] Alloc wrapper object before VpAlloc
Calling TypedData_Wrap_Struct after VpAlloc may cause memory leak.
This commit reverts d11b78f9c420f39ee800b9feed4839cd28f4ff5c.
https://github.com/ruby/bigdecimal/commit/2c5a288caf
Kenta Murata
08:46 AM Revision 13b520d5 (git): [ruby/bigdecimal] Refactor to extract VpCheckException
https://github.com/ruby/bigdecimal/commit/6fd171308b Kenta Murata
08:45 AM Revision 2f42243b (git): Make more silent when -s on GNU make
nobu (Nobuyoshi Nakada)
08:45 AM Revision d57c5a7b (git): transcode-tblgen.rb: make silent a little when just -v
nobu (Nobuyoshi Nakada)
08:45 AM Revision 365df8d3 (git): transcode-tblgen.rb: send verbose messages to STDOUT
nobu (Nobuyoshi Nakada)
07:29 AM Revision 6d077851 (git): [ruby/irb] Remove unnecessary ignore_error in dispatch_seq
Just forgotten in https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f6a2825
https://github.com/ruby/irb/commit/e42e548793
k0kubun (Takashi Kokubun)
07:29 AM Revision f30a3a06 (git): [ruby/irb] Do not colorize partially-correct inspect
This is to prevent a yellow-mixed output for ActiveSupport::TimeWithZone.
Follows up https://github.com/ruby/irb/pull/159 and https://github.com/ruby/ruby/pull/3967.
https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f...
k0kubun (Takashi Kokubun)
07:07 AM Revision 9b7ceb67 (git): irb: add more syntax errors colorizing support (#3967)
no6v (Nobuhiro IMAI)
07:03 AM Revision c0a2d322 (git): Update help of sync-default-gems
k0kubun (Takashi Kokubun)
07:01 AM Revision af9d4ee1 (git): [ruby/irb] Fix failing tests
https://github.com/ruby/irb/commit/7723ade899 k0kubun (Takashi Kokubun)
07:01 AM Revision f9e80af2 (git): [ruby/irb] Add color_printer.rb to gemspec
https://github.com/ruby/irb/commit/b4df0fd8b2 k0kubun (Takashi Kokubun)
07:01 AM Revision c715fb46 (git): [ruby/irb] Enhance colored inspect output
https://github.com/ruby/irb/commit/dffcdb5269 k0kubun (Takashi Kokubun)
06:56 AM Feature #17187: Add connect_timeout to TCPSocket
@PhobosK
Many thanks for reporting the issue!
I merged your patch.
Glass_saga (Masaki Matsushita)
06:52 AM Revision 1ffb267c (git): Fix compile error of sockssocket
The patch is provided by PhobosK (Phobos Kappa).
This should be backported to Ruby 3.0.
[Feature #17187]
Glass_saga (Masaki Matsushita)
04:43 AM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
Seems commit:9e6e39c3512f7a962c44dc3729c98a0f8be90341 by bisect. nobu (Nobuyoshi Nakada)
04:09 AM Revision f8555cad (git): * 2020-12-29 [ci skip]
git[bot]
03:56 AM Revision 512e0889 (git): [ruby/bigdecimal] Refactor to decompose VpNewVarArg into small functions
https://github.com/ruby/bigdecimal/commit/7504871c48 Kenta Murata
03:54 AM Bug #17486 (Feedback): Build fails on darwin due to libtool being removed
nobu (Nobuyoshi Nakada)
03:50 AM Bug #17486: Build fails on darwin due to libtool being removed
I've heard that similar error used to occur in earlier versions too,
and `sudo xcode-select -s /Library/Developer/CommandLineTools` may fix it.
nobu (Nobuyoshi Nakada)
03:54 AM Revision d11b78f9 (git): [ruby/bigdecimal] Reduce needless object allocation in f_BigDecimal
https://github.com/ruby/bigdecimal/commit/5c808eeabb Kenta Murata

12/28/2020

10:21 PM Bug #17487 (Closed): rb_gc segfaults on ARM64 platforms
Thank you for confirming. I will close this as the issue appears to have already been fixed. jeremyevans0 (Jeremy Evans)
10:12 PM Bug #17487: rb_gc segfaults on ARM64 platforms
I cannot reproduce with 2.6.6 or 2.7.2, using those the call to rb_gc doesn't cause a segfault. josegutierrez (Jose Gutierrez de la Concha)
07:51 PM Bug #17487 (Feedback): rb_gc segfaults on ARM64 platforms
Both Ruby 2.0 and 2.3 are out of support. Can you reproduce this on Ruby 2.6, 2.7, or 3.0? jeremyevans0 (Jeremy Evans)
07:48 PM Bug #17487 (Closed): rb_gc segfaults on ARM64 platforms
I have a ruby native extension, and I see a segfault when calling rb_gc, so far I have seen this happening on arm64 platforms both rhel7 arm64 using ruby 2.0 and debian stretch arm64 using ruby 2.3
```
(gdb) bt
#0 0x0000ffffbe2251b...
josegutierrez (Jose Gutierrez de la Concha)
09:27 PM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
(coming to this bug from https://bugs.ruby-lang.org/issues/17477)
I think it's fine to force `require` to be called only from the main thread/ractor, at least for now. I can imagine that would simplify a lot of things.
I'd like to ...
kirs (Kir Shatrov)
11:58 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
That sounds like a good way to fix it.
marcandre (Marc-Andre Lafortune) wrote in #note-3:
> the main thread could spin a private thread to do the needed `require`.
Whatever code is loaded by require can check `Thread.current`, so ...
Eregon (Benoit Daloze)
08:43 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
I agree that it would be best to make require work everywhere, but always be executed in the main Reactor. That would just be part of the semantics of require (comment moved from #17477). duerst (Martin Dürst)
09:23 PM Bug #17489 (Closed): Ractor segfaults
I was able to boil it down to this script:
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem "sinatra", "~> 2.1"
end
require 'sinatra'
class App < Sinatra::Base
get '/' do
200
en...
kirs (Kir Shatrov)
09:12 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
Bug requires more than 8 keys (as in the example) marcandre (Marc-Andre Lafortune)
09:08 PM Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
I didn't run a git bisect, but this was the case already in `ruby 3.0.0preview1` marcandre (Marc-Andre Lafortune)
08:52 PM Bug #17488 (Closed): Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
Upon upgrading a library to run on Ruby 3.0, I have observed that `Hash#key?` has non-deterministic behavior when the argument uses `DelegateClass`. This non-deterministic behavior was not present in Ruby 2.7.
Reproducing this is slig...
myronmarston (Myron Marston)
08:09 PM Feature #17411: Allow expressions in pattern matching
mame (Yusuke Endoh) wrote in #note-8:
> ktsj (Kazuki Tsujimoto) wrote in #note-7:
> ...
We also already have all theses issues/possibilities (including modifying local variables on the fly):
```ruby
var = 42
proc = ->(obj) { var =...
marcandre (Marc-Andre Lafortune)
05:20 PM Feature #17411: Allow expressions in pattern matching
ktsj (Kazuki Tsujimoto) wrote in #note-7:
> If there were a obvious reason, I'd like to know that.
I can think of three reasons.
* (1) This feature makes an exhaustive check impossible (like a guard), which is not related to Ruby'...
mame (Yusuke Endoh)
04:18 PM Feature #17411: Allow expressions in pattern matching
I am basically positive.
(I've had the same idea. :) https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7?slide=64)
But I've been a little concerned most of languages which have pattern matching don't support su...
ktsj (Kazuki Tsujimoto)
07:15 PM Bug #17486 (Closed): Build fails on darwin due to libtool being removed
The following commit is causing builds in master and for the recently released Ruby 3.0.0 to fail on darwin. This was tested on macOS Mojave using the most recent XCode and Mojave patches. The error reported is as follows:
```
compil...
dark.panda (J Smith)
06:30 PM Feature #17474: Interpreting constants at compile time
Your example:
```
def m(i)
$("foo#{i}")
end
```
**_would not_** work because it doesn't evaluate at parse-time to a constant value. It requires a runtime parameter ``i``, thus it can't evaluate to a constant value/object it c...
jzakiya (Jabari Zakiya)
04:52 PM Feature #17474: Interpreting constants at compile time
> Agree but... can a JIT optimize `Set["x","y","z"].include?(v)` so that the Set is only allocated once?
Absolutely it could - TruffleRuby will today already optimise `['x', 'y', 'z'].include?('y')` to be `true` and it doesn't allocat...
chrisseaton (Chris Seaton)
04:48 PM Feature #17474: Interpreting constants at compile time
Eregon (Benoit Daloze) wrote in #note-13:
> Doesn't `private_constant` (no arguments) work? (if not, sounds worth adding)
No it doesn't work; "warning: private_constant with no argument is just ignored"
Being able to set the default...
Dan0042 (Daniel DeLorme)
12:32 PM Feature #17474: Interpreting constants at compile time
marcandre (Marc-Andre Lafortune) wrote in #note-9:
> Moreover, constants would ideally use `private_constant`, making the resulting code very verbose.
Doesn't `private_constant` (no arguments) work? (if not, sounds worth adding)
I...
Eregon (Benoit Daloze)
04:57 AM Feature #17474: Interpreting constants at compile time
Regarding "once" syntax, I've had an idea to use `BEGIN`.
```ruby
BEGIN {/#{1+2}/} #equivalent /#{1+2}/o
BEGIN {Set["x","y","z"]}.include?(v)
BEGIN {(10**6 ... 10**7)}.include?(range)
```
I haven't considere...
nobu (Nobuyoshi Nakada)
02:22 AM Feature #17474: Interpreting constants at compile time
Some time ago I thought of basically the same idea, but in the end decided that constants were the appropriate way to handle this, so I didn't make it a proposal.

But the cases presented by Marc-Andre are remarkably compelling. It's ...
Dan0042 (Daniel DeLorme)
04:42 PM Bug #15857: <=> の右辺が <=> を実装していない場合の振る舞い
In doing a bit of maintenance work for the ruby-units gem this issue came up. I think there may be some additional methods that now need to be generated in the C code. See the following example.
```
c = Complex(1,0)
c <=> 1 # => 0
...
kolbrich (Kevin Olbrich)
02:53 PM Feature #17187: Add connect_timeout to TCPSocket
You forgot to add the new parameter *connect_timeout* to the return statement of the function **socks_init** in sockssocket.c.
Thus the now available official sources of Ruby 3.0.0 cannot compile when sockets are enabled giving the erro...
PhobosK (Phobos Kappa)
02:47 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
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.
For example, suppose I have a script like this:...
neg_hide (Hidenori Negishi)
02:05 PM Bug #17484: pry & byebug gems not working properly with Ruby 3.0.0
It works perfectly for me. Did you `gem install pry-byebug`? mame (Yusuke Endoh)
01:41 PM Bug #17484 (Closed): pry & byebug gems not working properly with Ruby 3.0.0
When I try to use pry with version 3, it won't allow me. For example when I type in the command next in the terminal, an error message says: "can't escape from eval with next". When using byebug's command step, version 3 I get an error ... pabs08 (Pablo Vent)
02:04 PM Feature #17485 (Closed): Keyword argument for timezone in Time.new
Currently, `Time.at` and `Time.now` accept a timezone as a keyword argument, but not `Time.new`.
This means minor arguments cannot be omitted for `Time.new`.
```ruby
Time.new(2021, 1, 1, 0, 0, 0, "+09:00") #=> ok: 2021-01-01 00:00:0...
nobu (Nobuyoshi Nakada)
12:38 PM Feature #17473: Make Pathname to embedded class of Ruby
I thought about FileUtils too, but it's required lazily for these two methods.
So I think it might be fine to move only Pathname to core, and accept that `Pathname#{mkpath,rmtree}` `require`s `fileutils` when used.
I think having par...
Eregon (Benoit Daloze)
12:30 AM Feature #17473: Make Pathname to embedded class of Ruby
Dan0042 (Daniel DeLorme) wrote in #note-4:
> Isn't Pathname dependent on FileUtils though?
Yes. It uses only `FileUtils.mkpath` and `rm_r`. Rubygems also uses them, so @hsbt is preparing to propose making a very limited set of FileUt...
mame (Yusuke Endoh)
12:35 PM Feature #16378: Support leading arguments together with ...
Agreed it should be in 2.7 (well, I've said since the beginning of this issue :D).
Right now, I consider `...` non-existing because it's almost never usable due to the restrictions in 2.7.
Eregon (Benoit Daloze)
12:26 PM Revision 06b44f81 (git): [ruby/bigdecimal] [Doc] Fix the document of BigDecimal()
[ci-skip]
https://github.com/ruby/bigdecimal/commit/905d0345ec
Kenta Murata
12:16 PM Revision 80d9e457 (git): [ruby/bigdecimal] Reduce conditional branch count in VpNewVarArg
https://github.com/ruby/bigdecimal/commit/741fb3e00f Kenta Murata
11:53 AM Feature #17472: HashWithIndifferentAccess like Hash extension
naruse (Yui NARUSE) wrote in #note-11:
> I think it will not fast.
Before we start considering performance trade-offs,
do we even have a benchmark where time spent in HashWithIndifferentAccess is significant for a Rails app?
Eregon (Benoit Daloze)
11:24 AM Feature #17472: HashWithIndifferentAccess like Hash extension
byroot (Jean Boussier) wrote in #note-10:
> > A feature to implement Rails's ActiveSupport::HashWithIndifferentAccess
> ...
I think it will not fast.
naruse (Yui NARUSE)
11:22 AM Feature #17472: HashWithIndifferentAccess like Hash extension
> A feature to implement Rails's ActiveSupport::HashWithIndifferentAccess
Would it be possible to have a "hook" akin to `convert_key`?
e.g. something like:
```
hash = {}
hash.coerce_key = ->(key) { key.is_a?(Symbol) ? key.name...
byroot (Jean Boussier)
03:41 AM Feature #17472: HashWithIndifferentAccess like Hash extension
My intention is
* A feature to implement Rails's ActiveSupport::HashWithIndifferentAccess, not providing HashWithIndifferentAccess itself.
* the key of internal hash should be symbol though ActiveSupport::HashWithIndifferentAccess uses...
naruse (Yui NARUSE)
10:52 AM Revision 09aca50f (git): Adjusted styles [ci skip]
nobu (Nobuyoshi Nakada)
10:43 AM Revision 2eea9156 (git): Adjusted indents [ci skip]
nobu (Nobuyoshi Nakada)
10:41 AM Feature #16476: Socket.getaddrinfo cannot be interrupted by Timeout.timeout
Dan0042 (Daniel DeLorme) wrote in #note-16:
> naruse (Yui NARUSE) wrote in #note-15:
> ...
Both `Timeout.timeout` and `deadline` is not the essential problem of this topic. The topic this ticket handles is "getaddrinfo is not interruptab...
naruse (Yui NARUSE)
09:41 AM Revision a0d1152d (git): [ruby/drb] Removed needless files from Gem::Specification#files
https://github.com/ruby/drb/commit/61c49af71b hsbt (Hiroshi SHIBATA)
07:20 AM Revision e6fee2b6 (git): [ruby/pp] Removed needless files from Gem::Specification#files
https://github.com/ruby/pp/commit/272d4befeb hsbt (Hiroshi SHIBATA)
07:19 AM Revision 8b387bcf (git): [ruby/pp] Drop to support < Ruby 2.7
https://github.com/ruby/pp/commit/e92228964b hsbt (Hiroshi SHIBATA)
06:47 AM Bug #17477: Ractor and pp incompatibility
I wrote a similar opinion to Martin Dürst's in #17420. I propose that we comment there (simply because the issue is older and more general) marcandre (Marc-Andre Lafortune)
02:25 AM Bug #17477: Ractor and pp incompatibility
My preference would be to make `require` work everywhere, but always be executed in the main Reactor. That would just be part of the semantics of `require`. duerst (Martin Dürst)
03:44 AM Revision 2556cd3f (git): Bypass check for warning_category on internal calls
nobu (Nobuyoshi Nakada)
03:12 AM Revision 64d79d33 (git): Suppress too big exponent warnings
nobu (Nobuyoshi Nakada)
12:45 AM Bug #17476 (Assigned): 3.0/specifications/default/net-*.gemspec repeats the same files
hsbt (Hiroshi SHIBATA)
12:43 AM Bug #17483 (Rejected): Array#insert is pathologically slow
In short, it is unavoidable.
Currently, an array is internally represented as consecutive memory area. Adding new elements into the middle of an array requires reallocation of the array, which takes O(n). Therefore, calling Array#inse...
mame (Yusuke Endoh)

12/27/2020

11:59 PM Bug #17483 (Rejected): Array#insert is pathologically slow
I ran some generic Array method benchmarks:
https://github.com/djberg96/berger_spec/blob/ruby23/bench/core/bench_array.rb (comment out nitems first)
https://github.com/djberg96/berger_spec/blob/ruby23/bench/core/Array/bench_insert....
djberg96 (Daniel Berger)
10:29 PM Feature #17474: Interpreting constants at compile time
(Unassigning, as there is no acceptable proposal yet) marcandre (Marc-Andre Lafortune)
10:28 PM Feature #17474 (Open): Interpreting constants at compile time
tldnr; I feel that the possibility to have "inline shareable constant expressions" could improve expressiveness and allow for easier optimizations.
> There is no "compile time" for Ruby, and there is no way to execute arbitrary Ruby co...
marcandre (Marc-Andre Lafortune)
04:08 PM Feature #17474 (Rejected): Interpreting constants at compile time
There is no "compile time" for Ruby, and there is no way to execute arbitrary Ruby code at any other time than runtime.
Simply use constants if you want to ensure things are computed once, or rely on the JIT if it's simple enough:
``...
Eregon (Benoit Daloze)
01:44 PM Feature #17474: Interpreting constants at compile time
Also to reiterate, this "feature" also applies to string constants.
So ``[["Hello World".reverse * 3"]]`` # => ``"dlroW olleHdlroW olleHdlroW olleH"``
would be interpolated at compile time with its results used at runtime.
I wou...
jzakiya (Jabari Zakiya)
03:41 AM Feature #17474: Interpreting constants at compile time
I think you're missing my point.
I agree 100% the compiler(s) should do it, but they don't, not across all CRuby versions, and other VMs.
I am proposing standard semantics to provide for users they can ensure this happens going for...
jzakiya (Jabari Zakiya)
03:17 AM Feature #17474: Interpreting constants at compile time
> What about something like `Math.sqrt(Math.log(2*PI))`?
Isn't that obviously a constant as well? Or at least `Math.sqrt(Math.log(2*Math::PI))` is. (Again, apart from any method redefinition that can be handled separately.)
Some Ru...
chrisseaton (Chris Seaton)
03:08 AM Feature #17474: Interpreting constants at compile time
But is that the case?
Does ``10**6`` get's used at runtime as ``1_000_000``?
What about something like ``Math.sqrt(Math.log(2*PI))``? This is a constant that should be determined at compile time.
Providing semantics to allow us...
jzakiya (Jabari Zakiya)
02:39 AM Feature #17474: Interpreting constants at compile time
But why do you need to specially mark expressions as constant? `10**6` is already obviously constant (modulo the redefinition of `#**` which we could deal with separately.) Why not evaluate everything that is obviously constant at compil... chrisseaton (Chris Seaton)
02:36 AM Feature #17474: Interpreting constants at compile time
My intent is to ensure the operations needed to create the constant values are performed at compile time (not runtime) and the results are compiled to use at runtime.
It doesn't seem like in cases using multiple operations, as in the ex...
jzakiya (Jabari Zakiya)
09:39 PM Revision 228ad7d8 (git): doc/ractor.md: Fix indentation
Reintroduce removed empty line to fix indentation on rendered page
(the first line is _not_ indented despite the leading spaces,
and ends up "outdented" compared to the rest of the block).
Also add a missing "-".
stomar (Marcus Stollsteimer)
09:09 PM Revision cf1f9bdc (git): Language tweaks to Fiber [doc]
Marc-Andre Lafortune
08:08 PM Feature #17472: HashWithIndifferentAccess like Hash extension
Count me in the "No" camp.
`HashWithIndifferentAccess` has horrible semantics. It may have had a reason to be when Ruby didn't support symbol garbage collection and Rails didn't require an explicit mapping of HTTP Request to params, b...
marcandre (Marc-Andre Lafortune)
07:09 PM Feature #17472: HashWithIndifferentAccess like Hash extension
I'm also against this, but I think a more general-purpose version might be ok. In my code I use a `NormalizedHash` class which calls `key = normalize(key)` for every method with a `key` argument (as well as `merge`, etc.) I use this base... Dan0042 (Daniel DeLorme)
05:13 PM Feature #17472: HashWithIndifferentAccess like Hash extension
I am against adding this in principle. One of the harder things for new Ruby programmers to understand is the difference between symbols and strings. This is even more difficult for programmers learning Ruby and Rails at the same time,... jeremyevans0 (Jeremy Evans)
04:14 PM Feature #17472: HashWithIndifferentAccess like Hash extension
I don't think C code will be more efficient for things like https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/activesupport/lib/active_support/hash_with_indifferent_access.rb#L367.
And translating the rest of t...
Eregon (Benoit Daloze)
10:44 AM Feature #17472: HashWithIndifferentAccess like Hash extension
+1, if Rails people really want it, and if it brings performance improvement. We need to experiment, but in principle, it looks to me a good idea to provide small but simple improvements that we can use immediately in Ruby 3.1. We mainly... mame (Yusuke Endoh)
07:41 PM Feature #16378: Support leading arguments together with ...
@nagachika I would really like to see this backported to 2.7 ... may I ask for the status? Dan0042 (Daniel DeLorme)
07:19 PM Feature #17473: Make Pathname to embedded class of Ruby
mame (Yusuke Endoh) wrote in #note-2:
> Though FileUtils and Tsort are relatively easy to be removed from the dependencies, Pathname looks difficult.
Isn't Pathname dependent on FileUtils though?
Dan0042 (Daniel DeLorme)
04:16 PM Feature #17473: Make Pathname to embedded class of Ruby
I forgot to mention, +1 from me for Pathname in core, if it's written mostly in Ruby. Eregon (Benoit Daloze)
10:57 AM Feature #17473: Make Pathname to embedded class of Ruby
The proposal lacks one background, so I'd like to add it. Rubygems cannot allow uesrs to choose the version of a gem that rubygems itself are using. So, we want to make Rubygems independent with any gems. According to @hsbt, Rubygems is ... mame (Yusuke Endoh)
06:27 PM Feature #16476: Socket.getaddrinfo cannot be interrupted by Timeout.timeout
naruse (Yui NARUSE) wrote in #note-15:
> It's a long requested series of improvements for HTTP client like read_timeout, connect_timeout, and write_timeout.
> ...
How common is it to need separate timeouts for all of these? I can easily ...
Dan0042 (Daniel DeLorme)
09:45 AM Feature #16476 (Open): Socket.getaddrinfo cannot be interrupted by Timeout.timeout
ioquatix (Samuel Williams) wrote in #note-12:
> * I'm not convinced that getaddrinfo_a is a good idea, it has a user-space thread pool and the implementation doesn't seem great.
https://github.com/ruby/ruby/commit/2038cc6cab6ceeffef3ec3...
naruse (Yui NARUSE)
05:30 PM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
Maybe a solution would be to do all `require` in the main Ractor?
Something like whenever a new Ractor is created, the main thread could spin a private thread to do the needed `require`. When a `require` call happens, or a constant ne...
marcandre (Marc-Andre Lafortune)
05:03 PM Bug #17481 (Closed): Keyword arguments change value after calling super without arguments in Ruby 3.0
Applied in changeset commit:git|c8010fcec016ee89aa0c45fe31094b2db0023e5c.
----------
Dup kwrest hash when merging other keyword arguments [Bug #17481]
nobu (Nobuyoshi Nakada)
01:56 PM Bug #17481: Keyword arguments change value after calling super without arguments in Ruby 3.0
Bisect resulted in commit:d2c41b1bff1f3102544bb0d03d4e82356d034d33. nobu (Nobuyoshi Nakada)
12:40 PM Bug #17481 (Closed): Keyword arguments change value after calling super without arguments in Ruby 3.0
There seems to be a bug in Ruby 3.0 regarding keyword arguments and calling super without arguments, where the splatted variable changes its value after super is called. The following self-contained example reproduces the issue:
``` r...
janko (Janko Marohnić)
04:52 PM Revision c8010fce (git): Dup kwrest hash when merging other keyword arguments [Bug #17481]
nobu (Nobuyoshi Nakada)
04:39 PM Revision cc055d4d (git): * 2020-12-28 [ci skip]
git[bot]
04:35 PM Revision 727c97da (git): Update to ruby/spec@4ce9f41
Eregon (Benoit Daloze)
04:35 PM Revision 267bed0c (git): Update to ruby/mspec@a40a674
Eregon (Benoit Daloze)
04:24 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
ioquatix (Samuel Williams) wrote in #note-2:
> Actually, that's not necessarily true, even for the current implementation, see `getaddrinfo` for example.
You're completely evading my question :p
Could you answer it please?
That's...
Eregon (Benoit Daloze)
06:44 AM Feature #17470: Introduce non-blocking `Timeout.timeout`
It appears that `Timeout.timeout` does not work when a Fiber scheduler is set, regardless of the implementation, even when Fibers are not explicitly in use.
Simple example using the [sample scheduler](https://github.com/ruby/ruby/blob...
jsc (Justin Collins)
04:20 PM Bug #17477: Ractor and pp incompatibility
I doubt `require` can ever be supported in a Ractor, see #17420.
It seems there is no good solution for this, and besides this problem not only happens with `pp` but with any kind of "autoloaded" library/gem.
Eregon (Benoit Daloze)
08:14 AM Bug #17477 (Closed): Ractor and pp incompatibility
```ruby
r = Ractor.new do
pp("foobar")
end
Ractor.select(r)
```
fails with:
```
#<Thread:0x00007f973414a050 run> terminated with exception (report_on_exception is true):
<internal:/opt/rubies/3.0.0/lib/ruby/3.0.0/rubygems/...
kirs (Kir Shatrov)
04:03 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
What's the use case?
I think we should encourage to use `Exception#full_message` (instead of manually formatting backtraces), and that could default to apply the limit.
Related: https://github.com/ruby/ruby/commit/f6a080047e960e8b1821a97...
Eregon (Benoit Daloze)
11:06 AM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
+1 if we can provide `-B` option too. mame (Yusuke Endoh)
10:03 AM Feature #17479 (Closed): Enable to get "--backtrace-limit" value by "$-B"
# Background
There is currently no way to get "--backtrace-limit" value when outputing backtraces from my script, so I have to ignore this value and output backtraces.
In order to be able to output according to "--backtrace-limit" ...
neg_hide (Hidenori Negishi)
02:33 PM Revision a0420434 (git): Do not include external library sources into packages
nobu (Nobuyoshi Nakada)
02:28 PM Bug #17482 (Assigned): Ractor.receive doesnt accept Ctrl+C under some condition
Thank you for the report, I could reproduce it. ko1 (Koichi Sasada)
01:41 PM Bug #17482 (Closed): Ractor.receive doesnt accept Ctrl+C under some condition
When I run this script, Ctrl+C doesn't work.
Waiting forever on #4 is fine, but I think Ctrl+C should work.
``` ruby
r = Ractor.new() {
# sleep 1 #1
File.open(__FILE__){ } #2
}
# sleep 1 ...
riskwa (riskwa anon)
12:42 PM Misc #17480: DevelopersMeeting20210113Japan
* [Feature #17327] The `Queue` constructor should take an initial set of items (chrisseaton)
* This simple feature captures a common pattern. There's a PR with an implementation based on initial feedback and specs https://github.com/ru...
chrisseaton (Chris Seaton)
11:08 AM Misc #17480: DevelopersMeeting20210113Japan
* [Feature #17472] `HashWithIndifferentAccess` like `Hash` extension (mame)
* It is a good idea for Ruby 3.1 to provide small but immediate improvements like this. The constant name should be discussed.
* [Feature #17473] Make `Pathnam...
mame (Yusuke Endoh)
10:17 AM Misc #17480 (Closed): DevelopersMeeting20210113Japan
# The next dev meeting
**Date: 2021/01/13 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210113Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ...
mame (Yusuke Endoh)
11:50 AM Revision f6a08004 (git): Limit bactrace length from Exception#full_message
nobu (Nobuyoshi Nakada)
10:35 AM Revision 730b0099 (git): Get rid of inconsistent dll linkages against vcpkg readline
nobu (Nobuyoshi Nakada)
10:24 AM Feature #16989: Sets: need ♥️
FYI: SortedSet has been extracted out from set.rb since 3.0. So there is no longer the dependency problem. mame (Yusuke Endoh)
10:19 AM Revision 0a2e4a8f (git): Removed declarations conflicting on MinGW
nobu (Nobuyoshi Nakada)
10:17 AM Misc #17346 (Closed): DevelopersMeeting20201210Japan
mame (Yusuke Endoh)
09:25 AM Bug #17220 (Closed): Rails Active Job integration test fails with Ruby 3.0.0 since 2038cc6cab6ceeffef3ec3a765c70ae684f829ed
naruse (Yui NARUSE)
09:09 AM Bug #17478 (Closed): Ruby3.0 is slower than Ruby2.7.2 when parsing a large CSV file
Ruby3.0 is around 10%-20% slower than Ruby2.7.2 when parsing and aggregating a large CSV file.
The script is here:
```ruby
require "csv"
name_to_cost = Hash.new(0)
CSV.foreach(ARGV[0], headers: true) do |row|
name_to_cost[r...
okkez (okkez _)
07:50 AM Revision ecfbd972 (git): win32: Removed never used/worked functions
Almost certainly, these have never been used in external extension
libraries. If any had, these would have had to be declared in
headers.
nobu (Nobuyoshi Nakada)
07:49 AM Revision 90dd4820 (git): win32: Declared wait and fixed the return type
nobu (Nobuyoshi Nakada)
06:50 AM Revision 260d626e (git): Ignore symbols declared in the platform header
nobu (Nobuyoshi Nakada)
06:50 AM Revision 366b58d7 (git): Ignore objects from the "missing" directory
nobu (Nobuyoshi Nakada)
06:50 AM Revision 0957814c (git): Get rid of \K for old BASERUBYs which have a bug in String#scan
nobu (Nobuyoshi Nakada)
06:50 AM Revision d55d0331 (git): Exclude entry points
nobu (Nobuyoshi Nakada)
06:50 AM Revision 46ab4fcf (git): Support AC_FUNC_MEMCMP
nobu (Nobuyoshi Nakada)
06:50 AM Revision b73d256f (git): Check leaked global symbols under more various conditions
nobu (Nobuyoshi Nakada)
06:27 AM Revision 441cd156 (git): [ruby/csv] Fix typo [ci skip]
https://github.com/ruby/csv/commit/117bcf311e Kenta Murata
06:27 AM Revision 677ccb92 (git): [ruby/csv] fix typo conveters => converters for CSV parsing docs (#196)
https://github.com/ruby/csv/commit/77ccf486fe Sampat Badhe
06:26 AM Revision cd2c726b (git): [ruby/csv] Bump version
https://github.com/ruby/csv/commit/5855c017ef Sutou Kouhei
01:28 AM Bug #17476 (Closed): 3.0/specifications/default/net-*.gemspec repeats the same files
I guess net-* generated gemspec during ruby build assumes that the net/ directory only contains its files (as it happens on standalone gem builds):
``` shell
/usr/lib/ruby/gems/3.0/specifications/default/net-ftp-0.1.1.gemspec: s.f...
luizluca (Luiz Angelo Daros de Luca)

12/26/2020

10:29 PM Feature #17370: Introduce non-blocking `Addrinfo.getaddrinfo` and related methods.
In order to implement this hook, we need to expose the C interface to extensions:
https://github.com/ruby/ruby/pull/3945
ioquatix (Samuel Williams)
10:02 PM Revision 7459fcb3 (git): * 2020-12-27 [ci skip]
git[bot]
09:51 PM Revision ab6adf27 (git): doc/ractor.md: Fix indentation in code blocks
Remove unnecessary indentation of code in code blocks
(it is also not rendered properly in the generated HTML).
Also remove an empty line.
stomar (Marcus Stollsteimer)
09:50 PM Revision 0a867315 (git): [DOC] Fix typos in vm_method.c
stomar (Marcus Stollsteimer)
09:49 PM Revision 114840b0 (git): [DOC] Fix typo in proc.c
stomar (Marcus Stollsteimer)
09:40 PM Feature #17474: Interpreting constants at compile time
Why do we need a new syntax to do this? Couldn't the compiler already work out `10**6` at compile-time, and invalidate the constant if `Integer#**` is redefined?
Or is the idea that `[...]` will contain expressions that potentially ha...
chrisseaton (Chris Seaton)
04:36 PM Feature #17474 (Open): Interpreting constants at compile time
Ruby has borrowed concepts/idioms from allot of languages.
I am proposing borrowing a feature from Forth to provide for compile time interpretation of Constants.
This should make executed code faster|efficient, while maintaining sour...
jzakiya (Jabari Zakiya)
09:36 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
> Timeout.timeout must be able to interrupt non-IO operations as well.
Actually, that's not necessarily true, even for the current implementation, see `getaddrinfo` for example.
ioquatix (Samuel Williams)
12:48 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
How would that work, what would be a sample implementation of the hook?
`Timeout.timeout` must be able to interrupt non-IO operations as well.
Eregon (Benoit Daloze)
07:42 AM Feature #17470 (Closed): Introduce non-blocking `Timeout.timeout`
In this bug report, user complained that `Timeout.timeout` does not work correctly with scheduler: https://github.com/socketry/async-io/issues/43
We should introduce non-blocking timeout.
I propose the following:
```
rb_fiber_s...
ioquatix (Samuel Williams)
06:57 PM Feature #17475 (Rejected): Implement arguments forwarding for blocks
In a gem, I create a bunch of initializer shortcuts as follows:
# Shortcut initializers
CLASSES.each do |element, class_name|
define_singleton_method(element) do |*args, **kwargs|
class_name.to_class.new(*args...
svoop (Sven Schwyn)
02:49 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
naruse (Yui NARUSE) wrote in #note-11:
> * Time#sql_timestamp for serializer
Time#sql_timestamp needs to convert rational subsec to finite digits (or raise an error).
truncate to nanoseconds?
akr (Akira Tanaka)
02:16 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
What about making `Time.new(string)` to work more?
```ruby
Time.new("2020-12-25 17:09:16 +0900") #=> 2020-01-01 00:00:00 +0900
Time.new("2020-12-25 08:09:16 UTC") #=> 2020-01-01 00:00:00 +0900
```
It is surprising that only th...
nobu (Nobuyoshi Nakada)
01:42 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
kamipo says Rails 6.1 uses their RDB driver's implementation to decode serialized string into Time object.
https://twitter.com/kamipo/status/1342820891256733696
For example PostgreSQL as below:
* https://github.com/rails/rails/pull/...
naruse (Yui NARUSE)
11:07 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
We (akr, naruse and matsuda) discussed this issue.
- implementing this method, Time.sql_timestamp(string), in time.c would be faster implementation than Ruby version because it avoids several string object allocations: `/(\d+)-(\d\d)-(\...
akr (Akira Tanaka)
11:00 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
https://pubs.opengroup.org/onlinepubs/9695959099/toc.pdf
P.42 says " If the application or the user cannot infer a time zone (for example, from the context of the user’s session) then the date/time value is ambiguous."
* C implementatio...
naruse (Yui NARUSE)
01:24 PM Bug #17469: Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
Thanks for both of the responses. I'm using the latest supported compiler/Xcode.
Ruby needs a wiki page explaining what is in scope and what is out of scope.
jasnow (Al Snow)
03:59 AM Bug #17469: Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
Seems a compiler related issue.
Try more recent Xcode.
nobu (Nobuyoshi Nakada)
01:23 AM Bug #17469 (Rejected): Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
MacOS 10.12.6 is too old environment. We couldn't care it.
hsbt (Hiroshi SHIBATA)
12:56 PM Feature #17471: send_if method for improved conditional chaining
hi.
How about using `#tap` + `break` ?
```ruby
# Proposal
puts number.send_if(:*, 2) {|obj| obj > 5}.send(:-, 1)
puts %w(Merry Christmas).send_if(:map, proc: :upcase ) { answer == 'y' }.join(' ')
# tap + break
puts number.tap ...
osyo (manga osyo)
10:37 AM Feature #17471 (Open): send_if method for improved conditional chaining
# Background
Method chaining is very important to many Ruby users, since everything in Ruby is an object.
It also allows easier functional programming, because it implements a pipeline where each step can happen without mutation.
...
ozu (Fabio Pesari)
12:53 PM Feature #17472: HashWithIndifferentAccess like Hash extension
Isn't a C extension in a gem enough?
Also what specifically would writing it in C instead of Ruby gain?
Intuitively I'd think there would be no significant gain to write it in C.
Is there any profile showing a significant amount o...
Eregon (Benoit Daloze)
11:06 AM Feature #17472: HashWithIndifferentAccess like Hash extension
❤️ matsuda (Akira Matsuda)
11:04 AM Feature #17472 (Rejected): HashWithIndifferentAccess like Hash extension
Rails has [ActiveSupport::HashWithIndifferentAccess](https://api.rubyonrails.org/classes/ActiveSupport/HashWithIndifferentAccess.html), which is widely used in Rails to handle Request, Session, ActionView's form construction, ActiveRecor... naruse (Yui NARUSE)
12:45 PM Feature #17473: Make Pathname to embedded class of Ruby
If we do so, could we actually define most of Pathname in Ruby, and not in C?
Right now, https://github.com/ruby/ruby/blob/3fc53de5c961cc8fa2b6acbd63874b89fe709520/ext/pathname/pathname.c is essentially just a bunch of rb_funcall() ca...
Eregon (Benoit Daloze)
12:00 PM Feature #17473 (Closed): Make Pathname to embedded class of Ruby
pathname is one of most useful utility class of Ruby. I'm happy to use Pathname without require it.
Any thought?
hsbt (Hiroshi SHIBATA)
09:40 AM Revision 3fc53de5 (git): methods.rdoc: Improve method definition documentation
* typos, grammar, formatting
* use `concrete_method` again in `regular_method` example,
to better distinguish from `forwarding_method` example
* clarify that leading arguments before `...` require Ruby 3.0
stomar (Marcus Stollsteimer)
09:40 AM Revision ce65a768 (git): methods.rdoc: Clarify "currently" means "in 2.7" here
stomar (Marcus Stollsteimer)
09:31 AM Revision 858f9aa4 (git): Update labels of badges [ci skip]
znz (Kazuhiro NISHIYAMA)
08:09 AM Revision 3a0a0869 (git): Add 3.0 top sepc guards
* Needs WEBrick nobu (Nobuyoshi Nakada)
07:40 AM Feature #17369: Introduce non-blocking `Process.wait`, `Kernel.system` and related methods.
We introduced experimental feature and implemented non-blocking hook for Ruby 3.
More work is required here, but we didn't make it in time for Ruby 3.0 - so we marked it as experimental.
We also need to implement `rb_f_system` in t...
ioquatix (Samuel Williams)
06:10 AM Revision bb04856b (git): [ruby/racc] Bump version to 1.5.2
https://github.com/ruby/racc/commit/ce0d7b9cde hsbt (Hiroshi SHIBATA)
06:10 AM Revision 533bf6f1 (git): [ruby/racc] Use Racc::VERSION for gemspec
https://github.com/ruby/racc/commit/30f5760d85 hsbt (Hiroshi SHIBATA)
04:26 AM Bug #17373: Ruby 3.0 is slower at Discourse bench than Ruby 2.7
In my early benchmarks:
## Async
### ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
```
Wrapper#wait_readable
114.385k (± 1.0%) i/s - 573.250k in 5.012051s
Reactor#register 137.206...
ioquatix (Samuel Williams)
03:17 AM Revision 15e19207 (git): Fix a cyclic explanation
k0kubun (Takashi Kokubun)
01:27 AM Feature #13368 (Closed): Improve performance of Array#sum with float elements
https://github.com/ruby/ruby/pull/1555 was merged at https://github.com/ruby/ruby/commit/2d001003e4b3a6c20ead09ed54b6726a7669f457 hsbt (Hiroshi SHIBATA)
12:45 AM Revision dc13bd22 (git): Ignore failure on unsupported fcntl to drop non-blocking mode
Fixes https://github.com/ruby/ruby/pull/3723 nobu (Nobuyoshi Nakada)
12:39 AM Revision 292230cb (git): Fixed leaked global symbols
nobu (Nobuyoshi Nakada)
12:39 AM Revision 73cd4951 (git): Reduced GitHub Actions
Moved leaked-globals before check. nobu (Nobuyoshi Nakada)

12/25/2020

05:24 PM Bug #17469 (Rejected): Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
Description
* Ruby 3.0.0 do not install cleanly on MacOS 10.12.6.
Steps to Reproduce
* Following instructions at the bottom of
* https://www.ruby-lang.org/en/documentation/installation
* Downloaded ruby-3.0.0.tar.gz file. (w...
jasnow (Al Snow)
04:41 PM Revision d4ba88bc (git): * 2020-12-26 [ci skip]
git[bot]
04:40 PM Revision 6083fed3 (git): Use `size_t` for `RSTRING_LEN` in String#count
https://hackerone.com/reports/1042722 nobu (Nobuyoshi Nakada)
01:23 PM Revision 92f9f998 (git): test/test_trick.rb: fixed the position to add timeout
nobu (Nobuyoshi Nakada)
01:10 PM Revision 255ee4de (git): Update method definition documentation
* Add endless methods
* Add argument forwarding ...
zverok (Victor Shepelev)
01:09 PM Revision aaf0474e (git): Adjusted the heading level of "Block Arguments" [ci skip]
nobu (Nobuyoshi Nakada)
12:58 PM Revision a01d28fe (git): test/test_trick.rb: increase timeout of some tests
http://rubyci.s3.amazonaws.com/raspbian10-armv7l/ruby-master/log/20201225T071824Z.fail.html.gz mame (Yusuke Endoh)
11:11 AM Revision 7a4b8d87 (git): [memory_view] Fix a comment
A consumer of a MemoryView no longer guards the original object.
[ci skip]
Kenta Murata
09:32 AM Feature #17468 (Closed): Deprecate RUBY_DEVEL
Some configuration of Ruby use RUBY_DEVEL, which depends PATCH_LEVEL.
But depending PATCH_LEVEL causes issues which will become revealed on the final release.
Though we release some previews and RCs, they don't contributes the quality ...
naruse (Yui NARUSE)
08:43 AM Revision ddacff2b (git): Follow up on variations of the development start messages [ci skip]
nobu (Nobuyoshi Nakada)
08:31 AM Revision 7e3d710a (git): Copy NEWS.md to doc/NEWS-3.0.0.md and update for 3.1.0
znz (Kazuhiro NISHIYAMA)
08:09 AM Revision c591ab11 (git): Development of 3.1.0 started.
matz (Yukihiro Matsumoto)
06:57 AM Revision caae14d9 (git): test_trick.rb: Make the encoding explicit for code written in UTF-8
nobu (Nobuyoshi Nakada)
06:28 AM Revision 67fe290b (git): fix filename
naruse (Yui NARUSE)
06:22 AM Revision 09216f63 (git): test/test_trick.rb: Add a test file for TRICK entries (#3988)
* test/test_trick.rb: Add a test file for TRICK entries
Co-authored-by: Nobuyoshi Nakada <[email protected]>
mame (Yusuke Endoh)
03:33 AM Revision 95aff214 (git): Disable DTrace in FreeBSD (#3999)
The latest ruby cannot compile with FreeBSD Dtrace enabled. takano32 (Mitsuhiro TAKANO)
03:33 AM Revision 31217190 (git): Sort URLs by issue numbers and remove duplicated [ci skip]
znz (Kazuhiro NISHIYAMA)
03:33 AM Revision 0a31310b (git): define RGENGC_DEBUG_ENABLED() as 0
on RUBY_DEVEL==0 and !HAVE_VA_ARGS_MACRO.
gc_report() is always enabled on such configuration
(maybe it is a bug) so disable RGENGC_DEBUG_ENABLED().
ko1 (Koichi Sasada)
03:32 AM Revision 6a0bbc55 (git): Updated bundled_gems
nobu (Nobuyoshi Nakada)
03:06 AM Revision 78677f10 (git): Disable DTrace in FreeBSD (#3999)
The latest ruby cannot compile with FreeBSD Dtrace enabled. takano32 (Mitsuhiro TAKANO)
02:32 AM Revision 1f18f5c6 (git): Sort URLs by issue numbers and remove duplicated [ci skip]
znz (Kazuhiro NISHIYAMA)
02:20 AM Revision 888cf28a (git): define RGENGC_DEBUG_ENABLED() as 0
on RUBY_DEVEL==0 and !HAVE_VA_ARGS_MACRO.
gc_report() is always enabled on such configuration
(maybe it is a bug) so disable RGENGC_DEBUG_ENABLED().
ko1 (Koichi Sasada)
01:42 AM Revision 5c6f5b16 (git): Update stdlib section for Ruby 3.0
hsbt (Hiroshi SHIBATA)
01:22 AM Revision 1ba77ff8 (git): Update stdlib section for Ruby 3.0
hsbt (Hiroshi SHIBATA)
12:57 AM Revision a628a108 (git): USE_RUBY_DEBUG_LOG is not defined !devel build
ko1 (Koichi Sasada)
12:53 AM Bug #17428: Method#inspect bad output for class methods
Agreed that looks nice, but what should be shown from the example in #15608?
```
p obj.method(:foo)
#<Method: C#foo>
vs
#<Method: #<C:0x000055668ebef268>.foo(C#foo)>
```
based on whether the instance has a singleton class doesn't seem id...
Eregon (Benoit Daloze)
12:52 AM Revision 45f3d481 (git): USE_RUBY_DEBUG_LOG is not defined !devel build
ko1 (Koichi Sasada)
 

Also available in: Atom