Project

General

Profile

Activity

From 10/24/2020 to 10/30/2020

10/30/2020

11:47 PM Revision 670e288d (git): Add warning for str_new_static functions
Many functions in string.c assume that capa + termlen to be readable
memory. Add comment in header to communicate thi...
alanwu (Alan Wu)
11:34 PM Revision 520b86ca (git): Move variable closer to usage
alanwu (Alan Wu)
10:26 PM Bug #16809: Fiber crashes with --with-coroutine=copy
I tried pull request #3624 on OpenBSD/sparc64 and it still crashed.
I was able to come up with a fix that works on...
jeremyevans0 (Jeremy Evans)
07:22 PM Revision bd6cd851 (git): Tweak return of `Ractor#close`, add doc
Marc-Andre Lafortune
06:30 PM Feature #17298 (Open): Ractor's basket communication APIs
This ticket proposes `send_basket`/`receive_basket`, `yield_basket`/`take_basket` APIs to make effective and flexible... ko1 (Koichi Sasada)
04:48 PM Revision 7c548278 (git): * 2020-10-31 [ci skip]
git[bot]
04:48 PM Revision fd089276 (git): Ractor's "will" doesn't need copying.
`r = Ractor.new{ expr }` generates the block return value from `expr`
and we can get this value by `r.take`. Ractor.y...
ko1 (Koichi Sasada)
03:32 PM Bug #17293 (Rejected): URI.parse fails to parse correctly URN or other special characters in path/url
greg.howdeshell (Greg Howdeshell) wrote:
> URI.parse looks to fail parsing endpoints that have special characters. F...
jeremyevans0 (Jeremy Evans)
02:58 PM Bug #17293 (Rejected): URI.parse fails to parse correctly URN or other special characters in path/url
URI.parse looks to fail parsing endpoints that have special characters. For example:
``` ruby
url = 'http://fooba...
greg.howdeshell (Greg Howdeshell)
03:09 PM Feature #17297 (Closed): Feature: Introduce Pathname.mktmpdir

When I want to create a tmpdir I often want to manipulate it as a pathname. By introducing Pathname.mktmpdir I can ...
schneems (Richard Schneeman)
03:08 PM Feature #17296 (Feedback): Feature: Pathname#chmod use FileUtils.chmod instead of File

The `FileUtils.chmod` provides the same numerical interface as `File.chmod` and it also includes a "symbolic mode...
schneems (Richard Schneeman)
03:06 PM Feature #17295 (Rejected): Feature: Create a directory and file with Pathname#touch

Right now if a developer wants to create a file and is not sure if the path exists yet or not they must:
```ru...
schneems (Richard Schneeman)
03:04 PM Feature #17294 (Closed): Feature: Allow method chaining with Pathname#mkpath Pathname#rmtree

Currently in my code when I want to create a pathname object and create a path at the same time I must use tap
`...
schneems (Richard Schneeman)
12:45 PM Revision 66bf743b (git): Promote debug.rb to default gems.
It have no upstream repo yet. This change is experimental for 3.0.0-preview2. hsbt (Hiroshi SHIBATA)
10:07 AM Feature #17277: Make Enumerator#with_index yield row and col indices for Matrix
sawa (Tsuyoshi Sawada) wrote in #note-7:
> I think the current behaviour is natural. You cannot play around with `wi...
greggzst (Grzegorz Jakubiak)
08:11 AM Bug #17158 (Feedback): Ractor Segfault when using shell and puts
ko1 (Koichi Sasada)
08:11 AM Bug #17158: Ractor Segfault when using shell and puts
sorry to be late, but I can't reproduce this issue.
`while PUTS_RACTORS=1 WORK=shell make run; do date; done` does...
ko1 (Koichi Sasada)
07:52 AM Revision 89c8ca32 (git): add a test of define_method with shareable Proc.
a method defined by define_method with normal Proc can not cross
ractors because the normal Proc is not shareable. Ho...
ko1 (Koichi Sasada)
07:52 AM Revision 08ddc335 (git): sync vm->waiting_fds correctly.
vm->waiting_fds is global resource so we need to lock it correctly.
(forgot to sync one place)
ko1 (Koichi Sasada)
06:18 AM Revision a1828a1f (git): Promote win32ole to default gems.
But win32ole gem is still experimental for 3.0.0-preview2.
I'm working to extract this library on https://github.co...
hsbt (Hiroshi SHIBATA)
03:30 AM Revision 17c6b6b1 (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
03:26 AM Revision 799253dc (git): strip trailing spaces [ci skip]
nobu (Nobuyoshi Nakada)
12:21 AM Feature #17291: Optimize __send__ call
I'm neutral (at least no against it). `__send__` in general has other usages than to reroute method visibilities. Op... shyouhei (Shyouhei Urabe)
12:17 AM Feature #17288: Optimize __send__ call with a literal method name
JFYI I learned the use of "immediate" refinement from rails.
https://github.com/rails/rails/pull/27363
shyouhei (Shyouhei Urabe)
12:17 AM Feature #17261: Software transactional memory (STM) for Threads and Ractors
chrisseaton (Chris Seaton) wrote in #note-14:
> I think there's benefits to building STM into the language (if we de...
ko1 (Koichi Sasada)

10/29/2020

08:54 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
I think there's benefits to building STM into the language (if we decided we want STM at all) rather than it being a ... chrisseaton (Chris Seaton)
07:40 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
Eregon (Benoit Daloze) wrote in #note-12:
> I was talking about the namespace
Ah, I see.
ko1 (Koichi Sasada)
07:22 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
ko1 (Koichi Sasada) wrote in #note-11:
> You wrote "under Thread and not under Ractor". What does it mean?
I was ...
Eregon (Benoit Daloze)
06:19 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
Eregon (Benoit Daloze) wrote in #note-10:
> That does not work with Ractor though (at least currently).
You wrote...
ko1 (Koichi Sasada)
05:21 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
ko1 (Koichi Sasada) wrote in #note-8:
> For this purpose, concurrent-ruby provides TVar for threads.
That does no...
Eregon (Benoit Daloze)
04:03 PM Feature #17261 (Rejected): Software transactional memory (STM) for Threads and Ractors
ko1 (Koichi Sasada)
04:03 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
> I think it would be nice to make it its own gem (tvar maybe?) given it's under Thread and not under Ractor, and it ... ko1 (Koichi Sasada)
08:12 PM Feature #17288: Optimize __send__ call with a literal method name
How about a private module instead?
```ruby
class Foo
module Helpers
def self.special # General users should no...
Eregon (Benoit Daloze)
04:06 AM Feature #17288: Optimize __send__ call with a literal method name
shyouhei (Shyouhei Urabe) wrote in #note-9:
> @marcandre Here you are:
>
> [snip brilliant code]
0) I was wrong...
marcandre (Marc-Andre Lafortune)
12:11 AM Feature #17288: Optimize __send__ call with a literal method name
@marcandre Here you are:
```ruby
class Foo
using Module.new {
refine Foo.singleton_class do
def sp...
shyouhei (Shyouhei Urabe)
07:53 PM Feature #17273: shareable_constant_value pragma
Eregon (Benoit Daloze) wrote in #note-16:
> Eregon (Benoit Daloze) wrote in #note-14:
> > Of course, no gems should...
jeremyevans0 (Jeremy Evans)
07:47 PM Feature #17273: shareable_constant_value pragma
Eregon (Benoit Daloze) wrote in #note-16:
> I guess it's relatively rare that a gem would (intentionally) expose a n...
ko1 (Koichi Sasada)
07:33 PM Feature #17273: shareable_constant_value pragma
Eregon (Benoit Daloze) wrote in #note-14:
> Of course, no gems should directly mutate constants of another gem.
I mi...
Eregon (Benoit Daloze)
07:29 PM Feature #17273: shareable_constant_value pragma
ko1 (Koichi Sasada) wrote in #note-13:
> if lits contains Ruby expression, SyntaxError
Could you give an example?
Sy...
Eregon (Benoit Daloze)
07:26 PM Feature #17273: shareable_constant_value pragma
ko1 (Koichi Sasada) wrote in #note-12:
> * It is possible to break other library easily:
That sounds very bad cod...
Eregon (Benoit Daloze)
04:14 PM Feature #17273: shareable_constant_value pragma
By discussing with Matz and several MRI committers, we decided to introduce conservative option and radical option as... ko1 (Koichi Sasada)
07:49 PM Feature #17284: Shareable Proc
`Ractor.make_shareable` does traverse reachable and not-already-shareable objects for other objects than Procs, it se... Eregon (Benoit Daloze)
06:12 PM Feature #17284 (Closed): Shareable Proc
Applied in changeset commit:git|5d97bdc2dcb835c877010daa033cc2b1dfeb86d6.
----------
Ractor.make_shareable(a_proc)
...
ko1 (Koichi Sasada)
03:47 PM Feature #17284: Shareable Proc
By discussion with Matz and several MRI committers, we decided that making shareable Proc should be more conservative... ko1 (Koichi Sasada)
07:42 PM Misc #16778: Should we stop vendoring default gems code?
@hsbt there was no response to https://bugs.ruby-lang.org/issues/16778#note-22
How about reopening this issue?
@d...
Eregon (Benoit Daloze)
10:51 AM Misc #16778: Should we stop vendoring default gems code?
>Now after the recent positive comments you changed the status to "rejected". Could you clarify?
It's my mistake.
...
hsbt (Hiroshi SHIBATA)
06:12 PM Revision 5d97bdc2 (git): Ractor.make_shareable(a_proc)
Ractor.make_shareable() supports Proc object if
(1) a Proc only read outer local variables (no assignments)
(2) read ...
ko1 (Koichi Sasada)
04:28 PM Feature #16670 (Closed): Reverse order of `expression` in `pattern` for 1-line pattern matching while it's still experimental
jeremyevans0 (Jeremy Evans)
04:23 PM Feature #16670: Reverse order of `expression` in `pattern` for 1-line pattern matching while it's still experimental
There were notes in the recent dev meeting that affect this issue: https://github.com/ruby/dev-meeting-log/blob/maste... ttilberg (Tim Tilberg)
04:06 PM Feature #17159: extend `define_method` for Ractor
marcandre (Marc-Andre Lafortune) wrote in #note-8:
> How about:
>
> ```ruby
> define_method(:name, make_shareabl...
ko1 (Koichi Sasada)
04:05 PM Feature #17256 (Closed): Freeze all Regexp objects
commit:7ad56fd87b35abf4933e0146761df91e9ec9890a ko1 (Koichi Sasada)
04:05 PM Feature #17269 (Closed): Frozen Process::Status
commit:1c6ebe14fbdb2bc23878133cbf7a99ea856e3d89 ko1 (Koichi Sasada)
03:09 PM Bug #17254 (Closed): ENV.replace may set nil instead of the proper value
Applied in changeset commit:git|c0aeb98aa903334f06758d39c772cb22440d8a4e.
----------
Make ENV.replace handle multipl...
jeremyevans (Jeremy Evans)
03:09 PM Revision 502d6d84 (git): * 2020-10-30 [ci skip]
git[bot]
03:08 PM Revision c0aeb98a (git): Make ENV.replace handle multiple environ entries with the same key
While it is expected that all environment keys are unique, that is
not enforced. It is possible by manipulating envir...
jeremyevans (Jeremy Evans)
02:42 PM Revision 07c03bc3 (git): check isolated Proc more strictly
Isolated Proc prohibit to access outer local variables, but it was
violated by binding and so on, so they should be e...
ko1 (Koichi Sasada)
09:48 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
It would replace "C:/MSYS64/..." as "/C/MSYS64/...".
Where did a slash go?
nobu (Nobuyoshi Nakada)
06:34 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
This is still and issue with Ruby 2.7.2.
The offending line of code is now at line 1908 in mkmf.rb.
cfis (Charlie Savage)
09:14 AM Revision bf951c76 (git): An ellipsis (...) can only be placed at the beginning
nobu (Nobuyoshi Nakada)
06:26 AM Feature #17292: Hash Shorthand / Punning
I would agree this is a duplicate, but in the last year we have had the introduction of the pattern matching syntax w... baweaver (Brandon Weaver)
05:07 AM Feature #17292 (Closed): Hash Shorthand / Punning
### Set Literal vs Javascript Object Punning
There was a proposal for a Set literal here: https://bugs.ruby-lang.o...
baweaver (Brandon Weaver)
05:50 AM Bug #17142: Ruby fails to build in AIX
Are you using GCC to build ruby? What was the error you hit? ReiOdaira (Rei Odaira)
05:22 AM Feature #17168 (Closed): Bundle RBS
Applied at commit:ba889100d850e973e519cebc48d5b4f1e8ab0034 hsbt (Hiroshi SHIBATA)
04:51 AM Feature #17290: Syntax sugar for boolean keyword argument
I would concur with Marc-Andre on this one, I believe punning would be a more valuable feature, especially for keywor... baweaver (Brandon Weaver)
04:29 AM Feature #17290: Syntax sugar for boolean keyword argument
I'm personally hoping that `strip: ` could be syntax sugar for `strip: strip`... marcandre (Marc-Andre Lafortune)
02:54 AM Feature #17290 (Closed): Syntax sugar for boolean keyword argument
We frequently use keyword arguments just to pass `true` value out of the truthy/falsy options given. And in many such... sawa (Tsuyoshi Sawada)
03:05 AM Feature #17291 (Assigned): Optimize __send__ call
I made a patch to optimize a `__send__` call. This optimization replaces a `__send__` method call with a call of the ... mrkn (Kenta Murata)
02:34 AM Bug #17289: Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
Let me tell you that I currently have no idea what is going on. If `rb_funcall` is broken the situation must be more... shyouhei (Shyouhei Urabe)
01:35 AM Revision 9f3adaf5 (git): Use public allocators for creating new T_OBJECT objects
This way the header flags and object internals are set correctly tenderlovemaking (Aaron Patterson)

10/28/2020

11:11 PM Revision d8b0f1f7 (git): Objects are born embedded, so we don't need to check ivpr
It's not necessary to check ivpt because objects are allocated as
"embedded" by default
tenderlovemaking (Aaron Patterson)
10:48 PM Bug #17142: Ruby fails to build in AIX
I've added a pull request to fix this, though I don't have the ability to test on AIX: https://github.com/ruby/ruby/p... jeremyevans0 (Jeremy Evans)
10:43 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
Sorry. “a huge amount of String garbage” is my misunderstanding.
But I don’t know under what situation this option...
scivola20 (sciv ola)
10:42 PM Bug #17255 (Closed): Installation failed for ruby version 2.7.1: unknown encoding name: binary (ArgumentError)
jeremyevans0 (Jeremy Evans)
10:29 PM Revision 58fd54f9 (git): Fix error in update-deps due to tab/space difference
jeremyevans (Jeremy Evans)
10:27 PM Bug #13768 (Closed): SIGCHLD and Thread dead-lock problem
Applied in changeset commit:git|dfb3605bbee9c3cfbc1c354594c367472f29cb35.
----------
Add Thread.ignore_deadlock acce...
jeremyevans (Jeremy Evans)
10:27 PM Revision dfb3605b (git): Add Thread.ignore_deadlock accessor
Setting this to true disables the deadlock detector. It should
only be used in cases where the deadlock could be bro...
jeremyevans (Jeremy Evans)
08:59 PM Feature #17288: Optimize __send__ call with a literal method name
Just a few things:
We need to also remember **.instance_variable_get()** and **.instance_variable_set()**.
Ruby doe...
shevegen (Robert A. Heiler)
08:48 PM Feature #17288: Optimize __send__ call with a literal method name
shyouhei (Shyouhei Urabe) wrote in #note-4:
> Private methods shall not be called at the first place. Period. That i...
marcandre (Marc-Andre Lafortune)
12:32 PM Feature #17288: Optimize __send__ call with a literal method name
Eregon (Benoit Daloze) wrote in #note-5:
> Here are the first 1000 .send() usages in gems:
> https://gist.github.co...
shyouhei (Shyouhei Urabe)
10:09 AM Feature #17288: Optimize __send__ call with a literal method name
Here are the first 1000 .send() usages in gems:
https://gist.github.com/eregon/21c8f14c478089c1a9295c21661583a9
420...
Eregon (Benoit Daloze)
09:58 AM Feature #17288: Optimize __send__ call with a literal method name
zverok (Victor Shepelev) wrote in #note-3:
> @shyouhei what about private methods?
Private methods shall not be c...
shyouhei (Shyouhei Urabe)
08:34 AM Feature #17288: Optimize __send__ call with a literal method name
@shyouhei what about private methods? zverok (Victor Shepelev)
08:25 AM Feature #17288: Optimize __send__ call with a literal method name
Hello, I'm against this optimisation. `obj.__send__(:method)` should just be written as `obj.method`.
Not against...
shyouhei (Shyouhei Urabe)
05:52 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
I think it would be nice to make it its own gem (`tvar` maybe?) given it's under `Thread` and not under `Ractor`, and... Eregon (Benoit Daloze)
05:29 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
I wrote a long-form blog post to give people interested in this proposed feature some context.
https://chrisseaton...
chrisseaton (Chris Seaton)
05:16 PM Revision a99f52d5 (git): Remove another unnecessary test
Same as 5be42c1ef4f7ed0a8004cad750a9ce61869bd768 tenderlovemaking (Aaron Patterson)
04:57 PM Revision 5be42c1e (git): Remove unnecessary conditional
As of 0b81a484f3453082d28a48968a063fd907daa5b5, `ROBJECT_IVPTR` will
always return a value, so we don't need to test ...
tenderlovemaking (Aaron Patterson)
04:45 PM Revision 2c19c148 (git): If an object isn't embedded it will have an ivptr
We don't need to check the existence if an ivptr because non-embedded
objects will always have one
tenderlovemaking (Aaron Patterson)
03:42 PM Revision 9190451f (git): * 2020-10-29 [ci skip]
git[bot]
03:41 PM Revision 0bbbb5a6 (git): `dest` is always embedded so we can remove this check
tenderlovemaking (Aaron Patterson)
01:12 PM Revision 93e6364a (git): merge revision(s): 07786ed
* test/net/http/test_https.rb: Stop the error due to openssl 1.1.1h
On some environments that uses OpenSSL 1...
U.Nakamura
12:19 PM Feature #17266: Bundle TypeProf
mame (Yusuke Endoh) wrote in #note-5:
> Okay, I'll add it.
Thanks.
> Sorry. In (far) future, I'd like to impro...
Eregon (Benoit Daloze)
12:40 AM Feature #17266: Bundle TypeProf
> maybe still ship it but raise a nice error if used on RUBY_ENGINE != "ruby"?
Okay, I'll add it.
> I think the...
mame (Yusuke Endoh)
11:47 AM Bug #17212 (Feedback): FreeBSDで3.0.0-preview1のビルドが失敗する
hsbt (Hiroshi SHIBATA)
05:16 AM Bug #17289: Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
Looking at it. Though I cannot reproduce this either.
mame (Yusuke Endoh) wrote in #note-2:
> This falls back to...
shyouhei (Shyouhei Urabe)
01:22 AM Revision fb3c711d (git): compile.c: separate compile_builtin_function_call (#3711)
Kenta Murata
12:47 AM Revision 8f9c113f (git): Added benchmark of vm_send by variable [ci skip]
nobu (Nobuyoshi Nakada)

10/27/2020

10:21 PM Misc #16778: Should we stop vendoring default gems code?
> We can extract like matrix, prime and tracer as bundled gems from the default gems.
That is not what I am looking ...
headius (Charles Nutter)
05:17 PM Misc #16778: Should we stop vendoring default gems code?
There are many default gems (listed on https://stdgems.org/), so making them bundled gems is a not a good solution, i... Eregon (Benoit Daloze)
01:32 PM Misc #16778: Should we stop vendoring default gems code?
@hsbt In your previous message you said: "We still wait for the PoC of this issue.", and set status to "feedback". No... deivid (David Rodríguez)
12:58 PM Misc #16778 (Rejected): Should we stop vendoring default gems code?
@headius
We can extract like matrix, prime and tracer as bundled gems from the default gems.
But that is the di...
hsbt (Hiroshi SHIBATA)
09:55 PM Feature #9459: Net::HTTP initializes openssl library after TCP connection is established
This appears to still be an issue, though I think this is a feature request and not a bug. I've submitted the patch a... jeremyevans0 (Jeremy Evans)
09:32 PM Bug #9595 (Rejected): Float#to_d inconsistent between 2.0.0 and 2.1.1
BigDecimal behavior has remained the same since 2.1, and 2.0's excessive precision was actually a bug, fixed in commi... jeremyevans0 (Jeremy Evans)
06:35 PM Feature #17288: Optimize __send__ call with a literal method name
I think `obj.send(:foo)` should be optimized too, to not create a an arbitrary performance difference between `send` ... Eregon (Benoit Daloze)
08:32 AM Feature #17288 (Assigned): Optimize __send__ call with a literal method name
I made a patch to optimize a `__send__` call with a literal method name. This optimization replaces a `__send__` met... mrkn (Kenta Murata)
06:08 PM Feature #17266: Bundle TypeProf
Since TypeProf [depends on CRuby bytecodes](https://github.com/ruby/typeprof/blob/master/lib/typeprof/iseq.rb), proba... Eregon (Benoit Daloze)
02:10 PM Feature #17266: Bundle TypeProf
Yes, thanks! mame (Yusuke Endoh)
11:25 AM Feature #17266 (Closed): Bundle TypeProf
Applied at commit:c05e41035c01ab38bdb279601a08e17921bcdc8e hsbt (Hiroshi SHIBATA)
03:29 PM Revision 915024e3 (git): * 2020-10-28 [ci skip]
git[bot]
03:27 PM Revision c1bebbb2 (git): test/ruby/test_rational.rb: Prevent "assigned but unused variable"
mame (Yusuke Endoh)
03:22 PM Bug #17289 (Assigned): Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
@shyouhei I suspect if this is due to 2.7's new method cache. Could you check it out?
```
/opt/ruby/lib/libruby.so.2...
mame (Yusuke Endoh)
12:35 PM Bug #17289: Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
Additional Information:
* I used to use v2.6.2 and Segmentation fault does not occur at that time.
* This stacktr...
joker1007 (Tomohiro Hashidate)
12:29 PM Bug #17289 (Feedback): Time#strftime occurs Segmentation Fault on ruby-2.7.2p137
Segmentation Fault occurred when I run Time#strftime via Time#iso8601 on ruby-2.7.2.
It occurs repeatedly about once...
joker1007 (Tomohiro Hashidate)
02:26 PM Revision 8e060754 (git): Revert "Fixed typo"
This reverts commit 379a5ca539af0e954b1cdf63b9365ad208b9c7f3.
This "typo" is intentional to test the transposition de...
nobu (Nobuyoshi Nakada)
02:25 PM Revision dcc231c8 (git): merge revision(s): 07786ed
test/net/http/test_https.rb: Stop the error due to openssl 1.1.1h
On some environments that uses OpenSSL 1.1...
U.Nakamura
02:20 PM Feature #17187 (Assigned): Add connect_timeout to TCPSocket
Glass_saga (Masaki Matsushita)
01:59 PM Revision 379a5ca5 (git): Fixed typo
hsbt (Hiroshi SHIBATA)
12:48 PM Bug #17213: Rails CI against Ruby 3.0.0dev fails likely since a53e2850c572135ed657144bc14e47b29c64fa94
It also reproduces with the latest `rubylang/ruby:master-debug-nightly-bionic` which generate large log file like ass... yahonda (Yasuo Honda)
12:35 PM Feature #17281: Remove support for mathn
I'm +1 to this. Can we remove it without approval from Matz? hsbt (Hiroshi SHIBATA)
07:28 AM Bug #17220: Rails Active Job integration test fails with Ruby 3.0.0 since 2038cc6cab6ceeffef3ec3a765c70ae684f829ed
As `getaddrinfo` and `getaddrinfo_a` are not in the async-signal-safe function list in POSIX.1-2001, it can't work in... nobu (Nobuyoshi Nakada)
07:12 AM Revision 3198e7ab (git): Separate `send` into `public_send` and `__send__`
nobu (Nobuyoshi Nakada)
05:42 AM Revision acdb8933 (git): Removed unused environment variable
nobu (Nobuyoshi Nakada)
04:25 AM Feature #17284: Shareable Proc
marcandre (Marc-Andre Lafortune) wrote in #note-13:
> ko1 (Koichi Sasada) wrote in #note-12:
> > My understanding:
...
ko1 (Koichi Sasada)
02:49 AM Feature #17284: Shareable Proc
ko1 (Koichi Sasada) wrote in #note-12:
> My understanding:
>
> `Proc#detach` do
>
> * 1. allocate a snapshot ...
marcandre (Marc-Andre Lafortune)
01:17 AM Feature #17284: Shareable Proc
marcandre (Marc-Andre Lafortune) wrote in #note-11:
> This is already possible, (even if the block does not refer to...
ko1 (Koichi Sasada)

10/26/2020

11:55 PM Revision 135d3690 (git): [DOC] more precise description of "**" in Dir.glob pattern [ci skip]
nobu (Nobuyoshi Nakada)
11:31 PM Bug #17220: Rails Active Job integration test fails with Ruby 3.0.0 since 2038cc6cab6ceeffef3ec3a765c70ae684f829ed
I checked the glibc source, and it intentionally keeps the thread alive:
```c
/* If the runlist is empty, t...
eugeneius (Eugene Kenny)
09:03 PM Misc #16778: Should we stop vendoring default gems code?
Sounds great. marcandre (Marc-Andre Lafortune)
08:48 PM Misc #16778: Should we stop vendoring default gems code?
+1000 for this. JRuby is currently the only Ruby implementation that sources the default and bundled gems exclusively... headius (Charles Nutter)
08:44 PM Revision c56fdaec (git): Revert assert for debugging on CI
This reverts commit ac69849e49982ea83036c04c5d5f7245e3956a49.
The bug seems to have been fixed.
alanwu (Alan Wu)
06:33 PM Feature #17287 (Closed): Faster Pathname FileUtils methods
I have a patch that I would like to merge into Pathname for increased performance. I understand that akr maintains pa... schneems (Richard Schneeman)
05:44 PM Feature #17284: Shareable Proc
ko1 (Koichi Sasada) wrote in #note-8:
> Today's meeting, there are comments:
>
> * (c) is too danger to freeze re...
marcandre (Marc-Andre Lafortune)
04:15 PM Feature #17284: Shareable Proc
> (b) If we can read an outer lvar but it is not frozen/made shareable, I guess that can only mean it is deep-copied?... ko1 (Koichi Sasada)
04:12 PM Feature #17284: Shareable Proc
I have several question about Proc#detach to understand your idea.
```ruby
x = 1
a = ary = []
pr = Proc.new { ary <<...
ko1 (Koichi Sasada)
03:55 PM Feature #17284: Shareable Proc
Today's meeting, there are comments:
* (c) is too danger to freeze reachable objects from reachable local variables....
ko1 (Koichi Sasada)
01:26 PM Feature #17284: Shareable Proc
(a) The method name `isolate` sounds like it will convert the proc to make it isolated, but it seems all it does is r... Dan0042 (Daniel DeLorme)
08:07 AM Feature #17284: Shareable Proc
(c) sounds the most useful and general.
While reading the description, I thought `Proc#deep_freeze` is a good name...
Eregon (Benoit Daloze)
05:25 AM Feature #17284: Shareable Proc
ko1 (Koichi Sasada) wrote in #note-4:
> Thank you for your reply.
Here's a longer reply.
I would like a method...
marcandre (Marc-Andre Lafortune)
01:34 AM Feature #17284: Shareable Proc
Thank you for your reply.
> I'm not sure of the use-cases for a) or b).
Do you think `Ractor.new()` can call (c) in...
ko1 (Koichi Sasada)
04:45 PM Revision 7ad56fd8 (git): freeze dynamic regexp literals
Regexp literals are frozen, and also dynamically comppiled Regexp
literals (/#{expr}/) are frozen.
ko1 (Koichi Sasada)
04:42 PM Bug #17146 (Feedback): Queue operations are allowed after it is frozen
At last dev-meeting we skipped this issue because it is difficult, but no benefit to change the current behavior.
...
ko1 (Koichi Sasada)
04:40 PM Feature #17256: Freeze all Regexp objects
> ko1 (Koichi Sasada) Could you show the errors from the tests?
Sorry I lost the patch.
Anyway, at last dev-mee...
ko1 (Koichi Sasada)
04:37 PM Revision f8d264fd (git): * 2020-10-27 [ci skip]
git[bot]
04:37 PM Revision 1c6ebe14 (git): freeze Process::Status
It seems immutable information. ko1 (Koichi Sasada)
04:37 PM Feature #17269: Frozen Process::Status
This proposal is accepted and I'll merge it to try. ko1 (Koichi Sasada)
04:36 PM Feature #17270: ObjectSpace.each_object should be restricted on multi-Ractors
This proposal was confirmed.
We need to introduce same filter for some other methods...
ko1 (Koichi Sasada)
04:36 PM Bug #17268: special global variables which can be accessed from ractors
The proposal is accepted.
> I wonder if "regular" global variables should be Ractor-local, or behave like constant...
ko1 (Koichi Sasada)
04:34 PM Feature #17261: Software transactional memory (STM) for Threads and Ractors
At last dev-meeting, this proposal is not accepted to introduce it in core because the importance of this feature is ... ko1 (Koichi Sasada)
04:29 PM Feature #17273: shareable_constant_value pragma
Today's (yesterday's) dev-meeting, there is a comment:
* It is possible to break other library easily:
```ruby
requ...
ko1 (Koichi Sasada)
04:21 PM Feature #17278: On-demand sharing of constants for Ractor
I also +1 for Matz because of non-deterministic behavior. ko1 (Koichi Sasada)
03:24 PM Feature #17278: On-demand sharing of constants for Ractor
The mechanism's _implementation_ may be a little complex but I think _usage_ is quite simple. In the vast majority of... Dan0042 (Daniel DeLorme)
09:04 AM Feature #17278 (Feedback): On-demand sharing of constants for Ractor
I understand the benefit of the proposal but the mechanism behind is too complex and can cause unexpected result with... matz (Yukihiro Matsumoto)
03:15 AM Feature #17278: On-demand sharing of constants for Ractor
Eregon (Benoit Daloze) wrote in #note-5:
> A performance concern is this will make the first `rb_check_frozen()` to ...
Dan0042 (Daniel DeLorme)
03:59 PM Feature #17143: Improve support for warning categories
matz (Yukihiro Matsumoto) wrote in #note-10:
> I am OK with warning categories. But the proposed categories are too ...
jeremyevans0 (Jeremy Evans)
07:50 AM Feature #17143: Improve support for warning categories
I am OK with warning categories. But the proposed categories are too fine-grained, I think. Here's the Python warning... matz (Yukihiro Matsumoto)
03:26 PM Feature #17286: `Ractor.new` should accept `move: true`
I'm also thinking about the same feature, and the problem is, maybe we should choose move or copy on each parameters:... ko1 (Koichi Sasada)
05:10 AM Feature #17286 (Open): `Ractor.new` should accept `move: true`
Another surprise when writing my backport is that `Ractor.new` does not accept `move:` keyword argument.
```ruby
...
marcandre (Marc-Andre Lafortune)
02:40 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
nobu (Nobuyoshi Nakada) wrote in #note-42:
> `Kernel#send` should be deprecated because of `BasicObject#__send__`.
...
Eregon (Benoit Daloze)
02:18 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Trying to recap the ideas...
0) Use `send`; `Kernel#send` should be deprecated because of `BasicObject#__send__` (am...
Dan0042 (Daniel DeLorme)
01:41 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
duerst (Martin Dürst) wrote in #note-41:
> Send would be the best name, except that that we are not in a vacuum. It ...
nobu (Nobuyoshi Nakada)
09:25 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
ko1 (Koichi Sasada) wrote in #note-37:
> I believe `send` is the best name, so I disagree about it.
Send would ...
duerst (Martin Dürst)
07:30 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
marcandre (Marc-Andre Lafortune) wrote in #note-38:
> `send` accepts `move: true`, so `ractor.<<(data, move: true)` ...
Eregon (Benoit Daloze)
05:36 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
ko1 (Koichi Sasada) wrote in #note-37:
> I believe `send` is the best name, so I disagree about it.
I understand ...
marcandre (Marc-Andre Lafortune)
05:33 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Eregon (Benoit Daloze) wrote in #note-36:
> Currently there is the alias `Ractor#<<`, maybe we should use that consi...
marcandre (Marc-Andre Lafortune)
01:36 PM Feature #17145: Ractor-aware `Object#deep_freeze`
marcandre (Marc-Andre Lafortune) wrote in #note-31:
> There might very well be a `SharedArray` class, but I don't se...
Dan0042 (Daniel DeLorme)
09:02 AM Feature #17145: Ractor-aware `Object#deep_freeze`
I made a mistake in the previous message (the reply was for another issue). Sorry for confusion.
As far as I undes...
matz (Yukihiro Matsumoto)
07:58 AM Feature #17145 (Rejected): Ractor-aware `Object#deep_freeze`
This looks very interesting, but it would introduce quite big incompatibility. I don't want to break existing code.
...
matz (Yukihiro Matsumoto)
07:46 AM Feature #17145: Ractor-aware `Object#deep_freeze`
marcandre (Marc-Andre Lafortune) wrote in #note-31:
> My understanding is that will never be the case. You can't have...
Eregon (Benoit Daloze)
05:28 AM Feature #17145: Ractor-aware `Object#deep_freeze`
Dan0042 (Daniel DeLorme) wrote in #note-30:
> Let's say that in the future Array becomes Ractor-safe (i.e. shareable...
marcandre (Marc-Andre Lafortune)
12:15 PM Revision bdd1d17a (git): Allow non-argument endless-def with a space instead of parentheses
nobu (Nobuyoshi Nakada)
09:44 AM Feature #17265: Add `Bool` module
I'm planning to make the semantics of `bool` in RBS (in the next release). It will be an alias of `true | false` and ... soutaro (Soutaro Matsumoto)
07:55 AM Feature #17265 (Feedback): Add `Bool` module
RBS side is up to @soutaro etc. I am still against Ruby side. @marcandre stated about communication with other typed ... matz (Yukihiro Matsumoto)
09:43 AM Bug #16518 (Closed): Should we rationalize Rational's numerator automatically?
Applied in changeset commit:git|69837229d74813c807e9d079aaee33aec2c7a4d0.
----------
rational.c: convert a numerator...
Anonymous
03:44 AM Bug #16518 (Assigned): Should we rationalize Rational's numerator automatically?
I'm working on it at https://github.com/ruby/ruby/pull/3702 mrkn (Kenta Murata)
09:43 AM Revision 69837229 (git): rational.c: convert a numerator to rational before calling fdiv in Kernel.Rational() (#3702)
This makes `Rational(BigDecimal(1), 60) == Rational(1, 60)`.
[Bug #16518]
Kenta Murata
09:00 AM Feature #17260 (Closed): Promote pattern matching to official feature
Applied in changeset commit:git|52c630da004d9273e8e5fc91c6304e9eed902566.
----------
Assoc pattern matching (#3703)
...
nobu (Nobuyoshi Nakada)
09:00 AM Revision 52c630da (git): Assoc pattern matching (#3703)
[Feature #17260] One-line pattern matching using tASSOC
R-assignment is rejected instead.
nobu (Nobuyoshi Nakada)
07:52 AM Feature #17171 (Rejected): Why is the visibility of constants not affected by `private`?
This looks very interesting, but it would introduce quite big incompatibility. I don't want to break existing code.
...
matz (Yukihiro Matsumoto)
07:47 AM Feature #17259 (Closed): Kernel#warn should ignore <internal: entries
Applied in changeset commit:git|cffdacb15a363321e1c1879aa7d94924acafd1cf.
----------
Ignore <internal: entries from ...
Eregon (Benoit Daloze)
05:27 AM Feature #17259: Kernel#warn should ignore <internal: entries
Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:47 AM Revision cffdacb1 (git): Ignore <internal: entries from core library methods for Kernel#warn(message, uplevel: n)
* Fixes [Bug #17259] Eregon (Benoit Daloze)
07:47 AM Revision fbb2d30e (git): Add specs that #caller and #caller_locations include core library methods defined in Ruby
Eregon (Benoit Daloze)
07:20 AM Revision 3673c3ea (git): Update to ruby/spec@b164536
Eregon (Benoit Daloze)
07:06 AM Revision ba24aee2 (git): Remove spec which is too difficult to get working with various compilers
* The spec means to use an actual system library function, not a wrapper. Eregon (Benoit Daloze)
06:40 AM Feature #17176: GC.auto_compact / GC.auto_compact=(flag)
Accepted as long as it's turned off by default.
Matz.
matz (Yukihiro Matsumoto)
05:00 AM Feature #17187: Add connect_timeout to TCPSocket
Accepted.
Matz.
matz (Yukihiro Matsumoto)
05:00 AM Feature #17187: Add connect_timeout to TCPSocket
document? akr (Akira Tanaka)
04:45 AM Bug #11202 (Rejected): No warning when a link to an original method body was removed
I don't think the benefit is worth the complexity.
Matz.
matz (Yukihiro Matsumoto)
04:36 AM Bug #11808: Different behavior between Enumerable#grep and Array#grep
Sorry we need more time to consider.
ko1 (Koichi Sasada)
04:34 AM Bug #13768: SIGCHLD and Thread dead-lock problem
This issue told us there's false positive in our deadlock detector. So I accept adding `Thread.ignore_deadlock = true... matz (Yukihiro Matsumoto)
04:29 AM Bug #14012 (Rejected): NameError is raised when use class variables in Refinements
I officially reject this proposal. Class variables are no longer encouraged to use.
Matz.
matz (Yukihiro Matsumoto)
03:15 AM Feature #17285: Less strict `Ractor.select`
For (0), I'm thinking to introduce `Ractor::Selector` (or similar) to manage the ractors.
```
sel = Rcator::Selec...
ko1 (Koichi Sasada)
02:49 AM Feature #17285 (Open): Less strict `Ractor.select`
Summary: could we have a way for `Ractor.select` to skip ractors with closed queues and raise only if no ractor with ... marcandre (Marc-Andre Lafortune)
01:12 AM Feature #17282 (Third Party's Issue): Deprecate Digest::SHA1
Digest is now a separate project. https://github.com/ruby/digest
P.S. I want "2nd party's issue" status. `ruby/di...
shyouhei (Shyouhei Urabe)
12:09 AM Revision 507af754 (git): [DOC] Expanded glob patterns for Dir.glob
No longer need to get rid of C block comments in builtin ruby
script comments.
nobu (Nobuyoshi Nakada)
12:05 AM Revision 3cb03a00 (git): Include c_escape.rb in COMPILE_PRELUDE
template/prelude.c.tmpl requires tool/ruby_vm/helpers/c_escape.rb. nobu (Nobuyoshi Nakada)
12:01 AM Revision 396e9210 (git): Escape '/*' within block comment too
nobu (Nobuyoshi Nakada)

10/25/2020

11:16 PM Revision b6d0b3df (git): Use gcc-specific pragma only on gcc (and the family)
nobu (Nobuyoshi Nakada)
10:56 PM Revision ff2276ef (git): Fix bootstrap-test error in previous commit
jeremyevans (Jeremy Evans)
10:39 PM Bug #10845: Subclassing String
I've added a pull request for making String methods consistently return String instances when called on String subcla... jeremyevans0 (Jeremy Evans)
10:10 PM Revision 9c8f0a34 (git): Use 'shareable' with an 'e' [ci skip]
Marc-Andre Lafortune
09:30 PM Feature #17145: Ractor-aware `Object#deep_freeze`
Let's say that in the future Array becomes Ractor-safe (i.e. shareable). Would that mean then that `[].deep_freeze` w... Dan0042 (Daniel DeLorme)
07:33 PM Feature #17145: Ractor-aware `Object#deep_freeze`
Not only should the default be `skip_shareable: true`, I don't really see the use-case for `skip_shareable: false`. U... marcandre (Marc-Andre Lafortune)
01:45 PM Feature #17145: Ractor-aware `Object#deep_freeze`
ko1 (Koichi Sasada) wrote in #note-26:
> So classes/module should be frozen if `[C].deep_freeze`.
I think it's very ...
Eregon (Benoit Daloze)
08:45 PM Revision 8376cae2 (git): * 2020-10-26 [ci skip]
git[bot]
08:44 PM Revision 5e6f9fd8 (git): Tweak a few Ractor tests that were missing comments [ci skip]
Marc-Andre Lafortune
08:38 PM Revision ee54075a (git): Remove trailing whitespace [ci skip]
Marc-Andre Lafortune
08:08 PM Feature #17159: extend `define_method` for Ractor
How about:
```ruby
define_method(:name, make_shareable: true) { ... }
# equivalent to:
define_method(:name, &Ractor....
marcandre (Marc-Andre Lafortune)
08:04 PM Feature #17284: Shareable Proc
I think c) semantics are definitely the most useful.
For API: `Ractor.make_shareable(proc)` (and equivalently `pro...
marcandre (Marc-Andre Lafortune)
07:33 PM Feature #17284: Shareable Proc
https://github.com/ruby/ruby/pull/3700
for `Ractor.make_shareable(a_proc)` (`a_proc` becomes shareable Proc with (c)...
ko1 (Koichi Sasada)
05:04 PM Feature #17284 (Closed): Shareable Proc
For some reasons, we need to provide a way to make sharable Proc between ractors.
* (1) A block for the `Ractor.ne...
ko1 (Koichi Sasada)
01:33 PM Feature #17278: On-demand sharing of constants for Ractor
Eregon (Benoit Daloze) wrote in #note-5:
> Also, and maybe more clearly, it would require every single Ruby constant...
Eregon (Benoit Daloze)
01:21 PM Feature #17278: On-demand sharing of constants for Ractor
A performance concern is this will make the first access to any constant need the process-global lock (or a more fine... Eregon (Benoit Daloze)
01:14 PM Bug #17283: Why does Dir.glob's ** match files in current directory?
Eregon (Benoit Daloze) wrote in #note-2:
> Interestingly this behavior differs between Bash and Zsh:
Bash **doesn...
nobu (Nobuyoshi Nakada)
12:25 PM Bug #17283 (Closed): Why does Dir.glob's ** match files in current directory?
Applied in changeset commit:git|e880d075f847ff17e1bc77301a9ed363fb40525b.
----------
[DOC] refined "**" description ...
nobu (Nobuyoshi Nakada)
12:23 PM Bug #17283: Why does Dir.glob's ** match files in current directory?
Interestingly this behavior differs between Bash and Zsh:
```
$ tree
.
├── dir
│   └── subfile
└── foo
$ bash
$ echo...
Eregon (Benoit Daloze)
01:11 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Eregon (Benoit Daloze) wrote in #note-36:
> Currently there is the alias `Ractor#<<`, maybe we should use that consi...
ko1 (Koichi Sasada)
12:42 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
marcandre (Marc-Andre Lafortune) wrote in #note-35:
> What about `send`? Should we use `yield`? `pass`? `call`?
Curr...
Eregon (Benoit Daloze)
01:07 PM Revision 25a332f5 (git): Fix compilation on MSVC
* cast scalar value instead of function
* use `rb_pid_t` for the portability
nobu (Nobuyoshi Nakada)
12:57 PM Feature #17273: shareable_constant_value pragma
Maybe the pragma should be `# frozen_constants: true`?
"Freezing a constant" is intuitively "deeply-freeze the value...
Eregon (Benoit Daloze)
12:24 PM Revision e880d075 (git): [DOC] refined "**" description in `Dir.glob` [ci skip]
As same as the description for `File.fnmatch`.
[Bug #17283]
nobu (Nobuyoshi Nakada)
10:43 AM Revision 8d22dd8c (git): * 2020-10-25 [ci skip]
git[bot]
10:42 AM Revision 99e067ea (git): Try to fix compilation on MSVC
Eregon (Benoit Daloze)

10/24/2020

07:57 PM Bug #17283 (Closed): Why does Dir.glob's ** match files in current directory?
If my current directory has 1 file and 1 dir, and I use `Dir.glob("**/*")` or even just `**`, both the dir and the fi... Yanir (Yanir Tsarimi)
02:51 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
I took a quick look, the logic to set $~ is here:
https://github.com/ruby/ruby/blob/148961adcd0704d964fce920330a6301...
Eregon (Benoit Daloze)
02:30 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
scivola20 (sciv ola) wrote in #note-5:
> I believe that people who can use `match?` and `match` methods properly, ca...
Eregon (Benoit Daloze)
01:34 AM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
I believe that people who can use `match?` and `match` methods properly, can use this new Regexp option properly.
...
scivola20 (sciv ola)
01:53 PM Revision 148961ad (git): Update to ruby/spec@4f59d86
Eregon (Benoit Daloze)
01:53 PM Revision 342fbae8 (git): Update to ruby/mspec@b56e7a2
Eregon (Benoit Daloze)
01:52 PM Revision 1388257d (git): * 2020-10-24 [ci skip]
git[bot]
01:51 PM Revision 71f69954 (git): Tweaks for the ruby/spec workflow
Eregon (Benoit Daloze)
05:34 AM Feature #17282: Deprecate Digest::SHA1
Note that we don't currently even deprecate MD5, and if we were going to deprecate SHA1 due to security issues, we sh... jeremyevans0 (Jeremy Evans)
05:06 AM Feature #17282 (Third Party's Issue): Deprecate Digest::SHA1
In light of the widespread deprecation of SHA1 due to collision risk it poses, should Ruby still expose it without a ... olivierlacan (Olivier Lacan)
03:38 AM Misc #17200: DevelopersMeeting20201026Japan
* [Ticket #17208]  Add `Set#compact` and `Set#compact!` methods (koic)
* Is this proposal acceptable?
koic (Koichi ITO)
12:25 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
We now have `receive`, very good.
What about `send`? Should we use `yield`? `pass`? `call`?
marcandre (Marc-Andre Lafortune)
 

Also available in: Atom