Project

General

Profile

Activity

From 12/03/2021 to 12/09/2021

12/09/2021

09:00 PM Feature #11689 (Closed): Add methods allow us to get visibility from Method and UnboundMethod object.
Applied in changeset commit:git|27278150685e738f84105d09843d3ba371146c7a.
----------
Add {Method,UnboundMethod}#{public?,private?,protected?}
These methods allow for checking whether the method has that
visibility.
Implements [Feature...
jeremyevans (Jeremy Evans)
08:59 PM Revision 27278150 (git): Add {Method,UnboundMethod}#{public?,private?,protected?}
These methods allow for checking whether the method has that
visibility.
Implements [Feature #11689]
jeremyevans (Jeremy Evans)
08:20 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
+1 for `find_caller` semantics since it allows both search and iteration
```ruby
find_caller{ |c| c.file =~ rx }
find_caller{ |c| list << c; c.file =~ rx }; list
```
Since the entire point of this feature is to stop iterating on...
Dan0042 (Daniel DeLorme)
07:49 AM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
`find_caller` is going to find a single entry from call frames. Is it sufficient for OP's demand?
Besides that, is it worth adding a global Kernel method?
I doubt both. I am not against adding the feature, but first, we have to make ...
matz (Yukihiro Matsumoto)
06:38 PM Revision 74159f7f (git): [DOC] Stop mentioning Qfalse==0 for C extensions
See [Feature #18397] for detail. Follow up for
b859397e1b25a3f7847a380e7dd7db62f94fbe66.
[ci skip]
Co-authored-by: Koichi Sasada <ko1@atdot.net>
alanwu (Alan Wu)
05:41 PM Feature #18401 (Open): Rework `require_relative` to add the "current path" on `$LOAD_PATH`
I think that since inception of `require_relative`, the implementation is wrong and is going against the spirit of `require` functionality. Let me explain.
If there is `require "foo"`, it does something like:
~~~
r = $LOAD_PATH.se...
vo.x (Vit Ondruch)
04:46 PM Feature #16978: Ruby should not use realpath for __FILE__
I wonder what is the situation here given that the #17885 seems to be resolved? vo.x (Vit Ondruch)
04:24 PM Feature #18397 (Closed): Remove documentation that Qfalse == 0 in `extension.rdoc`, instead encourage use of RTEST
Applied in changeset commit:git|b859397e1b25a3f7847a380e7dd7db62f94fbe66.
----------
[DOC] Stop recommending Qfalse==0 assumption to C extensions
Encourage use of RTEST(), direct Qfalse comparison, and remove references to
Qfalse == 0 ...
jemmai (Jemma Issroff)
04:23 PM Revision b859397e (git): [DOC] Stop recommending Qfalse==0 assumption to C extensions
Encourage use of RTEST(), direct Qfalse comparison, and remove references to
Qfalse == 0 in extension documentation.
See [Bug #18397] for detail.
[ci skip]
jemmai (Jemma Issroff)
04:04 PM Revision bcc2bb28 (git): Fix stack buffer overflow
https://hackerone.com/reports/1306859 nobu (Nobuyoshi Nakada)
03:56 PM Feature #15912 (Closed): Allow some reentrancy during TracePoint events
Applied in changeset commit:git|9873af0b1a343dff6d1a8af4c813aa2c9ecc47d5.
----------
`TracePoint.allow_reentry`
In general, while TracePoint callback is running,
other registerred callbacks are not called to avoid
confusion by reentrac...
ko1 (Koichi Sasada)
08:47 AM Feature #15912: Allow some reentrancy during TracePoint events
Thank you. also @byroot and colleagues proposed `TracePoint.allow_reentry`, so I change the name.
Matz also accepted the name and feature, so I'll merge it.
ko1 (Koichi Sasada)
08:16 AM Feature #15912: Allow some reentrancy during TracePoint events
ko1 (Koichi Sasada) wrote in #note-14:
> naming issue:
> ...
I'm not completely sure about what would be at `...`, but maybe `allow_reentry` or `allow_reenter` should also be considered as method names, because they are shorter.
duerst (Martin Dürst)
03:56 PM Revision 9873af0b (git): `TracePoint.allow_reentry`
In general, while TracePoint callback is running,
other registerred callbacks are not called to avoid
confusion by reentrace.
This method allow the reentrace. This method should be
used carefully, otherwize the callback can be easily cal...
ko1 (Koichi Sasada)
03:53 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
vo.x (Vit Ondruch) wrote in #note-5:
> Thanks for looking into this. However, applying these two patches, while fixing i686, it breaks ppc64le :(
> ...
Since I have the PPC at hand, here is the full backtrace:
~~~
$ make gdb-ruby TESTRU...
vo.x (Vit Ondruch)
03:50 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
peterzhu2118 (Peter Zhu) wrote in #note-13:
> Hmmm, that's really odd. I think I can get access to the ppc64 machine on rubyci.org. I'll try to debug this next week.
If you like, you could ping @sharkcz on #fedora-ppc at libera.chat ...
vo.x (Vit Ondruch)
02:21 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
Hmmm, that's really odd. I think I can get access to the ppc64 machine on rubyci.org. I'll try to debug this next week. peterzhu2118 (Peter Zhu)
12:18 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
Heare I am stepping through the `rb_aligned_malloc`
~~~
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /builddir/build/BUILD/ruby-3.0.3/miniruby
Download fail...
vo.x (Vit Ondruch)
11:29 AM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
It seems that the `rb_aligned_malloc` already returns inaccessible pointer:
~~~
Breakpoint 1, heap_page_allocate (objspace=0x1004b1400) at gc.c:1806
1806 page_body = (struct heap_page_body *)rb_aligned_malloc(HEAP_PAGE_ALIGN, HE...
vo.x (Vit Ondruch)
11:19 AM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
~~~
$ gdb --args ./miniruby -I./lib -I. -I.ext/common ./tool/generic_erb.rb -o builtin_binary.inc ./template/builtin_binary.inc.tmpl -- --cross=no
GNU gdb (GDB) Fedora 11.1-6.fc36
Copyright (C) 2021 Free Software Foundation, Inc...
vo.x (Vit Ondruch)
03:45 PM Misc #18399: DevMeeting-2022-01-13
* [Feature #18367] Stop the interpreter from escaping error messages (mame)
* At the previous dev-meeting, we decided to survey the current status of how modern terminal emulators handle untrusted escape sequences.
* I surveyed rxv...
mame (Yusuke Endoh)
01:27 PM Misc #18399: DevMeeting-2022-01-13
* [Feature #18368] `Range#step` semantics for non-`Numeric` ranges (zverok)
* Is there a reason why `(timestamp1...timestamp2).step(3.hours)` is not what `#step` supports?
* If there is, can there be a new method introduced with th...
zverok (Victor Shepelev)
12:31 PM Misc #18399 (Closed): DevMeeting-2022-01-13
# The next dev meeting
**Date: 2022/01/13 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-01-13.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu...
mame (Yusuke Endoh)
03:38 PM Feature #18351: Support anonymous rest and keyword rest argument forwarding
mame (Yusuke Endoh) wrote in #note-3:
> The concern about `Method#parameters` should be discussed after Ruby 3.1 is released. Now `Method#parameters` of `def foo(...)` returns `[[:rest, :*], [:keyrest, :**], [:block, :&]]`. After this c...
jeremyevans0 (Jeremy Evans)
12:16 PM Feature #18351: Support anonymous rest and keyword rest argument forwarding
@matz basically accepted this proposal for Ruby 3.2.
The concern about `Method#parameters` should be discussed after Ruby 3.1 is released. Now `Method#parameters` of `def foo(...)` returns `[[:rest, :*], [:keyrest, :**], [:block, :&]]...
mame (Yusuke Endoh)
03:37 PM Feature #18367: Stop the interpreter from escaping error messages
I read [the article about the vulnerability](https://marc.info/?l=bugtraq&m=104612710031920&w=2) again.
It clearly insists that this vulnerability should be addressed in the side of terminal emulators.
> The responsibility
> ...
...
mame (Yusuke Endoh)
10:12 AM Feature #18367: Stop the interpreter from escaping error messages
IMHO if there is any vulnerability there it would be a bug of the terminal emulator, not Ruby.
And we'd have the same issue for any puts or logging when shown in a terminal without escaping.
If the attack is a bell sound or changing ...
Eregon (Benoit Daloze)
06:46 AM Feature #18367: Stop the interpreter from escaping error messages
This ticket was discussed at the dev-meeting as a strongly-related topic of #18370.
We need to be careful to remove security measures. We should first check if the vulnerability in question is still valid with modern popular terminal ...
mame (Yusuke Endoh)
03:33 PM Revision 88c804a6 (git): * 2021-12-10 [ci skip]
git[bot]
02:17 PM Bug #18400 (Closed): Cannot require 'prime' in irb @ 3.1.0.preview1
## Description
If I run `ruby script.rb` with `require 'prime'` then it will work fine.
But after entering irb, I can `require 'net/http'` , but with **prime** I get following error.
Problem occurs with:
> The following default ...
chooosen (Piotr Wasiak)
12:51 PM Revision da652e18 (git): Check month overflow when marshal
https://hackerone.com/reports/1244185 nobu (Nobuyoshi Nakada)
12:30 PM Misc #18346 (Closed): DevelopersMeeting20211209Japan
mame (Yusuke Endoh)
12:24 PM Feature #18370: Call Exception#full_message to print exceptions reaching the top-level
This ticket was discussed at today's dev-meeting (https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20211209Japan.md). We need to first decide whether #18367 is acceptable or not.
If we were to accept #18367, this pro...
mame (Yusuke Endoh)
10:08 AM Feature #18370: Call Exception#full_message to print exceptions reaching the top-level
#18367 wants the opposite, i.e., not escape control chars.
As already mentioned, JRuby & TruffleRuby both currently already have the behavior to not escape control chars.
BTW, wouldn't that change even escape \n? (looking at https://...
Eregon (Benoit Daloze)
06:21 AM Feature #18370: Call Exception#full_message to print exceptions reaching the top-level
I think it is a bug that `Exception#full_message` doesn't escape control chars.
https://github.com/nobu/ruby/pull/new/full_message-escape
nobu (Nobuyoshi Nakada)
12:02 PM Feature #18364: Add GC.stat_pool for Variable Width Allocation
This ticket was discussed at today's dev-meeting. Matz had directly asked @tenderlovemaking for a few things. I record them as far as I remember:
* Instead of adding a new method, it looks good for `GC.stat` to return a nested data st...
mame (Yusuke Endoh)
11:27 AM Feature #18190 (Closed): Split `Random::Formatter` from securerandom
Applied in changeset commit:git|12a0a89e22fbc312e4a95a7749bc153532daa855.
----------
[ruby/securerandom] Split Random::Formatter from SecureRandom [Feature #18190]
https://github.com/ruby/securerandom/commit/1e57277b9e
nobu (Nobuyoshi Nakada)
09:50 AM Feature #18190: Split `Random::Formatter` from securerandom
+1, I agree Random::Formatter should be defined in core, along Random which is already core. Eregon (Benoit Daloze)
08:08 AM Feature #18190: Split `Random::Formatter` from securerandom
Accepted.
Matz.
matz (Yukihiro Matsumoto)
11:26 AM Revision 12a0a89e (git): [ruby/securerandom] Split Random::Formatter from SecureRandom [Feature #18190]
https://github.com/ruby/securerandom/commit/1e57277b9e nobu (Nobuyoshi Nakada)
10:48 AM Revision 4258c8df (git): Fixed filename for Open3::VERSION
hsbt (Hiroshi SHIBATA)
10:33 AM Revision b06e37e2 (git): Followed up f5d80c26d493c14241d4e3320437e62d7f54eabb for sync_default_gems.rb
hsbt (Hiroshi SHIBATA)
10:28 AM Revision d74fe206 (git): Adjust gemspec location of default gems
hsbt (Hiroshi SHIBATA)
10:28 AM Revision f5d80c26 (git): Removed JRuby specific helper for open3
hsbt (Hiroshi SHIBATA)
10:28 AM Revision 08016914 (git): [ruby/open3] Use RbConfig's 'host_os'
RUBY_PLATFORM on JRuby is always 'java' so it does not indicate
the host OS.
https://github.com/ruby/open3/commit/d2308040e6
headius (Charles Nutter)
10:28 AM Revision eb06b37c (git): [ruby/open3] Update to match JRuby 9.4
This allows the wrapper functions in the main open3 to be defined
while using our ProcessBuilder logic for the internal popen
implementation.
Note this adds logic to reject redirects from a numeric fd to a
live IO object (or not a Strin...
headius (Charles Nutter)
10:28 AM Revision 01febcab (git): [ruby/open3] Add JRuby's Windows (JDK non-native) Open3 support
This adds JRuby's logic used on platforms where we do not have
native access to posix_spawn and related posix functions needed
to do fully-native subprocess launching and management. The code
here instead uses the JDK ProcessBuilder logi...
headius (Charles Nutter)
10:28 AM Revision 34ebd139 (git): [ruby/open3] Only use JITSupport on CRuby
Fixes #2
https://github.com/ruby/open3/commit/6b7ede69e8
headius (Charles Nutter)
10:28 AM Revision d150b8d0 (git): [ruby/open-uri] gemspec: This gem exposes 0 executables
This just makes that fact more explicit.
https://github.com/ruby/open-uri/commit/ffbfba5d69
olleolleolle (Olle Jonsson)
10:28 AM Revision c41751f1 (git): [ruby/io-wait] Bump up 0.2.1
https://github.com/ruby/io-wait/commit/c97ab9a212 hsbt (Hiroshi SHIBATA)
10:28 AM Revision dd8b9c1d (git): [ruby/English] gemspec: Remove unused "executables" configuration
This gem exposes no executables.
https://github.com/ruby/English/commit/bb1ce0af20
olleolleolle (Olle Jonsson)
10:00 AM Feature #12084: `Class#instance`
> For your information, `NilClass` is not a singleton class. It's a class with only an instance. This is side evidence of this method is confusing. Even the original proposer can misunderstand the concept.
Interesting, I think what co...
Eregon (Benoit Daloze)
07:58 AM Feature #12084: `Class#instance`
* `instance` is NG. For example, `Array.instance => nil` is confusing
* `attached_object` is better, at least for singleton classes. But there's still no real-world use-case.
For your information, `NilClass` is not a singleton class....
matz (Yukihiro Matsumoto)
09:46 AM Feature #16038 (Feedback): Provide a public WeakMap that compares by equality rather than by identity
byroot (Jean Boussier)
09:33 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
Eregon (Benoit Daloze) wrote in #note-22:
> For the deduplication use-case as in the description, `WeakValuesMap` is possible too:
...
> ...
As far as I understand from the description, what byroot wanted is to use the instance itself...
mame (Yusuke Endoh)
09:28 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
> I like you to close the ticket and create another one with self-contained and complete description.
Fair. I'll chat some more with @eregon to make sure we agree on the proposal and do that for next month.
byroot (Jean Boussier)
09:26 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
byroot (Jean Boussier) wrote in #note-24:
> > The use case that we are considering now is only object deduplication?
> ...
What use case do you have for example?
> I posted an updated snippet accommodating Java based VMs:
Well. Y...
mame (Yusuke Endoh)
07:46 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
The current proposal is:
- Two new classes `WeakKeysMap` and `WeakValuesMap`
- Not too sure about the namespace, maybe inside `WeakRef`?
- Equality semantic for keys.
```ruby
Value = Struct.new(:foo)
map = WeakKeysMap.new
...
byroot (Jean Boussier)
07:42 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
I am a bit confusing. Could you summarize the **current** proposal?
Matz.
matz (Yukihiro Matsumoto)
06:51 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
> The use case that we are considering now is only object deduplication?
That's my main use case for it yes, but there are plenty of other use cases.
> ...
I posted an updated snippet accommodating Java based VMs:
```ruby
REGISTRY = W...
byroot (Jean Boussier)
02:49 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
Let me confirm. The use case that we are considering now is only object deduplication? Or, other use cases are also being discussed?
---
As far as I understand, eregon says "JRuby/TruffleRuby cannot implement WeakMap (in which both key...
mame (Yusuke Endoh)
09:16 AM Revision 6ff9fcdf (git): [ruby/rdoc] Support addition Object class when adding methods to top level
https://github.com/ruby/rdoc/commit/23747b4950 aycabta (aycabta .)
09:16 AM Revision 2e50989a (git): [ruby/rdoc] Resolve class and method of the same name correctly
https://github.com/ruby/rdoc/commit/1e16284fe5 aycabta (aycabta .)
09:15 AM Revision fa806cf2 (git): Fix typo of namespace
aycabta (aycabta .)
08:01 AM Feature #17881: Add a Module#const_added callback
Thank you.
> Although I think it's too late for the 3.1 release.
Assuming https://bugs.ruby-lang.org/issues/15912 does make it through for 3.1, then it's no big deal.
byroot (Jean Boussier)
07:59 AM Feature #17881: Add a Module#const_added callback
Accepted. Although I think it's too late for the 3.1 release.
Matz.
matz (Yukihiro Matsumoto)
07:53 AM Bug #18398: bundler cannot install digest
Seems to be resolved. Thank you.
Run `gem install`with `--pre` under bundler ... ok
```
$ bundle exec gem install digest --pre
Fetching digest-3.1.0.pre3.gem
Building native extensions. This could take a while...
Successfully i...
Tietew (Toru Iwase)
05:41 AM Bug #18398: bundler cannot install digest
Can you try it with `--pre` option? We fixed installation issue at `digest-3.1.0.preX`. hsbt (Hiroshi SHIBATA)
05:33 AM Bug #18398 (Closed): bundler cannot install digest
`bundle install` gives up installing `digest` gem
due to trying to write `digest.so` in global site_ruby directory (not writable).
# How to reproduce
In clean directory, create a following Gemfile:
``` ruby
source 'https://rubyg...
Tietew (Toru Iwase)
07:20 AM Bug #18243 (Closed): Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
Applied in changeset commit:git|cce331272b07636d536c8227288ab3fbcf24e2aa.
----------
`Ractor.make_shareable` checks proc's sefl
`Ractor.make_shareable(proc_obj)` raises an `IsolationError`
if the self of `proc_obj` is not a shareable o...
ko1 (Koichi Sasada)
07:20 AM Revision cce33127 (git): `Ractor.make_shareable` checks proc's sefl
`Ractor.make_shareable(proc_obj)` raises an `IsolationError`
if the self of `proc_obj` is not a shareable object.
[Bug #18243]
ko1 (Koichi Sasada)
07:15 AM Feature #14332: Module.used_refinements to list refinement modules
It's too late for 3.1. But after the release, I basically honor @shugo's decision here.
Matz.
matz (Yukihiro Matsumoto)
07:10 AM Feature #12737: Module#defined_refinements
OK, accepted. After 3.1, you can introduce:
* Module#refinements
* Refinment#refined_class
Matz.
matz (Yukihiro Matsumoto)
05:39 AM Bug #17799: Seg fault in rb_class_clear_method_cache
I wonder if https://github.com/ruby/ruby/commit/428227472fc6563046d8138aab17f07bef6af753 solved this problem, though #18282 looks different from this issue. The stack trace in https://gitlab.com/gitlab-org/gitlab/-/issues/326348#note_556... stanhu (Stan Hu)
05:02 AM Feature #18349: Let --jit enable YJIT on supported platforms
> Will --yjit option remain? I prefer the following behaviors.
> ...
I think it's the same as what's proposed here. `--jit` is to automatically choose our latest recommendation, but both `--mjit` and `--yjit` would be still useful for t...
k0kubun (Takashi Kokubun)
04:51 AM Feature #18349: Let --jit enable YJIT on supported platforms
Will `--yjit` option remain? I prefer the following behaviors.
* `--jit` means the best strategy of Ruby JIT selected by Ruby core.
* If users hope to enforce JIT strategy, They can choose `--yjit` or `--mjit` in the future.
I'm n...
hsbt (Hiroshi SHIBATA)
04:40 AM Feature #18349: Let --jit enable YJIT on supported platforms
I agreed with the proposal, including making `mjit` as a fallback.
Matz.
matz (Yukihiro Matsumoto)
03:28 AM Revision c5f68a9a (git): Fix typo in NEWS-2.5.0 [ci skip]
Akihiro Sada

12/08/2021

11:58 PM Revision 45c5794d (git): [rubygems/rubygems] Don't load system rubygems during tests
Since tests are about testing our development copy of rubygems, not
whatever is installed in the system.
https://github.com/rubygems/rubygems/commit/f5e0b68cdd
deivid (David Rodríguez)
09:59 PM Revision 82bb9ced (git): YJIT: Fix leak in compilation loop
Previously, when there are too many blocks in a batch, the last block in
the batch is not tracked in the array of batches and not freed.
alanwu (Alan Wu)
07:47 PM Revision c47e821b (git): [ruby/ostruct] Bump version to 0.5.2
Marc-Andre Lafortune
07:47 PM Revision 9c269316 (git): [ruby/ostruct] `Proc`'s self should be shareable.
To fix the issue https://bugs.ruby-lang.org/issues/18243
we need to make sure the Proc's self is shareable.
These procs are used by `define_method` and it doesn't use
Proc's self, so `nil` is enough.
ko1 (Koichi Sasada)
07:04 PM Bug #18243: Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
At least we need fix it.
This PR simply prohibits `make_shareable()` if the proc's self is unshareable.
https://github.com/ruby/ruby/pull/5232
ko1 (Koichi Sasada)
06:54 PM Feature #15912: Allow some reentrancy during TracePoint events
implementation: https://github.com/ruby/ruby/pull/5231
> tp.reentrant
It should not be an instance method of `tp` because it doesn't depend on current `tp`.
Also this is danger API, so I want to add `allow_` to make clear the meaning.
ko1 (Koichi Sasada)
06:34 PM Feature #18397 (Closed): Remove documentation that Qfalse == 0 in `extension.rdoc`, instead encourage use of RTEST
Currently, [the extension documentation](https://github.com/ruby/ruby/blob/master/doc/extension.rdoc#label-Convert+VALUE+into+C+Data) states that “Qfalse is false in C (i.e. 0).” Instead, we should encourage the use of RTEST in documenta... jemmai (Jemma Issroff)
06:29 PM Revision 9a2ecddf (git): Enhanced RDoc for String (#5227)
Treats:
#replace
#clear
#chr
#getbyte
#setbyte
#byteslice
#reverse
#reverse!
#include?
burdettelamar (Burdette Lamar)
05:15 PM Misc #18335: openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"
Patches are welcome to check them without breaking things on other platforms (including Oracle Solaris 11).
I guess that the error/failure only occurs when processing large-scale complex source codes, and simple short source codes cou...
ngoto (Naohisa Goto)
05:03 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
I don't have access to a ppc64 machine. Do you know what the crash is? peterzhu2118 (Peter Zhu)
04:52 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
Unfortunately, the build fails already in miniruby:
~~~
... snip ...
gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS ...
vo.x (Vit Ondruch)
02:16 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
Hey @vo.x, can you check if also backporting this PR fixes the crashes? https://github.com/ruby/ruby/pull/4227
Ruby 3.0 is still using `posix_memalign` to allocate pages. Only memory allocated with `mmap` is allowed to be passed into ...
peterzhu2118 (Peter Zhu)
01:04 PM Bug #18133: LTO: TestGCCompact#test_ast_compacts segfaults on i686
vo.x (Vit Ondruch) wrote in #note-5:
> Thanks for looking into this. However, applying these two patches, while fixing i686, it breaks ppc64le :(
And sometimes aarch64
vo.x (Vit Ondruch)
12:47 PM Bug #18133 (Assigned): LTO: TestGCCompact#test_ast_compacts segfaults on i686
Thanks for looking into this. However, applying these two patches, while fixing i686, it breaks ppc64le :(
~~~
[ 8890/21266] TestGCCompact#test_ast_compacts<internal:gc>:213: [BUG] Couldn't unprotect page 0x0000000140f98000
ruby 3.0...
vo.x (Vit Ondruch)
04:42 PM Feature #18395: Introduce Array#subtract! for performance
Have you benched `array.reject! { |e| array_or_set.include?(e) }`? byroot (Jean Boussier)
04:38 PM Feature #18395: Introduce Array#subtract! for performance
schneems (Richard Schneeman) wrote in #note-2:
> > We have Array#delete already, the only difference from your proposal (other than the receiver) being that it does not accept multiple arguments. I think a better proposal would be to let...
sawa (Tsuyoshi Sawada)
03:26 PM Feature #18395: Introduce Array#subtract! for performance
It would be very helpful if you could write a code example in the description to help us understand your proposal at a glance. I copied (and a bit tweaked) it from the rdoc you write in PR. Feel free to change the example if you don't li... mame (Yusuke Endoh)
02:55 PM Feature #18395: Introduce Array#subtract! for performance
> We have Array#delete already, the only difference from your proposal (other than the receiver) being that it does not accept multiple arguments. I think a better proposal would be to let Array#delete accept multiple arguments.
In orde...
schneems (Richard Schneeman)
05:16 AM Feature #18395: Introduce Array#subtract! for performance
I am strongly against it. It is a practice in Ruby for methods that destructively remove something from the receiver to return the removed value rather than the modified receiver. I also do not think it is worth adding a new method just ... sawa (Tsuyoshi Sawada)
03:30 PM Revision 1966dc7a (git): * 2021-12-09 [ci skip]
git[bot]
03:30 PM Revision 17e72196 (git): ext/ripper/lib/ripper/lexer.rb: Do not deprecate Ripper::Lexer::State#[]
The old code of IRB still uses this method. The warning is noisy on
rails console.
In principle, Ruby 3.1 deprecates nothing, so let's avoid the
deprecation for the while.
I think It is not so hard to continue to maintain it as it is a t...
mame (Yusuke Endoh)
10:11 AM Revision 3021c3ce (git): Add `to_f` to predefined conversion method name to ID table
nobu (Nobuyoshi Nakada)
08:59 AM Revision 454b4da7 (git): [DOC] Integer.try_convert [ci skip]
nobu (Nobuyoshi Nakada)
06:39 AM Bug #18396: An unexpected "hash value omission" syntax error when without parentheses call expr follows
I get it. Thank you for the explanation! koic (Koichi ITO)
04:09 AM Bug #18396 (Rejected): An unexpected "hash value omission" syntax error when without parentheses call expr follows
It is by design.
```
foo key:
bar
```
was parsed as `foo(key: bar)` in Ruby 3.0 or before. It is incompatible to change it to `foo(key: key); bar`.
Except some traditional exceptions like `puts "foo"` and `require "foo"`, it ...
mame (Yusuke Endoh)
03:25 AM Bug #18396 (Open): An unexpected "hash value omission" syntax error when without parentheses call expr follows
## Summary
I encountered an unexpected "hash value omission" syntax error when parentheses call expression follows:
```ruby
% cat example.rb
foo key:
foo arg
```
```console
% ruby -cv /tmp/b.rb
ruby 3.1.0dev (2021-12-07T23...
koic (Koichi ITO)
04:26 AM Revision af6e0883 (git): Skip bind port 1 when ip_unprivileged_port_start<=1
Linux can allow to bind port 1 to user.
And `ip_unprivileged_port_start` is 0 on [lima](https://github.com/lima-vm/lima) default vm.
```
1)
Socket#bind on SOCK_DGRAM socket raises Errno::EACCES when the current user does not have permis...
znz (Kazuhiro NISHIYAMA)

12/07/2021

11:18 PM Revision 4a3e7984 (git): Avoid Array allocation when appending to args array (#5211)
* Use duparray when possible for argspush
ARGSPUSH is the node we see with a single value pushed to the end of a
splatted array. ARGSCAT is similar, but is used when multiple values are
being concatenated to the list.
Previously only A...
jhawthorn (John Hawthorn)
10:59 PM Revision 852ea1e8 (git): [rubygems/rubygems] Remove unnecessary comment
https://github.com/rubygems/rubygems/commit/5e50f12e7a deivid (David Rodríguez)
10:59 PM Revision 76cad137 (git): [rubygems/rubygems] Don't add custom github source to `bundle init` Gemfile
It's provided by bundler.
https://github.com/rubygems/rubygems/commit/25ccaab46b
deivid (David Rodríguez)
10:59 PM Revision f0ef9ffe (git): [rubygems/rubygems] Cancel deprecation of custom git sources
https://github.com/rubygems/rubygems/commit/99cd6e0627 deivid (David Rodríguez)
10:20 PM Revision 6beb05c2 (git): YJIT: Undo add_block_version() in OOM code path
Preivously, [1] failed to undo the effect of applying
add_block_version() to a block, leaving dangling pointers in the iseq
when compilation fails.
[1]: d0772632bf2ff15f73c0d3601d958670a5c77855
alanwu (Alan Wu)
10:20 PM Revision 286c07f0 (git): YJIT: Remove guard_self_is_heap()
It's superseded by functionality added to jit_guard_known_klass().
In weird situations such as the ones in the included test,
guard_self_is_heap() triggered assertions.
Co-authored-by: Jemma Issroff <jemmaissroff@gmail.com>
alanwu (Alan Wu)
09:21 PM Feature #18395 (Open): Introduce Array#subtract! for performance
PR: https://github.com/ruby/ruby/pull/5110#issuecomment-984345309
It is common to use `-=` to modify an array to remove elements. Also, there is `Array#difference` which accepts multiple arguments. Both of these methods allocate an in...
schneems (Richard Schneeman)
07:15 PM Bug #18133 (Closed): LTO: TestGCCompact#test_ast_compacts segfaults on i686
Hi, I was able to debug a core dump for this bug. Backports in #18394 should fix it. Thanks for the bug report! peterzhu2118 (Peter Zhu)
07:14 PM Bug #18394 (Closed): Backports for read barrier for GC compaction for Ruby 3.0
Please backport commits [0130e17a410d60a10e7041ce98748b8de6946971](https://github.com/ruby/ruby/commit/0130e17a410d60a10e7041ce98748b8de6946971) and [32b7dcfb56a417c1d1c354102351fc1825d653bf](https://github.com/ruby/ruby/commit/32b7dcfb5... peterzhu2118 (Peter Zhu)
05:58 PM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
xtkoba (Tee KOBAYASHI) wrote in #note-2:
> $ grep '^arch_hdrdir' /var/tmp/build/arm64-v8a/lib/ruby/gems/3.1.0/gems/rbs-1.7.0.beta.5/ext/rbs_extension/Makefile
> ...
This is good tip:
~~~
$ grep '^arch_hdrdir' /builddir/build/BUILDR...
vo.x (Vit Ondruch)
04:49 PM Revision e51d0d28 (git): * 2021-12-08 [ci skip]
git[bot]
04:49 PM Revision 1b12ebb9 (git): [rubygems/rubygems] Add require parameter to `bundle add``
Test and ensure "false" is handled
Don't use yield_self to operate on autorequire
Remove duplicate autorequire
Add banner to require option
Don't use json to break down require params
Pass linter
https://github.com/rubygems/rubygem...
Simon Fish
02:27 PM Revision 26303c31 (git): [rubygems/rubygems] Pass "--" to git commands to separate positional and optional args
To make sure git uri's specified in Gemfile are never misinterpreted as
optional arguments, potentially allowing for local code execution.
https://github.com/rubygems/rubygems/commit/90b1ed8b9f
deivid (David Rodríguez)
02:17 PM Bug #16920: TestThread#test_signal_at_join fails on aarch64
Still issue with ruby 3.1.0dev (2021-12-07 master ec878dac90) [aarch64-linux] vo.x (Vit Ondruch)
02:15 PM Feature #18033: Time.new to parse a string
Eregon (Benoit Daloze) wrote in #note-23:
> > `Time.try_convert` feels considerable, but passing the timezone option may not fit.
> ...
Ah, my bad.
The `try_convert` methods are the implicit conversions for duck-typing, i.e, `to_int` ...
nobu (Nobuyoshi Nakada)
02:03 PM Bug #18393 (Closed): TestReadline#test_interrupt_in_other_thread fails on armv7hl
Testing Ruby 3.1 on Fedora, I observe following issue:
~~~
1) Failure:
TestReadline#test_interrupt_in_other_thread [/builddir/build/BUILD/ruby-3.1.0-ec878dac90/test/readline/test_readline.rb:574]:
Unknown failure with exit status...
vo.x (Vit Ondruch)
01:00 PM Revision bb3f17bd (git): More indentation in NEWS.md [ci skip]
The current Markdown implementation of RDoc requires list contents
to be indented 4 columns except for the first paragraph.
Maybe fixed as other implementations in the future.
nobu (Nobuyoshi Nakada)
12:56 PM Bug #18392 (Closed): ObjectSpace::WeakMap#inspect causes BUG
Applied in changeset commit:git|d6c5a30cfdf658280338dbb8c8b17fab3190b928.
----------
ObjectSpace::WeakMap#inspect: check if living object [Bug #18392]
nobu (Nobuyoshi Nakada)
05:01 AM Bug #18392 (Closed): ObjectSpace::WeakMap#inspect causes BUG
```ruby
wmap = ObjectSpace::WeakMap.new
(2**32).times do |i|
wmap[i] = "foo"
wmap.inspect
end
```
```
t.rb:6: [BUG] Segmentation fault
ruby 3.1.0dev (2021-11-05T14:20:50Z master 907aa47527) [x64-mswin64_140]
-- Contro...
ko1 (Koichi Sasada)
12:55 PM Revision a2d4e1cd (git): Fixed the check order in wmap_live_p [Bug #18392]
Check if the object is a pointer to heap before check the flag in
that object.
nobu (Nobuyoshi Nakada)
12:55 PM Revision d6c5a30c (git): ObjectSpace::WeakMap#inspect: check if living object [Bug #18392]
nobu (Nobuyoshi Nakada)
12:31 PM Bug #18391: Error building gems with binary extensions on Ruby 3.1
Thx a lot for the fix. vo.x (Vit Ondruch)
08:38 AM Bug #18391 (Closed): Error building gems with binary extensions on Ruby 3.1
Applied in changeset commit:git|ec878dac90df0ca5f39e72261b8d4e2898486a93.
----------
Move -ljemalloc to DLDLIBS [Bug #18391]
Set the alternative memory management library only as a platform
specific library, without other libraries.
nobu (Nobuyoshi Nakada)
08:30 AM Feature #15912: Allow some reentrancy during TracePoint events
What about:
```ruby
TracePoint.trace(:line) do |tp|
tp.reentrant do
...
end
end
byroot (Jean Boussier)
06:43 AM Feature #15912: Allow some reentrancy during TracePoint events
naming issue:
`TracePoint.allow_reentrance do ... end` ?
`TracePoint.allow_reentrancy do ... end` ?
ko1 (Koichi Sasada)
07:44 AM Feature #12913 (Open): A way to configure the default maximum width of pp
mame (Yusuke Endoh)
03:08 AM Feature #12913 (Closed): A way to configure the default maximum width of pp
Applied in changeset commit:git|dfd9728c87640d9699b1e7c63a6fefb6b2797fbc.
----------
NEWS.md: Describe the change of the default width of `pp`
[Feature #12913]
mame (Yusuke Endoh)
06:43 AM Misc #18346: DevelopersMeeting20211209Japan
* [Feature #18331] Kernel.#Time (sawa)
* Introduce `Kernel.#Time` {instead of/in addition to} extending `Time.new` as in #18033.
* Similar methods like `Kernel#.Integer` are used to parse strings, and this is a good fit for `Ti...
sawa (Tsuyoshi Sawada)
06:07 AM Misc #18346: DevelopersMeeting20211209Japan
* [Feature #18033] https://bugs.ruby-lang.org/issues/18033
* `Time.at("2021-12-09")` instead of `Time.new`.
* Other new methods: `Time.try_convert` or `Time.iso`.
* [Feature #18190] Split `Random::Formatter` from securerandom
* Al...
nobu (Nobuyoshi Nakada)
04:26 AM Misc #18346: DevelopersMeeting20211209Japan
* [Feature #12737] Module#defined_refinements
* Is the name Module#refinements acceptable?
* It's consistent with Module#constants.
* Other candidates: configured_refinements, contained_refinements, defined_refinements
* ...
shugo (Shugo Maeda)
06:20 AM Revision ec878dac (git): Move -ljemalloc to DLDLIBS [Bug #18391]
Set the alternative memory management library only as a platform
specific library, without other libraries.
nobu (Nobuyoshi Nakada)
06:18 AM Bug #14434: IO#reopen fails after EPIPE
I think this is a bug definitely, but non-critical. nobu (Nobuyoshi Nakada)
06:02 AM Revision 91e9d276 (git): Fix a link [ci skip]
znz (Kazuhiro NISHIYAMA)
05:26 AM Bug #14891 (Closed): Pathname#join has different behaviour to File.join
nobu (Nobuyoshi Nakada)
05:21 AM Feature #18351: Support anonymous rest and keyword rest argument forwarding
compare with `...` parameter delegation, the advantage is we can specify with `*` and `**` respectively, like `def foo(*, k1:nil); bar(*, k2: k1); end` ? ko1 (Koichi Sasada)
04:21 AM Revision ad4ac68c (git): [ruby/ostruct] ostruct v0.5.1
Marc-Andre Lafortune
04:21 AM Revision 95d9bcf2 (git): [ruby/ostruct] Alias less methods
Skips methods that do not end with letter (in particular `!~` and `=~`)
For JRuby, also skip `instance_exec`, `instance_eval` and `eval`
Marc-Andre Lafortune
03:07 AM Revision dfd9728c (git): NEWS.md: Describe the change of the default width of `pp`
[Feature #12913] mame (Yusuke Endoh)
01:27 AM Revision 794b9a28 (git): YJIT: Add integrity checks for blockid
Verify that the iseq idx pair for the block is valid in
invalidate_block_version(). While we are at it, bound loop
iterating over instructions to `iseq_body->iseq_size`.
alanwu (Alan Wu)
12:24 AM Revision b7ea66bc (git): YJIT: Fix incomplete invalidation from opt_setinlinecache
As part of YJIT's strategy for promoting Ruby constant expressions into
constants in the output native code, the interpreter calls
rb_yjit_constant_ic_update() from opt_setinlinecache.
The block invalidation loop indirectly calls rb_dar...
alanwu (Alan Wu)
12:16 AM Bug #18390: Enumerator::Lazy#find returns invalid value
Oh that's good to know. I see you have created a ticket for Opal: https://github.com/opal/opal/issues/2367 . Thank you for your report anyway! mame (Yusuke Endoh)

12/06/2021

10:26 PM Revision 0209beac (git): Enhanced RDoc for literals.rdoc (#5213)
Makes link targets among percent literals.
Adds links to those targets.
Adds examples to percent literals.
Links from opening summary list to corresponding sections.
burdettelamar (Burdette Lamar)
08:30 PM Feature #18376: Version comparison API
We reverted it for now. deivid (David Rodríguez)
01:16 PM Feature #18376: Version comparison API
I disagree that this will "break" anything, but I'll revert for now until we gather some more opinions on my better idea. deivid (David Rodríguez)
12:56 PM Feature #18376: Version comparison API
deivid (David Rodríguez) wrote in #note-24:
> I mean, of course, right? What else would you expect? Isn't that the whole point?
Not really, I think the whole point is to have a version API without needing to load RubyGems and working...
Eregon (Benoit Daloze)
12:52 PM Feature #18376: Version comparison API
To clarify, won't users of `--disable-gems` will expect that nothing under `Gem` is defined except for the explicitly required `rubygems/version`? Isn't that what they want? deivid (David Rodríguez)
12:49 PM Feature #18376: Version comparison API
> And also this seems quite confusing if the Gem constant is defined but all the constants/classes under Gem are not there and would be NameError when accessing them, unless require 'rubygems' is done before those accesses:
I mean, of...
deivid (David Rodríguez)
12:36 PM Feature #18376: Version comparison API
deivid (David Rodríguez) wrote in #note-22:
> Something like https://github.com/rubygems/rubygems/pull/5136 would already address the "I don't want to load all of rubygems just to compare some versions" concern.
Unfortunately this do...
Eregon (Benoit Daloze)
09:02 AM Feature #18376: Version comparison API
Thinking a bit more about this, current `Gem::Version` functionality seems quite independent, so there may be a way to provide this feature that's also low friction for rubygems maintainers.
Something like https://github.com/rubygems/ru...
deivid (David Rodríguez)
08:16 PM Feature #17047: Support parameters for MAIL FROM and RCPT TO
tommy (Masahiro Tomita) wrote in #note-12:
> How about this: https://github.com/ruby/net-smtp/pull/34
👍
Probably a good idea to make it a bit more explicit than my proposal.
c960657 (Christian Schmidt)
05:55 PM Bug #18390 (Third Party's Issue): Enumerator::Lazy#find returns invalid value
jeremyevans0 (Jeremy Evans)
05:38 PM Bug #18390: Enumerator::Lazy#find returns invalid value
I just found that playground runs Opal, not MRI. Sorry for incorrect addressee, please close the issue. cvss (Kirill Vechera)
05:35 PM Bug #18390: Enumerator::Lazy#find returns invalid value
I'm not sure about build parameters, I found this bug at the ruby playground https://try.ruby-lang.org/ I'm attaching a screenshot. cvss (Kirill Vechera)
02:04 PM Bug #18390: Enumerator::Lazy#find returns invalid value
I cannot reproduce the issue
```
$ ~/local/bin/ruby -ve 'p [1, 2, 3, 4].lazy.find(&:even?)'
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
2
```
Could you please elaborate what did you do? How did you install yo...
mame (Yusuke Endoh)
12:57 PM Bug #18390 (Third Party's Issue): Enumerator::Lazy#find returns invalid value
There is a regression bug in `#find`
```ruby
# RUBY_VERSION 3.0.2
[1, 2, 3, 4].lazy.find(&:even?) # => nil (ERROR!), expected 2
[1, 2, 3, 4].find(&:even?).find(&:even?) # => 2
# RUBY_VERSION 2.4.1
[1, 2, 3, 4].lazy.find(&:even?) # ...
cvss (Kirill Vechera)
05:37 PM Feature #18033: Time.new to parse a string
nobu (Nobuyoshi Nakada) wrote in #note-22:
> I wrote `Time#inspect`, but the "ISO 8601-like" format is not only used by it, e.g., `--date=iso` of git.
Interesting that `git` has this too:
```
--date=iso (or --date=iso860...
Eregon (Benoit Daloze)
02:54 PM Feature #18033: Time.new to parse a string
Eregon (Benoit Daloze) wrote in #note-21:
> Why we do we need to parse `Time#inspect` output?
> ...
I wrote `Time#inspect`, but the "ISO 8601-like" format is not only used by it, e.g., `--date=iso` of git.
> `#inspect` does not feel...
nobu (Nobuyoshi Nakada)
01:18 PM Feature #18033: Time.new to parse a string
nobu (Nobuyoshi Nakada) wrote in #note-19:
> First, the primary target is the result of `Time#inspect`, and it is not fully compliant with ISO-8601.
Thanks for making that clear, I wasn't sure why not just improve `Time.iso8601`.
...
Eregon (Benoit Daloze)
04:55 AM Feature #18033: Time.new to parse a string
Eregon (Benoit Daloze) wrote in #note-10:
> Also it's technically incompatible (the first argument is always the year for `Time.new` and it even accepts strings):
> ...
Actually this code raises an `ArgumentError` in the master, since ...
nobu (Nobuyoshi Nakada)
05:15 PM Bug #18391: Error building gems with binary extensions on Ruby 3.1
Please note that the culprit was originally identified in this thread:
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/EYVRKJQF3O6IFYY3CZV4ZBCTHQ6LVAIX/
vo.x (Vit Ondruch)
05:14 PM Bug #18391 (Closed): Error building gems with binary extensions on Ruby 3.1
Testing Ruby 3.1 on Fedora, it seems that every gem with binary extension fails to build. This is the mkmf.log:
~~~
LD_LIBRARY_PATH=.:/usr/lib64 pkg-config --exists openssl
LD_LIBRARY_PATH=.:/usr/lib64 pkg-config --libs openssl |
=...
vo.x (Vit Ondruch)
05:03 PM Revision 4c39fae4 (git): add a NEWS entry for `mandatory_only?`
ko1 (Koichi Sasada)
05:03 PM Revision 87664b5c (git): add a NEWS entry about GC.total_time
ko1 (Koichi Sasada)
05:03 PM Revision 660687e6 (git): add NEWS about the improvement of `Struct`
ko1 (Koichi Sasada)
04:53 PM Revision fb356c6f (git): * 2021-12-07 [ci skip]
git[bot]
04:53 PM Revision 526c9359 (git): [rubygems/rubygems] Don't cleanup paths from gems already activated from `$LOAD_PATH`
This way, if some default gem has been required before bundler, and
rubygems has enhanced the `$LOAD_PATH` to use the latest version in the
system, further requires of that default gem after bundler has been
activated will use the same v...
deivid (David Rodríguez)
04:17 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
This is resolved testing with 715a51a0d6. Thx for helping with the analysis and fix. vo.x (Vit Ondruch)
01:48 PM Bug #18385: Refinement#import_methods(Enumerable) doesn't work
Eregon (Benoit Daloze) wrote in #note-5:
> zverok (Victor Shepelev) wrote in #note-2:
> ...
Well... We can look from many different angles at the problem.
From one side, I can understand the technical reasons how you explain them. ...
zverok (Victor Shepelev)
01:25 PM Bug #18385: Refinement#import_methods(Enumerable) doesn't work
zverok (Victor Shepelev) wrote in #note-2:
> I didn't realize that `import_methods` is a make-believe feature, not really integrated with the interpreter/object model.
Not sure what you mean by that, in my POV it is integrated and i...
Eregon (Benoit Daloze)
12:43 AM Bug #18385 (Closed): Refinement#import_methods(Enumerable) doesn't work
Applied in changeset commit:git|c2192cb985c10c90ba5e4d64652f79f89afff983.
----------
Clarify the error message when trying to import C methods [Bug #18385]
shugo (Shugo Maeda)
12:35 AM Bug #18385 (Assigned): Refinement#import_methods(Enumerable) doesn't work
Eregon (Benoit Daloze) wrote in #note-1:
> It means you can't import methods defined in C, only methods defined with Ruby code.
> ...
Yes, it's an implementation issue.

> I think we should improve the error message, like:
> ...
Th...
shugo (Shugo Maeda)
11:27 AM Revision 715a51a0 (git): [rubygems/rubygems] Feature: accept pull request URLs as github source
Very often github source is used to temporarily use a modified gem
while a PR upstream is being reviewed.
So for instance https://github.com/ruby/bigdecimal/pull/211 will look like:
```ruby
gem "bigdecimal", github: "casperisfine/bigde...
byroot (Jean Boussier)
10:53 AM Feature #18370: Call Exception#full_message to print exceptions reaching the top-level
Main motivation for this issue is consistency.
AFAIK `Exception#full_message` was introduced to have exactly the same output as the top-level handler (with the default keywords), but be able to produce it from anywhere (including test...
Eregon (Benoit Daloze)
04:59 AM Feature #18370: Call Exception#full_message to print exceptions reaching the top-level
Please clearly write the motivation first. Cite from https://bugs.ruby-lang.org/issues/18296#note-14
* Callers can choose whether they want `did_you_mean/error_highlight` (individually) in the exception message or not, and they have a...
mame (Yusuke Endoh)
09:43 AM Revision d044ffd7 (git): [rubygems/rubygems] Allow using `Gem::Version` without loading the rest of rubygems
https://github.com/rubygems/rubygems/commit/1b862537a5 deivid (David Rodríguez)
09:43 AM Revision e41c195c (git): [rubygems/rubygems] Fix incorrect quoting
Test was just returning a string instead of actually exercising the
require.
https://github.com/rubygems/rubygems/commit/62c827d7e1
deivid (David Rodríguez)
09:03 AM Revision 25423f09 (git): [rubygems/rubygems] Add --version parameter to bundle info command.
https://github.com/rubygems/rubygems/commit/7d9fdd908d retro (Josef Šimánek)
08:53 AM Revision 5ce3272e (git): autogen.sh: Copy auxiliary files instead of symlinks with `-i`
When accessing from containers, symbolic links may not be able to
reach outer file systems.
nobu (Nobuyoshi Nakada)
08:42 AM Revision 9c0c66f7 (git): [rubygems/rubygems] add login & logout for the signin & signout commands respectively
https://github.com/rubygems/rubygems/commit/49b491970b Colby Swandale
05:18 AM Revision e563c606 (git): sync_default_gems.rb: convert commit hashes to github URLs [ci skip]
nobu (Nobuyoshi Nakada)
05:03 AM Bug #18381 (Assigned): Default vs Bundled gems
hsbt (Hiroshi SHIBATA)
04:54 AM Feature #18181: Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value
Another idea (evaluate a given block with a result):
```ruby
class Enumerator
def with_value(&b)
v = each(&b)
[v, b.call(v)]
end
end
pp %w(abcde fg hijk).min_by.with_value{|e| e.size}
#=> ["fg", 2]
```
It is general for `....
ko1 (Koichi Sasada)
04:44 AM Feature #18181: Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value
matz (Yukihiro Matsumoto) wrote in #note-9:
> Just for confirmation, is it OK that `min_with_value` returns only a single value?
I think that returning a single value will suit most cases.
It matches that `min` also returns a singl...
kyanagi (Kouhei Yanagita)
03:14 AM Bug #18386 (Third Party's Issue): bash-3.2$ pod install / GRDB on OSX 12.01. Monterey / M1 Max
jeremyevans0 (Jeremy Evans)
03:07 AM Bug #18386: bash-3.2$ pod install / GRDB on OSX 12.01. Monterey / M1 Max
Sorry for your inconvenience.
We have already received more than a dozen of similar reports; see https://bugs.ruby-lang.org/search?utf8=%E2%9C%93&scope=&issues=1&q=mac+pod for example.
Unfortunately this is caused by third-party ex...
xtkoba (Tee KOBAYASHI)
12:40 AM Revision c2192cb9 (git): Clarify the error message when trying to import C methods [Bug #18385]
shugo (Shugo Maeda)

12/05/2021

11:17 PM Bug #16852: Refining Enumerable fails with ruby 2.7
Can backport this fix? osyo (manga osyo)
10:15 PM Bug #18389 (Closed): `binding.irb` can fail in some classes that implement `context` and `print` methods.
```ruby
class Foo
def boop
binding.irb
end

def context
end

def print
end
end
Foo.new.boop
```
It fails with:
```
> ruby ./test.rb
From: ./test.rb @ line 3 :
1: class Foo
2: def...
ioquatix (Samuel Williams)
08:25 PM Revision e7135528 (git): [rubygems/rubygems] LOAD_PATH is already reset globally
https://github.com/rubygems/rubygems/commit/b0bbb27115 deivid (David Rodríguez)
08:25 PM Revision 2fc47bad (git): [rubygems/rubygems] Remove unneded setup
https://github.com/rubygems/rubygems/commit/9815a04e31 deivid (David Rodríguez)
05:17 PM Bug #18387: Backport of fix for #16798 to Ruby 2.6 introduced C99 syntax
it's unintentionally, so I'll fix it later. thx! usa (Usaku NAKAMURA)
03:51 AM Bug #18387 (Closed): Backport of fix for #16798 to Ruby 2.6 introduced C99 syntax
Building Ruby 2.6.9 on OpenBSD/sparc64 fails with the following error:
```
cc -O2 -pipe -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -DCANONICALIZATION_FOR_MATHN -DOPENSSL...
jeremyevans0 (Jeremy Evans)
04:06 PM Revision a785e6c3 (git): Make `leaf` const in VM generator
Assigning to `leaf` in insns.def would give undesirable results. alanwu (Alan Wu)
03:26 PM Revision 26e4887e (git): * 2021-12-06 [ci skip]
git[bot]
03:26 PM Revision 26063d39 (git): YJIT: Initialize code buffer with PUSH DS
PUSH DS triggers the #UD processor exception in 64-bit mode, which the
OS translates to a SIGILL. Unlike INT3, this triggers the usual crash
reporter, which makes failures easier to notice. When there is a
debugger attached, the PUSH DS ...
alanwu (Alan Wu)
02:13 PM Revision bbfefd45 (git): [ruby/securerandom] Remove no longer used helper methods
Unused since r59801, 782b2050b837206d06767d42d0ea5117921247c8,
or https://github.com/ruby/securerandom/commit/52c8e7a85e017f.
https://github.com/ruby/securerandom/commit/38fc2c4427
nobu (Nobuyoshi Nakada)
11:34 AM Revision 00a941ac (git): Update stdlib versions [ci skip]
znz (Kazuhiro NISHIYAMA)
11:31 AM Revision 20dfc762 (git): Sort URLs by issue numbers [ci skip]
znz (Kazuhiro NISHIYAMA)
10:23 AM Revision 19f037e4 (git): More indentation in NEWS.md [ci skip]
The current Markdown implementation of RDoc requires list contents
to be indented 4 columns except for the first paragraph.
Maybe fixed as other implementations in the future.
nobu (Nobuyoshi Nakada)
10:07 AM Revision e8181937 (git): Fix wrong indentation in NEWS.md [ci skip]
Junichi Ito
10:04 AM Bug #18388 (Closed): IO.copy_stream incompatibility between Ruby 2 and Ruby 3
Applied in changeset commit:git|b555e659c4974acc423083b71b1bd5ec6a926046.
----------
Do not use `fcopyfile` if appending to non-empty file [Bug #18388]
`fcopyfile` appends `src` to `to` and then truncates `to` to it's
original size.
nobu (Nobuyoshi Nakada)
08:23 AM Bug #18388 (Closed): IO.copy_stream incompatibility between Ruby 2 and Ruby 3
Put `test.rb`, `src` and dst in the same directory:
`test.rb` file:
``` ruby
src = "src"
dst = "dst"
File.open(dst, "ab", 0644) do |dst|
File.open(src, 'rb', 0644) do |src|
puts "src size: #{src.size()}, dst size: #{dst.si...
yaojingguo (Jingguo Yao)
09:47 AM Revision b555e659 (git): Do not use `fcopyfile` if appending to non-empty file [Bug #18388]
`fcopyfile` appends `src` to `to` and then truncates `to` to it's
original size.
nobu (Nobuyoshi Nakada)
03:06 AM Misc #18362: mswin builds & vs2022
It was transferred to https://developercommunity.visualstudio.com/t/Prev-Issue---with-__assume-isnan-/1597317 nobu (Nobuyoshi Nakada)

12/04/2021

08:48 PM Feature #17881: Add a Module#const_added callback
Alternative solution can be implemented with two hooks for "opening" and "closing" class/module definition i.e. `Module::on_open`. One can get the existing list of constants, methods, class variables etc on the opening, and calculate dif... cvss (Kirill Vechera)
03:40 PM Feature #17881: Add a Module#const_added callback
To clarify my earlier concern, I'm against adding a hook triggered on every constant defined, because of the involved startup cost of doing so.
A hook just for `class Foo`/`module Foo` would be more reasonable from a startup perf POV, b...
Eregon (Benoit Daloze)
08:47 PM Revision a72aecac (git): [rubygems/rubygems] Don't write outside of destdir when regenerating plugins
https://github.com/rubygems/rubygems/commit/141ef4cb9a deivid (David Rodríguez)
08:47 PM Revision 9dc76e10 (git): [rubygems/rubygems] Don't write outside of destdir when installing default bundler
https://github.com/rubygems/rubygems/commit/a62d00c5e8 deivid (David Rodríguez)
08:47 PM Revision ec28771f (git): [rubygems/rubygems] Fold a line that got out of hand
https://github.com/rubygems/rubygems/commit/49317d8beb deivid (David Rodríguez)
08:47 PM Revision ed7a5001 (git): [rubygems/rubygems] Fix binstubs and plugins regeneration with `--destdir` is used
https://github.com/rubygems/rubygems/commit/7079de16fa deivid (David Rodríguez)
08:02 PM Bug #18385: Refinement#import_methods(Enumerable) doesn't work
Yeah, at least the message should be clearer.
I didn't realize that `import_methods` is a make-believe feature, not really integrated with the interpreter/object model.
Are there any plans to integrate it more tightly, with refine...
zverok (Victor Shepelev)
05:48 PM Bug #18385: Refinement#import_methods(Enumerable) doesn't work
It means you can't import methods defined in C, only methods defined with Ruby code.
Methods need to be defined in Ruby code to be affected by refinements (e.g. other refinements in that `refine` block or under `M`).
So for example this ...
Eregon (Benoit Daloze)
02:53 PM Bug #18385 (Closed): Refinement#import_methods(Enumerable) doesn't work
Very simple to reproduce:
```ruby
module M
refine String do
import_methods Enumerable
end
end
```
Leads to: `import_methods': Can't import method: Enumerable#drop (ArgumentError)`
Which, grepping through code, seems to b...
zverok (Victor Shepelev)
06:04 PM Revision 62957deb (git): README.md: Fix link to platform maintainers list
Follow up for 6bca410ae8b16238d02c868ce8fa1af13a5c4460
[ci skip]
alanwu (Alan Wu)
05:16 PM Bug #18386 (Third Party's Issue): bash-3.2$ pod install / GRDB on OSX 12.01. Monterey / M1 Max
Crash during installation of GRDB (https://github.com/groue/GRDB.swift#installation) on a MacBook Pro with M1 Max processor
last command was: pod install
Analyzing dependencies
/Library/Ruby/Gems/2.6.0/gems/ethon-0.15.0/lib/ethon/...
cschog (Chris Schog)
04:35 PM Revision 9733b7e3 (git): * 2021-12-05 [ci skip]
git[bot]
04:35 PM Revision 34b5e256 (git): YJIT: Enable out of memory tests
As of [1] and [2], YJIT has enough support for out of memory conditions
to pass these two basic tests.
OOM code paths are prone to bugs since they are rarely exercised in
common workloads. We might want to add CI runs that stress test t...
alanwu (Alan Wu)
04:29 PM Bug #17799: Seg fault in rb_class_clear_method_cache
I ran into this once again when I forgot to apply the patch in https://bugs.ruby-lang.org/issues/17799#note-3.
@tenderlovemaking Is it possible we're just missing a `RB_GC_GUARD`?
```diff
diff --git a/class.c b/class.c
index f17e7f053a...
stanhu (Stan Hu)
03:33 PM Misc #18335: openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"

Thanks, but I think this is partly a Ruby configuration issue.
The goal of "configure" is to find suitable configuration for the target operating system so that the build works on the target OS where configure is ran.
The Ruby co...
stes (David Stes)
12:48 PM Feature #17047: Support parameters for MAIL FROM and RCPT TO
How about this: https://github.com/ruby/net-smtp/pull/34
For example, to send `MAIL FROM:<sender@example.com> size=12345` and `RCPT TO:<rcpt@example.com> notify=success`:
```ruby
smtp.send_message("msg", Net::STMP::Address.new("sender@...
tommy (Masahiro Tomita)
10:55 AM Feature #15912: Allow some reentrancy during TracePoint events
I think the idea to explicitly `reopen`/allow recursive events is good.
For common usages of tracepoint I think it's a good idea to avoid any tracepoint event firing from a tracepoint handler,
but in such case such as the debugger exec...
Eregon (Benoit Daloze)
08:32 AM Feature #15912: Allow some reentrancy during TracePoint events
I took the liberty to re-add this to the next developer meeting because `ruby/debug` appear to have the same problem: https://github.com/ruby/debug/issues/408 byroot (Jean Boussier)
08:31 AM Misc #18346: DevelopersMeeting20211209Japan
* [Feature #15912] Allow some reentrancy during TracePoint event
* Alternative to `Module#const_added` for fixing the Zeitwerk and debuggers combinaison.
* @ko1 proposed `Tracepoint#reopen(&block)` so that debuggers can yield to th...
byroot (Jean Boussier)
07:29 AM Bug #18374 (Closed): make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
Applied in changeset commit:git|a4964174e26303524cee8c2d8523048b87137993.
----------
Fix circular dependencies specific to in-place build [Bug #18374]
* Move the rubyspec running recipe after the rule for rubyspec
C-API extension lib...
nobu (Nobuyoshi Nakada)
06:14 AM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
As for `ruby.pc`, this is due to `--with-ruby-pc=ruby.pc` specified for `configure` argument. Combined with [configure.ac#L4295-L4299](https://github.com/ruby/ruby/blob/1f4af993835219efa8feaf76a0b36252028691f1/configure.ac#L4295-L4299) a... xtkoba (Tee KOBAYASHI)
07:20 AM Revision 4a6ca129 (git): Remove unversioned phony target for pkgconfig file [Bug #18374]
It results in a circular dependency when `--with-ruby-pc=ruby.pc`
is given. [ci skip]
nobu (Nobuyoshi Nakada)
06:49 AM Feature #14835: Support TracePoint#raised_exception on non-:raise events
We cannot know how "return" events are triggered. It can be triggered by usual returns (return values), and also be triggered by raised exceptions (does not return values).
This also makes it impossible to know where the raised exceptio...
tagomoris (Satoshi Tagomori)
01:40 AM Revision a4964174 (git): Fix circular dependencies specific to in-place build [Bug #18374]
* Move the rubyspec running recipe after the rule for rubyspec
C-API extension library, so that separate dummy recipe is not
needed.
* Add a dummy recipe for rubyspec.h before the rubyspec running
recipe, so that the dependency of...
nobu (Nobuyoshi Nakada)
01:35 AM Revision d118e7c0 (git): Turn nd_type_p into an inline function
nobu (Nobuyoshi Nakada)
01:02 AM Revision f41b4d44 (git): YJIT: Bounds check every byte in the assembler
Previously, YJIT assumed that basic blocks never consume more than
1 KiB of memory. This assumption does not hold for long Ruby methods
such as the one in the following:
```ruby
eval(<<RUBY)
def set_local_a_lot
#{'_=0;'*0x40000}
end
R...
alanwu (Alan Wu)

12/03/2021

11:19 PM Feature #17881: Add a Module#const_added callback
I added the ticket back to the next developer meeting (Dec 9th) agenda. byroot (Jean Boussier)
11:13 PM Feature #17881: Add a Module#const_added callback
I thought `debug` didn't have this tracepoint issue, hence why I didn't bother to push this more. But if it does, then yes I do think we need to add non-tracepoint API for Zeitwerk.
What's too bad is that's it's a bit too late for 3.1...
byroot (Jean Boussier)
11:02 PM Feature #17881: Add a Module#const_added callback
I came across this issue when researching why `zeitwerk`-enabled applications can fail to autoload constants inside `ruby/debug` breakpoints (see issues below). It does seem that an alternative to the `:class` tracepoint like the one pr... brasic (Carl Brasic)
11:19 PM Misc #18346: DevelopersMeeting20211209Japan
- [Feature #17881] Add a Module#const_added callback
- Would allow the Zeitwerk autoloader to no longer use tracepoint.
- The main problem with Zeitwerk using tracepoint is that since tracepoint callbacks are not "reentrant" Zeitwe...
byroot (Jean Boussier)
08:58 PM Revision 3be06723 (git): NEWS for [GH-#5146] [ci skip] (#5210)
jhawthorn (John Hawthorn)
08:18 PM Revision c38c1d82 (git): [rubygems/rubygems] Let original EACCES error be raised
This block of code already wraps file operations with
`SharedHelpers.filesystem_access`, which rescues and re-raises more
friendly errors. Also, I'm not fully sure creating a temporary directory
can end up raising an `Errno::EACCES` erro...
deivid (David Rodríguez)
05:45 PM Revision 54ca530d (git): YJIT: Add ivar counter exits
On Rails we're seeing a lot of exits for ivars in the Active Record
tests. In trying to track them down it was hard to find what code is
exiting.
This change adds a counted exit for when an object is "megamorphic". In
these cases there ...
eileencodes (Eileen Uchitelle)
04:46 PM Revision 7fc9d83b (git): Fix link (#5208)
burdettelamar (Burdette Lamar)
03:45 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
vo.x (Vit Ondruch) wrote in #note-3:
> So looking into the source:defs/gmake.mk history (thx for the pointer), the commit:git|d1f0d1ca2ea4d7418b096ce71f68ce2bb3afd2c4 caught my eye. And indeed, reverting the [PR #4776](https://github.co...
vo.x (Vit Ondruch)
03:42 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
Carefully checking the logs, there is one more place with similar issue:
~~~
make: Circular ruby.pc <- ruby.pc dependency dropped.
~~~
vo.x (Vit Ondruch)
03:24 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
So looking into the source:defs/gmake.mk history (thx for the pointer), the commit:git|d1f0d1ca2ea4d7418b096ce71f68ce2bb3afd2c4 caught my eye. And indeed, reverting the [PR #4776](https://github.com/ruby/ruby/pull/4776) fixed the issue.
...
vo.x (Vit Ondruch)
01:30 PM Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
This is the build [1], but for your convenience and because it will be garbage collected soon, I'll attach the full build.log (containing the messages) as well as root.log (which contains the full version list of components used during t... vo.x (Vit Ondruch)
03:44 PM Bug #18375: Timeout.timeout(sec, klass: MyExceptionClass) can not retry correctly.
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I don't think this is a bug, and I don't think timeout can work with your proposed code. There's no way the block-level `rescue` can work the way you want, since what you want requires the...
zw963 (Wei Zheng)
03:40 PM Feature #18181: Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value
There's also a frequent similar problem with `#find` when you need to find the first matched value instead of entry. But since it involves two semantically different code parts, it a bit more complex and cannot be implemented nicely with... cvss (Kirill Vechera)
03:00 PM Feature #18181: Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value
What about `min_with` ?
```ruby
%w(abcde fg hijk).min_with(&:size) # => ['fg', 2]
# ^min ^size
```
Dan0042 (Daniel DeLorme)
05:04 AM Feature #18181: Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value
Just for confirmation, is it OK that `min_with_value` returns only a single value?
I don't like the name `_with_value`. It explains that the method returns an additional value with the minimum/maximum value, but no additional informatio...
matz (Yukihiro Matsumoto)
03:26 PM Revision 08153902 (git): Refactor GC functions to have consistent naming
Refactor function names for consistency. Function with name xyz_page
should have a corresponding function named xyz_plane.
peterzhu2118 (Peter Zhu)
03:04 PM Bug #18073: test/ruby/test_jit.rb: "error: invalid use of '__builtin_va_arg_pack ()'" on Ruby 2.7.4 on gcc 4.8.5
I run into a similar issue (in https://github.com/DataDog/dd-trace-rb/issues/1799); in my case, I was running the Semaphore CI Ruby image for 2.7.5 and when trying to run with JIT I get the same failures
```
semaphore@semaphore-vm:~$ ru...
ivoanjo (Ivo Anjo)
03:01 PM Revision 81eadd97 (git): * 2021-12-04 [ci skip]
git[bot]
03:01 PM Revision ec7f14d9 (git): Add `nd_type_p` macro
S_H_ (Shun Hiraoka)
02:44 PM Feature #18384: Pattern Match Object
> it leads to a proverbial rabbit hole
Probably, instead of a separate Patter Match class it would be enough to make a cosy shorthand creating a Proc that encloses a pattern matching code. That way, we avoid right now the need of the in...
cvss (Kirill Vechera)
09:23 AM Feature #18384: Pattern Match Object
There was an idea in the past, while various attempts to facilitate functional programming were considered, to deprecate a syntax like:
```ruby
%w[hello world].map(&:length)
```
With a new syntax of:
```ruby
%w[hello world].m...
hmdne (hmdne -)
08:35 AM Feature #18384: Pattern Match Object
I remember we briefly discussed the problem with @palkan and @matz in person at RubyConf'19, and, if the memory serves me, Matz said there was just no good syntax/semantics invented to put PM in a value.
If it could be achieved (and I...
zverok (Victor Shepelev)
07:06 AM Feature #18384: Pattern Match Object
See also this comment from Zverok: https://bugs.ruby-lang.org/issues/18369#note-11 baweaver (Brandon Weaver)
07:05 AM Feature #18384 (Open): Pattern Match Object
Related to discussion in #18369 it might be nice to have a literal syntax for constructing a single pattern match case outside of a one-liner.
Years ago in Qo I had done this via `===` to enable syntax like this:
```ruby
list_of_p...
baweaver (Brandon Weaver)
02:34 PM Feature #18275: Add an option to define_method to not capture the surrounding environment
~~Does `Ractor.make_shareable(proc{})` actually _do_ anything? It seem to only check if the proc is (can be?) shareable and raise an error otherwise, but it doesn't freeze any objects like `Ractor.make_shareable(obj)` usually does.~~
~~...
Dan0042 (Daniel DeLorme)
11:56 AM Feature #18275: Add an option to define_method to not capture the surrounding environment
+1 for `define_method(:show_a, shareable: true){p a}`.
That nicely avoids the issue of whether `Ractor.make_shareable(some_Proc)` should make the receiver shareable, which is in the unique case of `define_method` does not matter.
Eregon (Benoit Daloze)
03:42 AM Feature #18275 (Open): Add an option to define_method to not capture the surrounding environment
Eregon's comment #7 is true. This is why `Ractor.make_shareable(proc_object)` is supported.
So
```ruby
class C
a = 10
define_method(:show_a, &Ractor.make_shareable(pr))
end
Ractor.new{ C.new.show_a }.take
#=> 10
```
works complet...
ko1 (Koichi Sasada)
02:32 PM Feature #18279: ENV.merge! support multiple arguments as Hash.merge!
https://github.com/ruby/ruby/pull/5207 nobu (Nobuyoshi Nakada)
03:53 AM Feature #18279 (Assigned): ENV.merge! support multiple arguments as Hash.merge!
`Hash#merge!(*other)` accepts multiple values, so I think it is acceptable.
Matz, how about it?
ko1 (Koichi Sasada)
02:23 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
> Close enough?
Obviously :) But still a "hack". E.g. it is not a "value representing the pattern", this way we can talk ourselves into "we didn't need PM at all, we always could
```ruby
MY_PATTERN = -> { _1[:name] =~ /^B/ && _1[:age] ...
zverok (Victor Shepelev)
02:04 PM Feature #18369: users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" }
zverok (Victor Shepelev) wrote in #note-11:
> TBH, since pattern matching inception I hope for some way of putting patterns into values
Close enough?
```ruby
MY_PATTERN = proc{ _1 in {name: /^B/, age: 18..} }
people = [{:name=>"...
Dan0042 (Daniel DeLorme)
02:14 PM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
Can you provide the full log of the `build.log` showing the build error as an attachment of this ticket or somewhere?
jaruga (Jun Aruga)
01:35 AM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
What `make` command do you use? ko1 (Koichi Sasada)
02:09 PM Misc #18354: Lazily create singletons on instance_{exec,eval}
Bravo! This is really great work! Dan0042 (Daniel DeLorme)
12:52 AM Misc #18354 (Closed): Lazily create singletons on instance_{exec,eval}
Closed in 733500e9d02b11ff60fbbdb8daa43c2e9cfbd750 jhawthorn (John Hawthorn)
01:49 PM Feature #18033: Time.new to parse a string
Eregon (Benoit Daloze) wrote in #note-17:
> Hence, why not make `Time.iso8601` fast and a core method?
> ...
First, the primary target is the result of `Time#inspect`, and it is not fully compliant with ISO-8601.
Second, ISO-8601 allo...
nobu (Nobuyoshi Nakada)
01:21 PM Feature #18033: Time.new to parse a string
sawa (Tsuyoshi Sawada) wrote in #note-16:
> nobu (Nobuyoshi Nakada) wrote in #note-15:
> ...
The timezone name will be converted by `find_timezone` method on the class of a `Time` instance, so that subclasses can override it.
nobu (Nobuyoshi Nakada)
11:33 AM Feature #18033: Time.new to parse a string
Yes, `Kernel#Time(str)` seems better than `Time.new(str)`.
However I think being precise for parsing is key for times.
Hence, why not make `Time.iso8601` fast and a core method?
Then code already using the right method would just be...
Eregon (Benoit Daloze)
10:23 AM Feature #18033: Time.new to parse a string
nobu (Nobuyoshi Nakada) wrote in #note-15:
> I remember #18331 won't work with subclasses of `Time`.
Can you elaborate on that? Is your concern about certain frameworks using time-like classes other than `Time`? I don't see any probl...
sawa (Tsuyoshi Sawada)
06:54 AM Feature #18033: Time.new to parse a string
I remember #18331 won't work with subclasses of `Time`.
Does `Time.at("2021-12-04 02:00:00")` make sense?
nobu (Nobuyoshi Nakada)
04:07 AM Feature #18033: Time.new to parse a string
Eregon (Benoit Daloze) wrote in #note-10:
> Also it's technically incompatible (the first argument is always the year for `Time.new` and it even accepts strings):
> ...
I overlooked it.
May #18331 be better?
nobu (Nobuyoshi Nakada)
01:12 PM Revision 28fb6d6b (git): Adding links to literals and Kernel (#5192)
* Adding links to literals and Kernel burdettelamar (Burdette Lamar)
12:10 PM Misc #18335 (Third Party's Issue): openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1"
OpenIndiana's gcc + gnu binutils + dtrace only work with `-g1` seems to be OpenIndiana specific problem and this should essentially be resolved in OpenIndiana.
As far as I can see, such problem is not reported in other platforms.
Acc...
ngoto (Naohisa Goto)
11:52 AM Feature #17721: Proc.new should be able to contruct a lambda
There is `Kernel.send(lambda ? :lambda : :proc) { ... }` if you really really need this.
But it's probably slow and Ruby implementations have troubles to optimize this as they have no idea when parsing if the block is for a proc or lamb...
Eregon (Benoit Daloze)
02:13 AM Feature #17721 (Feedback): Proc.new should be able to contruct a lambda
A correct status of a ticket whose description doesn't have a use cases or user stories to discuss the validness of the request and the actual API design is "Feedback".e naruse (Yui NARUSE)
11:27 AM Revision 324d57df (git): TestClass#test_subclass_gc reduce the number of iteration by 10x
The test was taking 10 seconds on my machine and did timeout
on CI once.
byroot (Jean Boussier)
11:00 AM Revision 0073f624 (git): [rubygems/rubygems] Don't unnecessarily loop twice through dependencies
https://github.com/rubygems/rubygems/commit/06b4a7994d deivid (David Rodríguez)
11:00 AM Revision 4c5e8624 (git): [rubygems/rubygems] Improve source gemfile/lockfile equivalence checks
Since we no longer have multiple global sources, each top level dependency is
always pinned to a single source, so it makes little sense to talk about
adding or removing a source. Instead, source changes always mean to
change the source ...
deivid (David Rodríguez)
11:00 AM Revision 248fae0e (git): [rubygems/rubygems] Improve sources representation
We have two representations of a source. Once used for sorting, which
should not depend on the source's state, but solely on its static
information, like remotes. Another one used for error and informational
messages, which should proper...
deivid (David Rodríguez)
11:00 AM Revision 7d974cc5 (git): [rubygems/rubygems] Don't overwrite locked dependency sources too early
Otherwise we hide some useful message about dependency source changes.
https://github.com/rubygems/rubygems/commit/c926673c5b
deivid (David Rodríguez)
11:00 AM Revision aa87780f (git): [rubygems/rubygems] Fix incorrect order in changed sources message
https://github.com/rubygems/rubygems/commit/6f1b5f68de deivid (David Rodríguez)
11:00 AM Revision ca65f7bb (git): [rubygems/rubygems] Remove unnecessary code
Somehow this is trying to relax frozen mode constraints for path
sources. It doesn't make sense to me and it's not covered by any spec so
I'm killing it.
https://github.com/rubygems/rubygems/commit/17c978e161
deivid (David Rodríguez)
11:00 AM Revision d19c266b (git): [rubygems/rubygems] Reuse `locked_dependencies` helper
It makes the code more consistent with the above line.
https://github.com/rubygems/rubygems/commit/f28d05a548
deivid (David Rodríguez)
11:00 AM Revision 901a2575 (git): [rubygems/rubygems] Reformat for consistency with the above line
https://github.com/rubygems/rubygems/commit/11193be3f1 deivid (David Rodríguez)
11:00 AM Revision 906b9578 (git): [rubygems/rubygems] Remove unnecessary nil checks
https://github.com/rubygems/rubygems/commit/d047b8935d deivid (David Rodríguez)
10:20 AM Feature #16456 (Closed): Ruby 2.7 argument delegation (...) should be its own kind of parameter in Method#parameters
On current master:
```ruby
irb(main):001:0> def foo(...); end
irb(main):002:0> p method(:foo).parameters
[[:rest, :*], [:keyrest, :**], [:block, :&]]
```
Which seems exactly the same semantics to what you'd get if you manually desugared...
Eregon (Benoit Daloze)
09:35 AM Revision e4c7c546 (git): Add tests of string argument to Time.at
nobu (Nobuyoshi Nakada)
09:18 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
mame (Yusuke Endoh) wrote in #note-8:
> Thank you. I guess it is a bug of sassc-ruby.
> ...
I fix it!!
Thanks a lot!
yuuyake9191 (Heppoko Neet)
09:10 AM Bug #18383 (Third Party's Issue): When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Thank you. I guess it is a bug of sassc-ruby.
https://github.com/sass/sassc-ruby/issues/197
https://github.com/sass/sassc-ruby/issues/207
mame (Yusuke Endoh)
09:06 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
mame (Yusuke Endoh) wrote in #note-5:
> Sorry for the lack of clarity. I'd like to see the sections before the numbers start. This is an example of the full trace: https://bugs.ruby-lang.org/issues/18178
I hoped pasting as text, but ...
yuuyake9191 (Heppoko Neet)
08:31 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Sorry for the lack of clarity. I'd like to see the sections before the numbers start. This is an example of the full trace: https://bugs.ruby-lang.org/issues/18178 mame (Yusuke Endoh)
08:19 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
mame (Yusuke Endoh) wrote in #note-3:
> Thanks. Unfortunately, the part I want to see is before
> ...
I tryied to get before 3443 somehow.
Is it enough fot you ?
if it is not, please let me know.
```
3154 /Users/daimetatsuru/.rben...
yuuyake9191 (Heppoko Neet)
07:34 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Thanks. Unfortunately, the part I want to see is before
```
3443 /Users/daimetatsuru/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionview-7.0.0.alpha2/lib/action_view/path_set.rb
...
```
Maybe the part is gone since it exc...
mame (Yusuke Endoh)
07:00 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
mame (Yusuke Endoh) wrote in #note-1:
> Could you please paste all logs without omission? I guess the full terminal log is the most important.
Thank you for replying.
full error log is here.
it's pretty much long, sorry for that.
...
yuuyake9191 (Heppoko Neet)
05:33 AM Bug #18383: When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Could you please paste all logs without omission? I guess the full terminal log is the most important. mame (Yusuke Endoh)
04:29 AM Bug #18383 (Third Party's Issue): When I access to localhost:3000, got "Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports"
Terminal log is like this:
``` ruby
103bfa000-103bfb000 r-x /Users/daimetatsuru/.rbenv/versions/3.0.0/bin/ruby
103bfb000-103c08000 r-- /Users/daimetatsuru/.rbenv/versions/3.0.0/bin/ruby
103c08000-10403f000 r-- /Users/daimetatsuru/....
yuuyake9191 (Heppoko Neet)
09:04 AM Feature #18339: GVL instrumentation API
> could you try?
Sure. Would likely be a next year thing anyway.
However Is a new dedicated hook API ok? Since apparently making the tracepoint API usable outside the GVL would be very hard.
byroot (Jean Boussier)
04:09 AM Feature #18339: GVL instrumentation API
ah, it not easy to implement...
could you try?
ko1 (Koichi Sasada)
07:00 AM Revision dd6c59cd (git): Update bundled_gems at 2021-12-03
git[bot]
04:17 AM Revision 433a5a0e (git): [DOC] Fix Time.new description [ci skip]
nobu (Nobuyoshi Nakada)
04:04 AM Feature #18276 (Rejected): `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
Ok, I close this ticket. ko1 (Koichi Sasada)
03:56 AM Feature #18376: Version comparison API
I think it is useful for not just gem authors but also application developers.
In my known case of providing an SDK and API as service, version string compare is often used in parsing SDK version string on request from SDK to API server...
unasuke (Yusuke Nakamura)
03:41 AM Feature #14794 (Feedback): Primitive arrays (Ruby 3x3)
As far as I understand, this ticket proposes an optimization of the Array representation, for example, by using raw memory of `long*` when all the elements are Fixnums, or by using `double*` when all are Floats. The idea is interesting, ... mame (Yusuke Endoh)
02:41 AM Feature #14794: Primitive arrays (Ruby 3x3)
@ahorek I guess what you want is like `pandas.Series`. Is my speculation is correct? mrkn (Kenta Murata)
03:28 AM Feature #15504: Freeze all Range objects
Eregon (Benoit Daloze) wrote in #note-19:
> This issue title is a bit confusing, also https://bugs.ruby-lang.org/issues/15504#note-9.
> ...
I see. Not sure but maybe it is only implementation issue.
ko1 (Koichi Sasada)
03:13 AM Feature #14394: Class.descendants
Note:
The internal implementation of subclass iteration seems fragile (difficult to maintain) because it needs to manage with weakref. In fact, our CI shows SEGV in a few times in years (difficult to debug because of its rareness. But...
ko1 (Koichi Sasada)
03:08 AM Feature #18253: `ID` in `rb_id_table_foreach_with_replace`
Which patch, passing the ID, or removing ID argument? nobu (Nobuyoshi Nakada)
02:46 AM Bug #18244 (Closed): Unexpected errors output order
nobu (Nobuyoshi Nakada)
02:23 AM Bug #16908: Strange behaviour of Hash#shift when used with `default_proc`.
ioquatix (Samuel Williams) wrote in #note-8:
> Should we introduce some kind of deprecation or warning in 3.1?
Not allowed.
Ruby 3.1 shouldn't introduce anything which requests application developers to change something in their app...
naruse (Yui NARUSE)
01:46 AM Bug #8826 (Third Party's Issue): BigDecimal#div and #quo different behavior and inconsistencies
The behavior of `BigDecimal#div` to return an Integer isn't a bug but the specification of `Numeric#div`. `Float#div` also always returns an Integer.
It is a bug that `BigDecimal#div` doesn't accept a Float without precision. I'll f...
mrkn (Kenta Murata)
01:36 AM Bug #17813: rb_funcall() may reset the latest socket error unexpectedlly since Ruby 3.0.0
Ruby cannot guarantee that the state of WSA does not change between two method calls, because select is called internally when thread switch occurs.
So, the solution of fiddle (adding `Fiddle.win32_last_socket_error`) is unavoidable in ...
usa (Usaku NAKAMURA)
 

Also available in: Atom