Project

General

Profile

Activity

From 12/30/2020 to 01/05/2021

01/05/2021

11:35 PM Revision a0a6293e (git): [ruby/ostruct] Bump version
Marc-Andre Lafortune
11:35 PM Revision e8945d5e (git): * 2021-01-06 [ci skip]
git[bot]
11:34 PM Revision e13f41e0 (git): [ruby/ostruct] Allow ostruct to return a value on super (#4028)
This fixes cases where you can super in something that inherits from OpenStruct
Co-authored-by: John Hawthorn <john@hawthorn.email>
Adam Hess
11:05 PM Bug #17512 (Assigned): ostruct super regression
hsbt (Hiroshi SHIBATA)
08:24 PM Bug #17512 (Closed): ostruct super regression
In ruby 3.0, Calling super on ostruct always returns nil. This is a regression in ruby 3.0 introduced when fixing another issue.
introduced by:
- https://bugs.ruby-lang.org/issues/12136
- https://github.com/ruby/ruby/commit/e026e18...
HParker (Adam Hess)
09:25 PM Bug #17489: Ractor segfaults
During my Ractors tests I had segfaults many times and easy to reproduce (in my environment).
The same code crashes on Linux and Windows10 (sometimes with other numbers of iterations or workers).
More Ractors seems to increase the seg...
inversion (Yura Babak)
01:34 AM Bug #17489 (Assigned): Ractor segfaults
Thank you. I can confirm the reproducing. This issue is maybe from the lack of synchronization for the constant table. ko1 (Koichi Sasada)
08:18 PM Feature #14706: Atomic Integer incr/decr
should we revisit this now that we have ractor and Feature #17433 dsisnero (Dominic Sisneros)
07:43 PM Bug #17193 (Closed): Endless method definition doesn't work with lambdas in IRB
As @taiyoslime said, I confirmed that it was fixed in https://github.com/ruby/irb/pull/131. aycabta (aycabta .)
06:55 PM Bug #17503 (Closed): Typing an invalid percent string crashes irb
Thank you for the reporting. This is fixed by https://github.com/ruby/irb/pull/163. aycabta (aycabta .)
04:46 PM Feature #17316: On memoization
Dan0042 (Daniel DeLorme) wrote in #note-8:
> marcandre (Marc-Andre Lafortune) wrote in #note-3:
> ...
Indeed. I refactored it to use `Ractor.current[]` and a `WeakMap`. I removed the other ways as I can't think of a case where this isn...
marcandre (Marc-Andre Lafortune)
03:55 PM Bug #17497: Ractor performance issue
Just to be clear, there may be two different issues:
1) Ruby 2.x vs Ruby 3.0 performance regression. This can be important to figure out, but is *not* why I opened this issue.
2) Threads vs Ractor in Ruby 3.0. My tests are all in R...
marcandre (Marc-Andre Lafortune)
09:07 AM Bug #17497: Ractor performance issue
with perf (with `--call-graph dwarf`) option, I may figure out the big difference:
```
master:
- 63.72% 6.23% miniruby miniruby [.] inject_op_i
- 57.49% inject_op_i ...
ko1 (Koichi Sasada)
08:08 AM Bug #17497: Ractor performance issue
master_ruby and ruby was same, so not needed.
with version information:
```
26_mini ruby 2.6.7p148 (2020-06-14 revision 67884) [x86_64-linux]
27_mini ruby 2.7.3p139 (2020-10-11 revision d1ba554551) [x86_64-linux]
miniruby ruby...
ko1 (Koichi Sasada)
07:47 AM Bug #17497: Ractor performance issue
flash report;
```ruby
Warning[:experimental] = false if defined? Warning[]
def task_inject
(1..10_000_000).inject(:+)
end
alias task task_inject
# p method(:task)
MODE = (ARGV.shift || :r_parallel).to_sym
TN = 4
c...
ko1 (Koichi Sasada)
04:44 AM Bug #17497: Ractor performance issue
ko1 (Koichi Sasada) wrote in #note-4:
> Thank you for the report. Let me investigate more.
> ...
I wanted to compare CPU-bound processes (which should benefit from Ractor) to IO-bound processes (which should have similar benchmarks if ...
marcandre (Marc-Andre Lafortune)
04:23 AM Bug #17497: Ractor performance issue
Thank you for the report. Let me investigate more.
(just curious) why is the name "CPU"?
ko1 (Koichi Sasada)
02:13 PM Revision 3108ad7b (git): [DOC] Fix grammar: "is same as" -> "is the same as"
stomar (Marcus Stollsteimer)
02:10 PM Revision 3d439447 (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
01:43 PM Bug #17511: Segmentation fault when compiled with -O2 or higher on ARM Android
Thanks for the merge!
My running Ruby on ARM Android is JUST FOR FUN :-)
I think it would be more productive to prepare a CI for AArch64 Android if you could, rather than for nearly out-of-date 32-bit ARM Android.
xtkoba (Tee KOBAYASHI)
05:02 AM Bug #17511: Segmentation fault when compiled with -O2 or higher on ARM Android
Thank you, I've imported your patch.
BTW, I'm curious for what purpose you are attempting to build Ruby for Android.
As I said, we currently have no CI or development environment for Arm Android.
So it is difficult for us to test th...
mame (Yusuke Endoh)
04:59 AM Bug #17511 (Closed): Segmentation fault when compiled with -O2 or higher on ARM Android
Applied in changeset commit:git|b9c1b3f8d82b6f2517786b2f9e06683909af34c3.
----------
configure.ac: disable using __builtin_setjmp on ARM Android
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17511]
mame (Yusuke Endoh)
12:26 PM Revision 83e62d77 (git): [ruby/io-console] Shrink struct query_args
https://github.com/ruby/io-console/commit/720be0a3e5 nobu (Nobuyoshi Nakada)
12:26 PM Revision 42723959 (git): [ruby/io-console] Pre-define chomp! ID
https://github.com/ruby/io-console/commit/028e1c9497 nobu (Nobuyoshi Nakada)
12:26 PM Revision ead8d89b (git): [ruby/io-console] Ignore chomp! result and return the modified string
https://github.com/ruby/io-console/commit/09e5ccc729 nobu (Nobuyoshi Nakada)
12:24 PM Revision 06454a94 (git): sync_default_gems.rb: added -a option
The option to merge all commits since the commit merged in the
last prefixed commit.
nobu (Nobuyoshi Nakada)
12:23 PM Revision 075824eb (git): sync_default_gems.rb: reduced accesses to REPOSITORIES
nobu (Nobuyoshi Nakada)
09:07 AM Revision 903af74b (git): [ruby/irb] Ensure to restore $VERBOSE
https://github.com/ruby/irb/commit/cef474a76a nobu (Nobuyoshi Nakada)
09:06 AM Revision 0123bc9d (git): [ruby/irb] Use error tokens if there are no correct tokens in the same place
For example, the broken code "%www" will result in only one error token.
https://github.com/ruby/irb/commit/9fa39a7cf3
aycabta (aycabta .)
09:06 AM Revision 5a1866ca (git): [ruby/irb] Use Ripper::Lexer#scan to take broken tokens
ref. https://github.com/ruby/reline/pull/242
https://github.com/ruby/irb/commit/54f90cb6c9
aycabta (aycabta .)
09:06 AM Revision 505e01fe (git): [ruby/irb] Heredoc may contain multiple newlines in a single token
Use the start token as the indentation criteria so that it works properly in
heredoc.
ref. https://github.com/ruby/reline/pull/242
https://github.com/ruby/irb/commit/9704808dfd
aycabta (aycabta .)
09:06 AM Revision 50125123 (git): [ruby/irb] Handle indentations related to keyword "do" correctly
This fixes ruby/irb#158.
https://github.com/ruby/irb/commit/964643400b
aycabta (aycabta .)
09:05 AM Revision e72a6ed4 (git): [ruby/irb] Escape invalid byte sequence in Exception
This fixes ruby/irb#141.
https://github.com/ruby/irb/commit/0815317d42
aycabta (aycabta .)
09:04 AM Revision cce72a24 (git): [ruby/irb] Newline in oneliner def doesn't reset indent
This closes ruby/irb#132.
https://github.com/ruby/irb/commit/43456dcf5e
aycabta (aycabta .)
07:50 AM Revision e91160f7 (git): set RUBY_ON_BUG on runruby rule.
set RUBY_ON_BUG='gdb -x $(srcdir)/.gdbinit -p' to catch SEGV
on `make runruby` rule.
ko1 (Koichi Sasada)
04:59 AM Revision b9c1b3f8 (git): configure.ac: disable using __builtin_setjmp on ARM Android
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17511] mame (Yusuke Endoh)
04:39 AM Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
Looks like the status of `__builtin_setjmp` is very complicated:
[The documentation of GCC](https://gcc.gnu.org/onlinedocs/gcc/Nonlocal-Gotos.html) says:
> GCC provides the built-in functions __builtin_setjmp and __builtin_longjmp ...
mame (Yusuke Endoh)
04:39 AM Revision f2d0d4cb (git): RDoc: Enhanced introduction for Enumerable (#4004)
* RDoc: Enhanced introduction for Enumerable
* RDoc: Enhanced introduction for Enumerable
* RDoc: Enhanced introduction for Enumerable
burdettelamar (Burdette Lamar)
04:14 AM Revision 515d6b47 (git): [ruby/irb] Stringify when a non-object is passed to PP#text
If a nested object is passed to #pp, it may be sometimes passed to the #text
method as an object without being stringified.
This is fixed on the Ruby main repository;
https://github.com/ruby/ruby/commit/433a3be86a811de0b4adbb92e054ee3a6...
aycabta (aycabta .)
03:59 AM Revision 451b4560 (git): [ruby/io-console] [DOC] Note that IO#getpass returns a chomped string
IO#getpass uses String#chomp! on the read input line.
https://github.com/ruby/io-console/commit/1e98c93bc8
stomar (Marcus Stollsteimer)
03:36 AM Bug #17508 (Assigned): io-console versioning
hsbt (Hiroshi SHIBATA)
03:19 AM Feature #17496: Add constant Math::TAU
@jzakiya I guess the resources you've listed up in the comment #9 are only describing tau's advantages or pi's disadvantages. They are not the evidence that shows the tau is usually used.
Why [math-tau.gem](https://rubygems.org/gems/...
mrkn (Kenta Murata)
02:53 AM Revision 3adf84a0 (git): Commented out the sh-specific code, in cmd.exe
nobu (Nobuyoshi Nakada)
02:24 AM Bug #15499 (Assigned): Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
Thank you for your report. I can reproduce the issue.
```ruby
Thread.new{ Ractor.receive }
Ractor.receive
```
It shouldn't be a `Ractor.receive`, but the condition are:
* Make two or more threads.
* All threads are waiting f...
ko1 (Koichi Sasada)
02:16 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
ko1 (Koichi Sasada) wrote in #note-7:
> If we allow to require from non-main ractors, the only problem is `$LOADED_FEATURES`?
There are some limitations in non-main ractors, in particular no non-shareable constants, so if a gem is lo...
marcandre (Marc-Andre Lafortune)
01:39 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
Current `require` behavior with ractors are not well considered and we need to consider it.
> Maybe a solution would be to do all require in the main Ractor?
Yes, This is one good option. But not sure it is only one solution...
...
ko1 (Koichi Sasada)
01:41 AM Bug #17477 (Closed): Ractor and pp incompatibility
continue to discuss on #17420. ko1 (Koichi Sasada)
01:23 AM Bug #17491: `./configure' unsuccessful on Android NDK cross-build
I've committed your patch, thanks! mame (Yusuke Endoh)
01:23 AM Bug #17491 (Closed): `./configure' unsuccessful on Android NDK cross-build
Applied in changeset commit:git|449ef72cb97ae57e57c523d2252528f8eb7b9d3e.
----------
configure.ac: Stop auto-detection of __ANDROID_API__ when cross-compiling
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17491]
mame (Yusuke Endoh)
01:16 AM Revision 449ef72c (git): configure.ac: Stop auto-detection of __ANDROID_API__ when cross-compiling
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17491] mame (Yusuke Endoh)

01/04/2021

10:02 PM Bug #17511 (Closed): Segmentation fault when compiled with -O2 or higher on ARM Android
To reproduce a segmentation fault, compile Ruby with `CFLAGS=-Oz` using Android NDK r22 (Clang 11.0.5), and input the following:
```
require 'rubygems'
pp
```
A segmentation fault also occurs with `CFLAGS=-O2` when Up or Down key ...
xtkoba (Tee KOBAYASHI)
09:14 PM Bug #17510: enable constant cache on Ractors
commit:e7fc353f04 broke MJIT, so if it's to be backported to 3.0.1, please make sure (commit:87c546b5fa to avoid a conflict and) commit:7a3322a0fd is backported as well. k0kubun (Takashi Kokubun)
07:09 PM Bug #17510: enable constant cache on Ractors
this patch is for performance, but it seems be valuable to backport to 3.0.1. ko1 (Koichi Sasada)
05:28 PM Bug #17510 (Closed): enable constant cache on Ractors
Applied in changeset commit:git|e7fc353f044f9280222ca41b029b1368d2bf2fe3.
----------
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 ...
ko1 (Koichi Sasada)
04:47 PM Bug #17510 (Closed): 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.
To enable the constant cache, we need to make `IC` access atomically,
and this is...
ko1 (Koichi Sasada)
09:09 PM Revision 7a3322a0 (git): Fix broken JIT of getinlinecache
e7fc353f04 reverted vm_ic_hit_p's signature change made in 53babf35ef,
which broke JIT compilation of getinlinecache.
To make sure it doesn't happen again, I separated vm_inlined_ic_hit_p to
make the intention clear.
k0kubun (Takashi Kokubun)
06:45 PM Revision 87c546b5 (git): Avoid using inconsistent coding style
Other `_mjit_compile_*.erb` files don't use goto. These files'd better
be consistent for readability.
k0kubun (Takashi Kokubun)
05:27 PM Revision e7fc353f (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...
ko1 (Koichi Sasada)
04:47 PM Feature #17474: Interpreting constants at compile time
Eregon (Benoit Daloze) wrote in #note-19:
> It's not possible to evaluate any Ruby code except literals at parse time, as I already said in https://bugs.ruby-lang.org/issues/17474#note-8.
It's completely possible for ruby to just eva...
Dan0042 (Daniel DeLorme)
01:18 PM Feature #17474: Interpreting constants at compile time
Another point to consider - does this have an impact on our ability to use optimisations such as lazy parsing and do you know how you would precisely specify the semantics of when the expression is executed in relation to other events? chrisseaton (Chris Seaton)
12:37 PM Feature #17474: Interpreting constants at compile time
jzakiya (Jabari Zakiya) wrote in #note-16:
> **_would not_** work because it doesn't evaluate at parse-time to a constant value.
It's not possible to evaluate any Ruby code except literals at parse time, as I already said in https://...
Eregon (Benoit Daloze)
02:50 AM Feature #17474: Interpreting constants at compile time
Similar/related to #8804 Dan0042 (Daniel DeLorme)
04:06 PM Revision bf21faec (git): stdlib.h is always included in include/ruby/defines.h
Since commit:6537dc309962c7fefcb8d698bbebe4e4f78d0096. nobu (Nobuyoshi Nakada)
04:06 PM Revision f42593c9 (git): Update compilers.h [ci skip]
guiheurich (Gui Heurich)
03:19 PM Revision 3fee9e70 (git): Fix indent [ci skip]
Suggested by @hanachin at
https://github.com/rurema/doctree/pull/2425#discussion_r551327592
znz (Kazuhiro NISHIYAMA)
03:02 PM Revision 1fe111d7 (git): * 2021-01-05 [ci skip]
git[bot]
02:48 PM Bug #17509 (Closed): Custom respond_to? methods in modules break defined?(super)
When using `defined?(super)` to check that a superclass method exists before calling `super`, including modules with a custom `respond_to?` method seems to break the check so it wrongfully returns a truthy value, even though the supercla... benediktdeicke (Benedikt Deicke)
02:37 PM Revision 433a3be8 (git): ripper: call #pretty_print on also `state`
nobu (Nobuyoshi Nakada)
12:28 PM Bug #16926 (Assigned): Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
Right, I missed to pick https://github.com/rubygems/rubygems/pull/3639 at RubyGems 3.1.5. hsbt (Hiroshi SHIBATA)
12:25 PM Bug #16926: Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
@hsbt That commit seems unrelated. Eregon (Benoit Daloze)
08:47 AM Bug #16926 (Closed): Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
Applied at commit:9b884df6dd918b0fdcc256d8a9febfaccd8a9042 hsbt (Hiroshi SHIBATA)
11:30 AM Bug #17508 (Closed): io-console versioning
I have already complained about io-console versioning in #9591 but nothing really changed till today. There are ~15 commit atop of commit:2115a3937d0e2cf845d092aec1f6c25292ddd6ce, but the version was not bumped in Ruby 3.0. Does it reall... vo.x (Vit Ondruch)
10:55 AM Revision afa9d65d (git): make-snapshot: add -extlibs option
`make-snapshot` with `-extlibs` (or `-extlibs=yes`) includes
extracted and patched external library sources that the extension
libraries depend on.
nobu (Nobuyoshi Nakada)
10:55 AM Revision ec31ee25 (git): Updated bundled_gems
nobu (Nobuyoshi Nakada)
08:24 AM Revision 095972e7 (git): Skip mjit_wait if iseq is not a target
k0kubun (Takashi Kokubun)
07:42 AM Revision 758ac834 (git): Daily bundled_gems update [ci skip]
nobu (Nobuyoshi Nakada)
06:55 AM Feature #10499: Eliminate implicit magic in Proc.new and Kernel#proc
Thank you, updated. nobu (Nobuyoshi Nakada)
06:54 AM Feature #10499 (Closed): Eliminate implicit magic in Proc.new and Kernel#proc
Applied in changeset commit:git|8da7f4abc779c6549833d718336d75aac98494b8.
----------
[DOC] Update Proc.new without a block [ci skip]
[Feature #10499]
[Feature #15554]
nobu (Nobuyoshi Nakada)
06:40 AM Feature #10499: Eliminate implicit magic in Proc.new and Kernel#proc
Note that the documentation still specifies the old behavior in 3.0.0.
> Creates a new Proc object, bound to the current context. ::new may be called without a block only within a method with an attached block, in which case that bloc...
dazuma (Daniel Azuma)
03:31 AM Feature #10499: Eliminate implicit magic in Proc.new and Kernel#proc
Was this change implemented in Ruby 3.0.0?
It looks to me like it was. (And this is causing test failures on libraries that depend on this behavior.)
Ruby 2.7.2:
```
def foo
Proc.new
end
foo # => ArgumentError
...
dazuma (Daniel Azuma)
06:54 AM Revision 97725242 (git): ifchange: check the number of arguments
nobu (Nobuyoshi Nakada)
06:54 AM Revision 8da7f4ab (git): [DOC] Update Proc.new without a block [ci skip]
[Feature #10499]
[Feature #15554]
nobu (Nobuyoshi Nakada)
06:48 AM Revision cf4a6b5e (git): Add a missing dependency
k0kubun (Takashi Kokubun)
06:47 AM Bug #17373: Ruby 3.0 is slower at Discourse bench than Ruby 2.7
Good news, @ko1 and @tenderlove managed to recover a fair bit of performance leading to release.
3.0 remains slower in our bench than 2.7 but we did improve over the first post.
That said, the picture as of release is:
Ruby 2.6 -> ...
sam.saffron (Sam Saffron)
06:45 AM Feature #15554 (Closed): warn/error passing a block to a method which never use a block
nobu (Nobuyoshi Nakada)
04:50 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
This thread is already too long for off topics, so let me focus on the name of `RubyVM::MJIT` in this ticket and leave the release notes discussion to elsewhere.
> I don't see why an internal/experimental module (RubyVM::MJIT) need to h...
k0kubun (Takashi Kokubun)
04:47 AM Bug #17507 (Closed): Regexp capture groups ignored sometimes in some multithreaded environments (possible race condition)
Same behavior from 2.6-3.0
OS: Debian 10
Ruby Script:
``` ruby
TargetStr = "a-x-foo-bar-baz-z-b"
worker = lambda do
# For more hits, use File.read here instead of TargetStr
m = TargetStr.match(/foo-([A-Za-z0-9_\.]+)-baz/) ...
byteit101 (Patrick Plenefisch)
04:42 AM Revision 4b90ea84 (git): Update ext/bigdecimal/depend
Kenta Murata
04:29 AM Revision 71f0dd33 (git): [ruby/bigdecimal] Move some definitions to missing.h
https://github.com/ruby/bigdecimal/commit/c2b22cc8b3
https://github.com/ruby/bigdecimal/commit/8cbca8481d
https://github.com/ruby/bigdecimal/commit/f05aecf673
Kenta Murata
04:14 AM Revision 69ed6494 (git): Track Bundler master(2.3.0.dev) branch at 55634a8af18a52df86c4275d70fa1179118bcc20
hsbt (Hiroshi SHIBATA)
04:14 AM Revision 5537adf7 (git): Track RubyGems master(3.3.0.dev) branch at 55634a8af18a52df86c4275d70fa1179118bcc20
hsbt (Hiroshi SHIBATA)
03:11 AM Revision 35c3a24c (git): Fixed error message when % at EOF
nobu (Nobuyoshi Nakada)
03:05 AM Revision 68c2fc4c (git): * 2021-01-04 [ci skip]
git[bot]
03:01 AM Revision 597e0636 (git): Revert "Include RUBY_EXTCONF_H if available"
It is unnecessary because RUBY_EXTCONF_H has already been included in
ruby/internal/config.h.
This reverts commit 0644f466b0ef017202712882b557ba32863002c4.
Kenta Murata
01:47 AM Feature #17407: Fiber.current and require 'fiber'
https://github.com/nobu/ruby/tree/fiber-builtin nobu (Nobuyoshi Nakada)
01:42 AM Feature #6362 (Closed): Modular exponentiation/inverse
Please file a new ticket. nobu (Nobuyoshi Nakada)
12:50 AM Feature #5481 (Closed): Gemifying Ruby standard library
I extracted the all of possibly stdlib to rubygems. The following libraries are depend on Ruby versions, So We couldn't extract them.
* mkmf
* rbconfig
* unicord_normalize
* coverage
* monitor
* objspace
* pty
* ripper
* socke...
hsbt (Hiroshi SHIBATA)

01/03/2021

10:45 PM Feature #17496: Add constant Math::TAU
> you just need to comment on https://bugs.ruby-lang.org/issues/17480 then, copying the format of the other comments.
Thanks. Done.
> ...
As with ``PI``, the Newtonian view of reality had an entrenched pedagogical, professional, cultur...
jzakiya (Jabari Zakiya)
08:05 PM Bug #17506 (Closed): Ractor isolation broken by ThreadGroup
Ractors currently share the ThreadGroup.
This doesn't seem very useful as there is no possible communication between the Threads of different Ractors.
It is also an isolation error:
```ruby
ThreadGroup.attr_accessor :foo
var = T...
marcandre (Marc-Andre Lafortune)
08:01 PM Bug #17497: Ractor performance issue
10 core i9. I've set up enough systems in my life (I used DOS); prefer new systems to last a while... MSP-Greg (Greg L)
06:41 PM Bug #17497: Ractor performance issue
Thanks for running this on other platforms.
From the numbers, it looks like you are running on an 8-core machine, right? If so, the "fib" and "sleep" numbers are what should be expected, but "cpu" is 3-5x slower on Ractor when it shou...
marcandre (Marc-Andre Lafortune)
06:23 PM Bug #17497: Ractor performance issue
Using various 2021-01-03 versions of master, got the following times, a few were averaged by eye:
```
—————————— Windows 10 mingw ——————————
fib | cpu | sleep
native 41 ms | 940 ms | 220 ms
ruby 345 ms | 205 ...
MSP-Greg (Greg L)
07:41 PM Bug #17505 (Closed): Can `Thread#group` actually be `nil`?
Is there a circumstance where `Thread#group` could actually be `nil`?
The documentation says so, there seems to be source code for this, but I can find no test or RubySpec for this and I don't see anywhere in the `ThreadGroup` API tha...
marcandre (Marc-Andre Lafortune)
07:35 PM Feature #6362: Modular exponentiation/inverse
As of Python 3.8, modular inverses are supported by Python's pow function, which can take a mod argument, just like Ruby's.
https://docs.python.org/3/library/functions.html#pow
I therefore propose to add this feature as
```
n.pow(-1, m...
leahneukirchen (Leah Neukirchen)
03:36 PM Bug #17504 (Closed): Allow UTC offset without colons per ISO-8601
Although ISO-8601 allows UTC offset to be `+HHMM` as well as `+HH:MM`, `Time.new`, `Time#getlocal` etc reject that format as invalid.
I think this is a bug, especially as far as even `Time#inspect` uses it.
https://github.com/ruby/ru...
nobu (Nobuyoshi Nakada)
03:03 PM Misc #17480: DevelopersMeeting20210113Japan
* [Feature #12607] Ruby needs an atomic integer (@shyouhei)
* dummy comment
* [Feature #17099] Remove boolean argument and warning from `Module#attr` (S_H_)
* It has been warned since 1.9.1.
* [Feature #17485] Keyword argument for ti...
nobu (Nobuyoshi Nakada)
02:56 PM Revision f4be7a51 (git): Added tests for Time#getlocal with UTC offset
nobu (Nobuyoshi Nakada)
02:38 PM Revision 0644f466 (git): Include RUBY_EXTCONF_H if available
Kenta Murata
01:28 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
JIT just means "Just-in-Time", so actually to be grammatically correct I guess the release note should either refer to "MJIT" (a proper noun) or "the JIT compiler (bundled with Ruby)".
Either way, I think to make it clear in the release...
Eregon (Benoit Daloze)
12:15 PM Bug #17503: Typing an invalid percent string crashes irb
https://github.com/ruby/irb/issues/162
Probably I met the same problem and I reported it as the issue.
pocke (Masataka Kuwabara)
11:43 AM Bug #17503 (Closed): Typing an invalid percent string crashes irb
1. Start `irb`.
2. Try typing in `%abc`. Keep typing in alphanumeric characters if it hasn't crashed yet.
3. irb crashes with the following error message:
```
/usr/local/lib/ruby/3.0.0/reline/unicode.rb:124:in `calculate_width': un...
niconii (Nicolette Verlinden)
11:19 AM Revision bc4c862a (git): [ruby/timeout] Removed deprecated names that had been warned for 5 years
https://github.com/ruby/timeout/commit/f9a9758a41 nobu (Nobuyoshi Nakada)
08:05 AM Revision 4724bf85 (git): Avoid hanging on --jit-wait after MJIT.pause
When a worker is stopped, nobody will JIT a method for you. k0kubun (Takashi Kokubun)
03:49 AM Misc #17502: C vs Ruby
First off, you may be interested in reading [Feature #16254] in case you haven't. (Note: `__intrinsitc__` was renamed to `__builtin_` first, and then renamed again to `Primitive.`)
Let me separately discuss multiple independent topics y...
k0kubun (Takashi Kokubun)
02:56 AM Revision 09ec8d68 (git): * 2021-01-03 [ci skip]
git[bot]
02:55 AM Revision a495cb2f (git): NEWS-3.0.0: backquote a few code related words. [doc]
Marc-Andre Lafortune
02:54 AM Revision fdf35399 (git): NEWS: We have links now, and there is no changelog anymore [doc]
Marc-Andre Lafortune
02:30 AM Feature #15225: OpenStruct: Recursively converting child Hash objects to OpenStruct objects.
First, let's make it clear that it is not acceptable to break backwards compatibility in such an extreme manner. The default can not change.
The caveats of `OpenStruct` have been made more explicit in 3.0 and I am still curious as to ...
marcandre (Marc-Andre Lafortune)

01/02/2021

08:25 PM Misc #17502 (Assigned): C vs Ruby
Some features are coded in a mix of Ruby and C (e.g. ractor.rb).
External gems don't have access to this. The C-API to deal with keyword parameters is also very verbose the parsing and the engine does not know it.
Moreover, some op...
marcandre (Marc-Andre Lafortune)
03:51 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
I get your points. Nothing is technically wrong in what you're saying, and as a committer like you it's easier to interpret MJIT.
But I mean, I assume we're not writing a release note for people like us who can just read details in NEWS...
k0kubun (Takashi Kokubun)
12:50 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
> ## Release notes
> ...
Not really, I'm saying the "JIT" is just unclear, "which JIT is it?".
The 3.0.0 release notes are hard to read for me because they mix MJIT and JIT.
If we use MJIT everywhere in that note, then I think it is very...
Eregon (Benoit Daloze)
03:06 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
Now some discussions seem to be mixed, so let's sort them out:
## RubyVM::
> I tried to document it. I don't think it's good enough, many people don't read class documentation.
If e.g., they see RubyVM::AbstractSyntaxTree in a blog ...
k0kubun (Takashi Kokubun)
03:29 PM Bug #17501 (Closed): TestNetHTTPS#test_get CI failure
しばらく前から snapshot tarball の macos-latest で発生している `TestNetHTTPS#test_get` の failure ですが、手元の macOS Catalina 10.15.7 に homebrew で入れた `openssl@1.1: stable 1.1.1i (bottled) [keg-only]` の環境では SERVER_CERT, CA_CERT の順番を入れ替えると通るようになりました。
他の環境では...
znz (Kazuhiro NISHIYAMA)
11:12 AM Feature #17500 (Rejected): Move RubyVM::* to ExperimentalFeatures
I am not opposed to renaming `RubyVM` module for the reason @eregon stated. But I am strongly against renaming it to `ExperimentalFeatures` or whatever means **experimental**. Users are forced to rewrite their code when the feature becom... matz (Yukihiro Matsumoto)
10:53 AM Feature #17472: HashWithIndifferentAccess like Hash extension
I had a vague original idea for this proposal, which extends the Hash class generically.
First I though about case-insensitive string hashes, it had been able by using `$=` in old days.
The special variable was removed, still there are...
nobu (Nobuyoshi Nakada)
09:46 AM Feature #17330: Object#non
I think the proposed feature would be useful, but I feel that your focus on use cases with a negative predicate is artificial. Positive predicates should have as many corresponding use cases. And since negation is always one step more co... sawa (Tsuyoshi Sawada)
08:28 AM Feature #17312 (Closed): New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
Applied in changeset commit:git|68ea7720b367fe84da601cdbc61cb0d651c3221b.
----------
NEWS: [Feature #17312] [ci skip]
nobu (Nobuyoshi Nakada)
08:27 AM Revision 68ea7720 (git): NEWS: [Feature #17312] [ci skip]
nobu (Nobuyoshi Nakada)
08:27 AM Revision b8d33df1 (git): Add Enumerable#compact and Enumerator::Lazy#compact
zverok (Victor Shepelev)
06:56 AM Misc #17480: DevelopersMeeting20210113Japan
* [Misc #0] Comment Deadline (marcandre)
* Please make comment deadline closer to meetings (1 or 2 days, not 7).
marcandre (Marc-Andre Lafortune)
02:37 AM Misc #17480: DevelopersMeeting20210113Japan
* [Feature #17496] Add constant `Math::TAU` (jzakiya)
* Reconsider adding to Ruby core, as more languages have. Increased adoption|use since last consideration. It has become "time proven", https://bugs.ruby-lang.org/issues/4897#not...
jzakiya (Jabari Zakiya)
03:11 AM Revision f690eb34 (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>
nobu (Nobuyoshi Nakada)
03:11 AM Revision 4b6fd832 (git): mkmf.rb: always try_compile as try_header
Get rid of "present but cannot be compiled" headers, on some
multi-architecture platforms.
nobu (Nobuyoshi Nakada)
03:06 AM Revision a6bbba11 (git): Avoid to use __builtin_clzl in SPARC Solaris
Kenta Murata
02:41 AM Revision 4182035e (git): Add -v to make benchmark
I simply can't tell which of compare-ruby and built-ruby is what. k0kubun (Takashi Kokubun)
02:39 AM Feature #17498 (Closed): Improve performance some Float methods
Applied in changeset commit:git|daec5f9edcfbf98b10a4bfc1aa501c9ac2c64841.
----------
Improve performance some Float methods [Feature #17498] (#4018)
S_H_ (Shun Hiraoka)
02:39 AM Revision daec5f9e (git): Improve performance some Float methods [Feature #17498] (#4018)
S_H_ (Shun Hiraoka)
01:18 AM Revision ef6ab776 (git): Add __x86_64__ guard to include x86intrin.h
Kenta Murata
12:48 AM Revision 5aa28d9d (git): Check if x86intrin.h is available not only existing
nobu (Nobuyoshi Nakada)

01/01/2021

11:23 PM Feature #17500: Move RubyVM::* to ExperimentalFeatures
> it is meant as experimental unstable MRI-specific API
I think it means only MRI-specific API, while some of it may be experimental and/or unstable. For example, RubyVM::InstructionSequence will continue to be MRI-specific, but I don...
k0kubun (Takashi Kokubun)
12:56 PM Feature #17500: Move RubyVM::* to ExperimentalFeatures
Migration plan:
* In Ruby 3.1: define `ExperimentalFeatures`, add the same constants & methods as `RubyVM` under it, and deprecate the `RubyVM` constant.
User code can do `ExperimentalFeatures = RubyVM unless defined?(Experimenta...
Eregon (Benoit Daloze)
12:43 PM Feature #17500 (Rejected): Move RubyVM::* to ExperimentalFeatures
`RubyVM` is a trap:
* Users will think from the name it's some official blessed API when it is meant as experimental unstable MRI-specific APIs (the complete opposite).
* CRuby developers seem to see it as an experimental module to put...
Eregon (Benoit Daloze)
10:34 PM Feature #17496: Add constant Math::TAU
I also don't understand why `Math::TAU` needs to be added to Ruby, even though I am familiar with the manifesto and think it might have a merit. However, it is just a redefinition of a basic mathematical constant that doesn't bring much ... ufuk (Ufuk Kayserilioglu)
10:14 PM Feature #17496: Add constant Math::TAU
@jzakiya you just need to comment on https://bugs.ruby-lang.org/issues/17480 then, copying the format of the other comments. chrisseaton (Chris Seaton)
10:12 PM Feature #17496 (Open): Add constant Math::TAU
Personally, I don't think that anything significant has changed in the last three years this area. And the comparison of Tau vs Pi to Relativity vs Newtonian Mechanics is laughable.
However, I also don't want to be the one to stop de...
jeremyevans0 (Jeremy Evans)
09:48 PM Feature #17496: Add constant Math::TAU
Well since I don't have the power to re``Open`` it, will you then see that it is?
Otherwise, this is just going around in an infinite circle, and I don't need the new year starting out like this.
Since you know what needs to be don...
jzakiya (Jabari Zakiya)
09:42 PM Feature #17496: Add constant Math::TAU
> I request that whoever has the power to request he review this issue again now do that too.
That's done by adding to the list of issues to be considered I linked - when you have this as not rejected you can add to there.
chrisseaton (Chris Seaton)
09:41 PM Feature #17496: Add constant Math::TAU
OK, well then I request this issue be reclassified as ``Open``, by whoever has the power to do that.
Also, as it seems Matz's last response to a similar request was over 3 years ago, I request that whoever has the power to request he ...
jzakiya (Jabari Zakiya)
09:30 PM Feature #17496: Add constant Math::TAU
Ok well this issue is currently marked rejected. You need to convince someone to change that first. Then you need to add it to the list of issues to be considered by Matz this month https://bugs.ruby-lang.org/issues/17480. chrisseaton (Chris Seaton)
09:27 PM Feature #17496: Add constant Math::TAU
> I don't think this manifesto helps itself by conflating a serious argument with a lot of silliness and jokes. You can see how people react to it by wondering if they're being trolled.
Well, I don't see anything specific in the Manif...
jzakiya (Jabari Zakiya)
09:03 PM Feature #17496: Add constant Math::TAU
I don't think this manifesto helps itself by conflating a serious argument with a lot of silliness and jokes. You can see how people react to it by wondering if they're being trolled. chrisseaton (Chris Seaton)
08:58 PM Feature #17496: Add constant Math::TAU
FYI.
Yesterday (the last day of 2020) before I created this issue to include ``TAU`` in ``Ruby``, literally seconds before, I opened the exact same request in ``Crystal``, as ``Ruby|Crystal`` are my two favorite languages.
After on...
jzakiya (Jabari Zakiya)
05:04 PM Feature #17496: Add constant Math::TAU
Almost 25 years ago I started my computer career with 3D programming. Very low level to that times, but using a lot of trigonometric computations. Using PI always felt like something half done. It's strange to tell the computer it should... larskanis (Lars Kanis)
04:42 PM Feature #17496: Add constant Math::TAU
This is a very serious proposal, and ``TAU`` is a very serious concept - the unit turn.
As Michael Hartl raises, trying to get people to accept ``TAU`` as better than ``PI`` is more about emotional attachment to a familiar concept, th...
jzakiya (Jabari Zakiya)
03:54 PM Feature #17496: Add constant Math::TAU
It's difficult to work out if this is a genuine proposal or a meme.
Surely Jabari is joking when they say 'you must find your own way to acceptance, because others already have'? Is this a mathematical argument or a sort of play on cu...
chrisseaton (Chris Seaton)
03:46 PM Feature #17496: Add constant Math::TAU
To help answer this question,
> IMO, the sufficient condition is that it appears in some major textbooks for school.
and this,
> ...
I reviewed a couple of the ``TAU`` videos by Micheal Hartl, the author of ``The TAU Manifesto``...
jzakiya (Jabari Zakiya)
06:46 AM Feature #17496: Add constant Math::TAU
> So, I want to know how many mathematicians accept such tau. Do you know how many academic papers that uses tau as the circle constant have been published so far?
How can anyone ever empirically answer these question? And why should th...
jzakiya (Jabari Zakiya)
02:41 AM Feature #17496: Add constant Math::TAU
At least Julia doesn't have `tau` in its core now. There is Tau.jl, but it isn't a standard library. Following Julia's stance to `tau`, we can say that it is enough by providing a gem to define `Math::TAU` for now.
I'd like to know ...
mrkn (Kenta Murata)
02:14 AM Feature #17496: Add constant Math::TAU
jzakiya (Jabari Zakiya) wrote in #note-4:
> Well, Python3 added it, so when do you (empirically?, subjectively?) establish it's become ``time-proven``?
IMO, the sufficient condition is that it appears in some major textbooks for school.
mame (Yusuke Endoh)
04:03 PM Revision 830afd94 (git): [ruby/bigdecimal] Update depend
Kenta Murata
03:54 PM Revision c2c01475 (git): [ruby/bigdecimal] Fix test for Ruby 2.4
Ruby 2.4 does not have RbConfig::LIMITS.
https://github.com/ruby/bigdecimal/commit/c8087523b0
Kenta Murata
03:54 PM Revision 448a67cd (git): [ruby/bigdecimal] Implement special conversions for 64-bit integers
This change improves the conversion speed from small integers.
```
Comparison:
big_n9
master: 4003688.9 i/s
bigdecimal 3.0.0: 1270551.0 i/s - 3.15x slower
big_...
Kenta Murata
03:46 PM Revision 4730efdd (git): * 2021-01-02 [ci skip]
git[bot]
03:30 PM Revision 5ee6830a (git): [ruby/bigdecimal] Fix test_limit
Keep the default value of BigDecimal.limit by BigDecimal.save_limit
to avoid failures of the other test methods due to the unexpected limit.
https://github.com/ruby/bigdecimal/commit/bdc1cc6585
Kenta Murata
03:13 PM Feature #15921: R-assign (rightward-assignment) operator
dgutov (Dmitry Gutov) wrote in #note-25:
> It's not like the new syntax makes anything possible that a simple assignment does not.
It does. It is now a pattern match, not just a rightward assignment:
```ruby
{x: 1, y: 2} => {x:}
...
marcandre (Marc-Andre Lafortune)
03:03 PM Feature #15921: R-assign (rightward-assignment) operator
This is not as bad as the "pipeline operator" (which didn't do what its name said), but still, why add this?
It's not like the new syntax makes anything possible that a simple assignment does not.
The "method chains" example is per...
dgutov (Dmitry Gutov)
02:32 PM Revision 71562481 (git): Hoisted out compile_builtin_arg to refine messages
nobu (Nobuyoshi Nakada)
12:50 PM Misc #17480: DevelopersMeeting20210113Japan
* [Feature #17500] Move RubyVM::* to ExperimentalFeatures (eregon)
* I think this is the best solution, for everyone. Could matz and ruby-core agree to this?
Eregon (Benoit Daloze)
12:18 PM Misc #17480: DevelopersMeeting20210113Japan
* [Misc #17499] Documentation backporting (zverok)
* Address systematic lack of docs at docs.ruby-lang.org
* [Bug #16497] StringIO#internal_encoding is broken (more severely in 2.7) (zverok)
* Still is, as of 3.0.0
* [Feature #17407...
zverok (Victor Shepelev)
12:48 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
FYI, I filed #17500 regarding RubyVM.
I think `ExperimentalFeatures::JIT` would be fine if we accept that issue, and e.g. other Rubies might implement `ExperimentalFeatures::JIT.enabled?` then, which makes sense to me.
Eregon (Benoit Daloze)
12:20 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
k0kubun (Takashi Kokubun) wrote in #note-4:
> 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 need to exist in other imp...
Eregon (Benoit Daloze)
12:09 PM Misc #17499 (Closed): Documentation backporting
I recently noticed that the documentation created after `x.y` release (even 1 day after) never reflected at `docs.ruby-lang.org/<x.y>.0/`.
In discussion [here](https://github.com/ruby/docs.ruby-lang.org/issues/111) I was educated by @...
zverok (Victor Shepelev)
11:53 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.
It's also related, if the decision was to move all of Pathname to C (due to so...
Eregon (Benoit Daloze)
07:34 AM Bug #17494: ruby is hanged when using activesupport + rspec + rspec-parameterized
Looks like this behavior has been triggered by https://github.com/ruby/ruby/commit/b9007b6c548f91e88fd3f2ffa23de740431fa969
* Created one file repro named `rep17494.rb` by adding `require "rspec/autorun"`
```
require "bundler/inli...
yahonda (Yasuo Honda)
06:22 AM Feature #17498 (Closed): Improve performance some Float methods
Improve performance some Float methods(write in Ruby)
benchmark:
```yml
prelude: |
flo = 4.2
benchmark:
to_f: |
flo.to_f
abs: |
flo.abs
magnitude: |
flo.magnitude
-@: |
-flo
zero?: |
flo...
S_H_ (Shun Hiraoka)
05:50 AM Bug #17495 (Closed): Make args info for RubyVM::AST to available on endless method without parens
Applied in changeset commit:git|ab32e98f984318f1074c6e39b8f2f04266a1224b.
----------
Added AST assertions for method definition arguments [Bug #17495]
nobu (Nobuyoshi Nakada)
05:48 AM Revision ab32e98f (git): Added AST assertions for method definition arguments [Bug #17495]
nobu (Nobuyoshi Nakada)
05:45 AM Revision 1e510277 (git): Added AST tests for endless method definitions
nobu (Nobuyoshi Nakada)
05:25 AM Revision de5f8a92 (git): 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
# body:
# ...
pocke (Masataka Kuwabara)

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 <neocat@neocat.jp>
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)
 

Also available in: Atom