Activity
From 02/25/2023 to 03/03/2023
03/03/2023
-
11:02 PM Revision 4d59d016 (git): YJIT: fix CI issue reported by Koichi caused by small stack patch (#7442)
- Includes small reproduction produced by Kokubun.
http://ci.rvm.jp/results/trunk-yjit@ruby-sp2-docker -
10:55 PM Bug #19476 (Closed): Regexp unexpected partial match
- This regular expression does not have the expected match since Ruby 3.2.
Ruby 3.2.1:
```ruby
> RUBY_VERSION
=> "3.2.1"
> ...
=> #<MatchData "123456" 1:"6">
> "123456789".match(/(\d-?\)?){6,}/)
=> #<MatchData "123456" 1:"6">
... -
09:12 PM Bug #19469 (Closed): Crash when resizing generic iv list
- Applied in changeset commit:git|62c2082f1f726cb90d8c332fbedbecf41d5d82ec.
----------
[Bug #19469] Fix crash when resizing generic iv list
The following script can sometimes trigger a crash:
```ruby
GC.stress = true
class Array
def ... -
09:12 PM Revision 62c2082f (git): [Bug #19469] Fix crash when resizing generic iv list
- The following script can sometimes trigger a crash:
```ruby
GC.stress = true
class Array
def foo(bool)
if bool
@a = 1
@b = 2
@c = 1
else
@c = 1
end
end
end
obj = []
obj.foo(true)
obj2 = []
obj2... -
09:12 PM Revision 0700d0fd (git): Fix indentation in vm_setivar_default
-
08:48 PM Revision 8c8548b1 (git): YJIT: Fix a cargo test warning on x86_64 (#7428)
-
07:45 PM Misc #19475: Propose Matthew Valentine-House (@eightbitraptor) as a core committer
- Thank you for nominating me @k0kubun and @tenderlovemaking. It would be a privilege and an honour to be accepted as a committer. 🙇♂️
-
05:38 PM Misc #19475 (Closed): Propose Matthew Valentine-House (@eightbitraptor) as a core committer
- I'd like to propose Matthew Valentine-House (@eightbitraptor) as a committer. He has been [an active contributor to Ruby](https://github.com/ruby/ruby/pulls?q=author%3Aeightbitraptor) in the following areas:
* **Variable Width Allocat... -
05:01 PM Feature #19443: Cache `Process.pid`
- > it is easy to understand how 2ms has impact or not by showing the measured values of before/after.
Yes, unfortunately, being a public company, we have all these rules about material informations and such, so I wasn't sure what I co... -
08:02 AM Feature #19443: Cache `Process.pid`
- byroot (Jean Boussier) wrote in #note-9:
> > How to read comment #7 results?
> ...
Thank you.
BTW it is easy to understand how 2ms has impact or not by showing the measured values of before/after.
Anyway, I agree that is valuable imp... -
07:50 AM Feature #19443: Cache `Process.pid`
- @dalehamel noticed via tracing that we're also calling `getpid()` quite a lot in the thread scheduler.
I think in that case we can simply use `GET_VM()->fork_gen`, so I prepared a second patch for that https://github.com/ruby/ruby/pul... - 03:25 PM Revision 8e13e705 (git): [ruby/irb] Remove no longer necessary TruffleRuby test exclusions.
- (https://github.com/ruby/irb/pull/527)
https://github.com/ruby/irb/commit/8473d0bc0f
Co-authored-by: Stan Lo <stan.lo@shopify.com> -
02:32 PM Bug #19468 (Closed): Ruby 3.2: net/http sets UTF-8 encoding for binary responses
- Applied in changeset commit:git|d78ae78fd76e556e281a743c75bea4c0bb81ed8c.
----------
rb_str_modify_expand: clear the string coderange
[Bug #19468]
b0b9f7201acab05c2a3ad92c3043a1f01df3e17f errornously stopped
clearing the coderange.
S... -
01:28 PM Bug #19468: Ruby 3.2: net/http sets UTF-8 encoding for binary responses
- Actually, the assumption in https://github.com/ruby/ruby/commit/b0b9f7201a might have been incorrect. The function is called `rb_str_modify_expand` and `rb_str_modify` does clear the coderange, so it is somewhat legitimate for extension ...
-
01:23 PM Bug #19468: Ruby 3.2: net/http sets UTF-8 encoding for binary responses
- > This patch fixes the issue with both zlib and openssl:
Interesting, that you for the bug report. One problem though is that the point of https://github.com/ruby/ruby/commit/b0b9f7201a, as to not clear the coderange as often when it ... -
10:12 AM Bug #19468: Ruby 3.2: net/http sets UTF-8 encoding for binary responses
- Another way to reproduce the problem:
```
$ ruby
require "zlib"
p Zlib::Inflate.new.inflate(Zlib.deflate("\u3042".b)).ascii_only?
p Zlib::Inflate.new.inflate(Zlib.deflate("\u3042".b), buffer: "".b).ascii_only?
^D
false # <==... -
02:32 PM Revision d78ae78f (git): rb_str_modify_expand: clear the string coderange
- [Bug #19468]
b0b9f7201acab05c2a3ad92c3043a1f01df3e17f errornously stopped
clearing the coderange.
Since `rb_str_modify` clears it, `rb_str_modify_expand`
should too. -
01:41 PM Revision b49053a6 (git): [ruby/irb] Avoid slow symbol completion when completion target is an
- empty symbol
(https://github.com/ruby/irb/pull/534)
https://github.com/ruby/irb/commit/35697f3ef3 -
10:18 AM Revision a2b776a9 (git): [ruby/irb] Fix prompt test not to change STDIO.external_encoding
- (https://github.com/ruby/irb/pull/535)
https://github.com/ruby/irb/commit/09f16259db -
09:50 AM Revision f1fe4a4a (git): [rubygems/rubygems] Update current_ruby.rb
- https://github.com/rubygems/rubygems/commit/8755ca959e
-
09:50 AM Revision 79ede4ae (git): [rubygems/rubygems] Alias CurrentRuby#mswin?, mswin64?, mingw?, x64_mingw? to #windows?. (This is done instead of logging a deprecation warning.)
- https://github.com/rubygems/rubygems/commit/b9fcc7c0ab
-
09:26 AM Misc #19429: DevMeeting-2023-03-09
- * [Bug #18743] Enumerator#next / peek re-use each others stacktraces (ko1)
* It should be a bug and there is a proposed patch. -
08:58 AM Bug #18743: Enumerator#next / peek re-use each others stacktraces
- @sos4nt could you please assign this issue to @matz? This is a core class problem, and he is the listed maintainer for it.
I can confirm the bug still exists in ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux] -
06:30 AM Revision 6b46057e (git): Expand the test directory to real path
- When the test source directory path contains symbolic links, that
directory might be placed earlier in the result of
`IRB::InputCompletor.retrieve_gem_and_system_load_path`, than other
directories in the source tree that are expanded to ... -
06:27 AM Bug #19471 (Closed): Regexp::compile does not handle :timeout argument
- Applied in changeset commit:git|680bd9027f8cb7977bbc216609db2f4e3cf199a8.
----------
[Bug #19471] `Regexp.compile` should handle keyword arguments
As well as `Regexp.new`, it should pass keyword arguments to the
`Regexp#initialize` met... -
06:27 AM Revision 680bd902 (git): [Bug #19471] `Regexp.compile` should handle keyword arguments
- As well as `Regexp.new`, it should pass keyword arguments to the
`Regexp#initialize` method. -
04:46 AM Revision 103a6531 (git): Regenerate parsers with racc-1.6.2
-
04:43 AM Revision 90b74d8c (git): [rubygems/rubygems] Fix warning about ambiguous `/`
- ```
/path/to/rubygems/test/rubygems/test_gem_commands_exec_command.rb:745: warning: ambiguity between regexp and two divisions: wrap regexp in parentheses or add a space after `/' operator
```
https://github.com/rubygems/rubygems/commit... -
04:43 AM Revision 7fea8485 (git): [rubygems/rubygems] Fix warnings about unused variable
- ```
/path/to/rubygems/test/rubygems/test_gem_commands_exec_command.rb:180: warning: assigned but unused variable - platforms
```
https://github.com/rubygems/rubygems/commit/7e022cb5e3 -
04:43 AM Revision b6d914c7 (git): [rubygems/rubygems] Fix warning about ambiguous `*`
- ```
/path/to/rubygems/test/rubygems/test_gem_commands_exec_command.rb:42: warning: `*' interpreted as argument prefix
```
https://github.com/rubygems/rubygems/commit/0806ebf4e0 -
02:44 AM Revision bd17bea6 (git): [ruby/irb] Fix warnings because of `@context.main.delete`
- If the main object of the context has `#delete` method, the following
warning is printed.
```
irb: warn: can't alias delete from irb_delete.
```
https://github.com/ruby/irb/commit/00b39be61f -
02:15 AM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
- How about the patch at #note-5?
-
01:19 AM Revision 941d36d1 (git): fix timing bug
- passing will and closing notification can conflict and
`Ractor::Selector#empty?` can return wrong answer.
This patch fix it.
```
s = Ractor::Selector.new
s.add Ractor.new{10}
s.add Ractor.new{20}
r, v = s.wait
v... - 12:40 AM Revision ddd3c92b (git): [DOC] Add missing word to documentation_guide.md
03/02/2023
-
11:05 PM Revision 490efd67 (git): Increase timeout for MinGW make test
- Apparently it's too short for MinGW
https://github.com/ruby/ruby/actions/runs/4317938324/jobs/7535630842 -
10:30 PM Revision 7b9aeaff (git): YJIT: shrink stack_size/sp_offet to u8/i8 (#7426)
-
09:21 PM Revision 34026afd (git): YJIT: Delete stale `frozen_bytes` related code (#7423)
- The code and comments in there have been disabled by comments for a long
time. The issues that the counter used to solve are now solved more
comprehensively by "runningness" [tracking][1] introduced by Code GC
and [delayed deallocation][... -
09:16 PM Revision a9f4e5cc (git): YJIT: Fix default call threshold in help (#7424)
-
09:13 PM Revision 44670840 (git): [rubygems/rubygems] Enable `Layout/DefEndAlignment`
- https://github.com/rubygems/rubygems/commit/4403613fae
-
08:41 PM Feature #19474 (Closed): Reduce the number of NEWOBJ macros
- [Github PR](https://github.com/ruby/ruby/pull/7393)
Since the introduction of variable width allocation with `RVARGC` there are a lot of different `*NEWOBJ*` macros. Currently there are:
* `RB_RVARGC_NEWOBJ_OF`
* `RB_RVARGC_EC_NEWOB... -
08:13 PM Revision 02ee8cb0 (git): Increase timeout for ruby/debug tests (#7421)
-
08:04 PM Bug #19470: Frequent small range-reads from and then writes to a large array are very slow
- This looks like a pretty typical effect of slicing, so I'm not sure there's something to "fix" here. JRuby has similar behavior.
Improving the sharing heuristic might help, but it's hard to know where to draw the line; should a slice ... -
05:58 PM Revision 98235834 (git): Investigate missing ./autogen.sh
- https://github.com/ruby/ruby/actions/runs/4316772946/jobs/7532986318
-
05:47 PM Revision 533c8c0c (git): Re-skip an unstable Ractor test
- https://github.com/ruby/ruby/actions/runs/4316423442/jobs/7532190115
http://ci.rvm.jp/results/trunk-yjit@ruby-sp2-docker/4466770 -
05:11 PM Revision fac92cd0 (git): Revert "Revert "Re-enable test_ractor for YJIT""
- This reverts commit 9792d9e40f790e6deb18ead56a8befc9d5c4bc51.
Ractor implementation has been rewritten. Let's see if it works now. - 05:05 PM Revision 573522bd (git): [rubygems/rubygems] Simplify the gem package file filter in the gemspec template
- The regular expression is difficult to understand at a glance.
Let's replace it with a much simpler string comparison.
https://github.com/rubygems/rubygems/commit/a3745aa03f -
04:52 PM Bug #19447 (Closed): Merge `internal/rgengc.h` into public `internal/gc.h` header
- I merged the PR. Thank you!
- 03:57 PM Revision ce476cdf (git): YJIT: Fix cfunc splat
- Follow-up for cb8a040b7906c09d9d3ac3d3fe853f633005024f.
-
03:08 PM Revision 5875fce6 (git): `Ractor::Selector#empty?`
- It returns the waiting set is empty or not.
Also add Ractor::Selector's tests. - 02:43 PM Revision 5f3c7ac1 (git): [rubygems/rubygems] Replace lockfile with `.locked`
- https://github.com/rubygems/rubygems/commit/203f3e3802
-
01:53 PM Revision 55643961 (git): [ruby/irb] Handle long inspect and control character in prompt
- string
(https://github.com/ruby/irb/pull/528)
* Handle long inspect and control characters in prompt string
* Add constants for prompt truncate length, omission and replace pattern
* Simply compare string instead of regexp in prompt t... -
01:49 PM Revision da6ac30d (git): [ruby/irb] Specify metadata to provide richer information on
- rubygems.org
(https://github.com/ruby/irb/pull/532)
https://github.com/ruby/irb/commit/f01c2a6ac1 -
12:11 PM Bug #19473: can't be called from trap context (ThreadError) is too limiting
- Another approach would be to do it like e.g. Java which runs signal handlers on a separate thread.
Then there is no potential problem of the signal handler being reentrant to the main thread/fiber.
But that is a much bigger semantic ch... -
12:07 PM Bug #19473: can't be called from trap context (ThreadError) is too limiting
- Also `Monitor` has the same problem on CRuby:
```
$ ruby -ve 'm=Monitor.new; trap(:HUP) { m.synchronize { p :OK } }; Process.kill :HUP, Process.pid; sleep 0.1'
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]
-e:1:in `synch... -
12:04 PM Bug #19473 (Open): can't be called from trap context (ThreadError) is too limiting
- Simple reproducer:
```
$ ruby -ve 'm=Mutex.new; trap(:HUP) { m.synchronize { p :OK } }; Process.kill :HUP, Process.pid; sleep 0.1'
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]
-e:1:in `synchronize': can't be called from... -
12:08 PM Misc #19429: DevMeeting-2023-03-09
- * [Bug #19473] can't be called from trap context (ThreadError) is too limiting (eregon)
* This seems a needless limitation on CRuby causing real problems. Let's remove this incorrect exception/limitation? -
06:50 AM Misc #19429: DevMeeting-2023-03-09
- * [Bug #19230] The openssl backend of securerandom is no longer needed
* The openssl backend of securerandom has not worked for several years, but we have received no bug reports. I think no one uses it. Let's remove the backend. -
06:47 AM Misc #19429: DevMeeting-2023-03-09
- * [Feature #19472] Ractor::Selector to wait multiple ractors (ko1)
* let me take a time to discuss about new Ractor synchronization API
-
10:18 AM Revision 72811dea (git): MSWin: Use MESSAGE_BEGIN/MESSAGE_END instead of bare `echo`
- To strip enclosing double quotes.
-
08:59 AM Bug #19416: Inconsistent behaviour for Struct.new without any member_names
- FWIW, `Data` consciously allows member-less definitions, intended to be a tag/case values:
```ruby
class Request
Success = Data.new(:body)
NotFound = Data.new
```
The latter is rendered consistently with `Success`, convenient t... -
08:58 AM Feature #19472: Ractor::Selector to wait multiple ractors
- Eregon (Benoit Daloze) wrote in #note-3:
> That currently (AFAIK) means thousands of OS threads, and that AFAIK results in very bad performance or scheduling from the kernel.
> ...
This is why I'm working on MaNy project (M:N threads). -
08:32 AM Feature #19472: Ractor::Selector to wait multiple ractors
- ko1 (Koichi Sasada) wrote:
> For (2), it is important to supervise thousands of ractors.
That currently (AFAIK) means thousands of OS threads, and that AFAIK results in very bad performance or scheduling from the kernel.
Is there a ... -
07:13 AM Feature #19472: Ractor::Selector to wait multiple ractors
- Is it compatible with fiber scheduler?
-
06:45 AM Feature #19472 (Assigned): Ractor::Selector to wait multiple ractors
- This ticket propose `Ractor::Selector` API to wait multiple ractor events.
Now, if we want to wait for taking from r1, r2 and r3, we can use `Ractor.select()` like that.
```ruby
r, v = Ractor.select(r1, r2, r3)
p "taking an obj... -
08:43 AM Bug #19392: Endless method and parsing priorities
- `and` is actually not alone.
The code like this is also parsed not the way one would intuitively expect:
```ruby
def save = File.write(name, self.to_yaml) unless invalid?
```
Actual parsing is this:
```ruby
(def save = File.wri... -
08:00 AM Bug #18797 (Closed): Third argument to Regexp.new is a bit broken
- Applied in changeset commit:git|04cfb26bd394b8e92f24f18799f5e9fc96b2ea69.
----------
Remove support for the Regexp.new 3rd argument
This was deprecated in Ruby 3.2.
Fixes [Bug #18797] -
07:59 AM Revision 14355dde (git): Use https://www.ruby-lang.org/en/downloads/releases/ for download the old versions of Ruby packages
-
07:42 AM Revision 04cfb26b (git): Remove support for the Regexp.new 3rd argument
- This was deprecated in Ruby 3.2.
Fixes [Bug #18797] -
07:14 AM Revision 6207a3f5 (git): Enable flaky ractor test
- I hope a4421bd73c286253311c2cdf8c78ed258f8cff44 will solve the issue...
-
05:31 AM Revision a4421bd7 (git): Rewrite Ractor synchronization mechanism
- This patch rewrites Ractor synchronization mechanism, send/receive
and take/yield.
* API
* Ractor::Selector is introduced for lightweight waiting
for many ractors.
* Data structure
* remove `struct rb_ractor_waiting_list` and us... -
04:25 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- > I haven't come across a case where you cannot also define name on those nested classes/modules, though it is possible such a case exists.
It's not reasonable, and in fact cumbersome, to expect users to override `Class#name` for every ... -
02:42 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- ioquatix (Samuel Williams) wrote in #note-22:
> > I haven't yet seen a non-contrived example where overriding name will not work
> ...
I haven't come across a case where you cannot also define `name` on those nested classes/modules, th... -
12:57 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- > I haven't yet seen a non-contrived example where overriding name will not work
Any time you have nested class or modules in an anonymous module, it gets very ugly.
> ...
Already a possible attack surface as demonstrated.
> due to ho... -
03:59 AM Revision 1abec43b (git): Fix rbs (#7415)
- * Update RBS to skip validation task
* Revert TEST_BUNDLED_GEMS_ALLOW_FAILURES -
12:56 AM Bug #19471 (Closed): Regexp::compile does not handle :timeout argument
- I think Regexp::compile is just an alias for Regexp::new, so I assume it handles the :timeout argument.
However, Regexp::compile does not seem to handle the :timeout argument properly.
```
$ irb
irb(main):001:0> RUBY_VERSION
=> "3... - 12:50 AM Revision d2d521b2 (git): [rubygems/rubygems] Regenerate lockfile if spec list is invalid/empty.
- https://github.com/rubygems/rubygems/commit/d2c56315e2
-
12:29 AM Revision 53f6173c (git): merge revision(s) 8ce2fb9bbbaea14737c84385b1573f743a30f773,3a0f6ce1d31eefd8af01b50f3632a64d64e8f8c1: [Backport #19415]
- Only emit circular dependency warning for owned thread shields [Bug
#19415]
If multiple threads attemps to load the same file concurrently
it's not a circular dependency issue.
So we check that the exis...
03/01/2023
-
11:42 PM Revision 35457ebb (git): [ruby/uri] Replace RubyDoc.info links with Ruby.GitHub.io
- As requested.
https://github.com/ruby/uri/commit/c272f205f9 -
11:42 PM Revision bc668d75 (git): [ruby/uri] Take out GitHub link for gemspec metadata
- https://github.com/ruby/uri/commit/ca4638a4b3
-
11:42 PM Revision 8a5110b6 (git): [ruby/uri] Populate gemspec metadata object
- https://github.com/ruby/uri/commit/31748915d0
-
11:42 PM Revision 93a54a3c (git): [ruby/uri] Sort gemspec `metadata` object alphabetical
- https://github.com/ruby/uri/commit/1e9420b57c
-
11:42 PM Revision 932c0e77 (git): [ruby/uri] Remake `metadata` object in `gemspec` into one assignment
- https://github.com/ruby/uri/commit/19a19ccde6
-
11:42 PM Revision 57e6d664 (git): [ruby/uri] Add documentation link into gemspec
- https://github.com/ruby/uri/commit/19ced145f4
-
11:38 PM Bug #19470: Frequent small range-reads from and then writes to a large array are very slow
- > Do you have any evidence that this problem actually occurs frequently?
I cannot say whether this affects many projects. I've encountered this twice so far when optimizing code to reduce memory allocations (by writing to the same arr... -
12:55 PM Bug #19470: Frequent small range-reads from and then writes to a large array are very slow
- i think maybe the GC could optimize something?
```
100000.times do
arr[0..3] #=> GC notices that the result is unused?
GC.stress # would the GC delete the shared copy?
time_start = Time.now
arr[5] = 100 # takes ?
time... -
08:50 AM Bug #19470: Frequent small range-reads from and then writes to a large array are very slow
- Sorry, I read the example more closely, it seems we are taking a small slice, which marks the original array as shared. So both the original array and the slice point at the same memory allocation, and on mutation, a copy is made. I thin...
-
08:45 AM Bug #19470: Frequent small range-reads from and then writes to a large array are very slow
- It's interesting to me that reading items can mark the array as shared, that seems non-trivial/non-obvious behaviour to me. What's the rational for it?
-
05:59 AM Bug #19470: Frequent small range-reads from and then writes to a large array are very slow
- We the core team know the potential problem with the memory sharing technique. We could be wrong, but we currently believe its advantage (performance improvement in many typical and major cases) is larger enough than its disadvantage (po...
-
05:36 AM Bug #19470 (Open): Frequent small range-reads from and then writes to a large array are very slow
- Write to a large array gets very slow when done after range-reading more than 3 items. In such case the original array gets marked as shared which triggers CoW on a small change afterwards. This leads to a significant performance impact ...
-
11:16 PM Feature #19450: Is there an official way to set a class name without setting a constant?
- I have tests where I am overriding the `name` method for anonymous classes, so I understand the desire for this feature. I'm on the fence about whether it's worth adding a core method for this, as I haven't yet seen a non-contrived examp...
-
11:04 PM Misc #19429: DevMeeting-2023-03-09
- * [Bug #19455] Ruby 3.2: wrong Regexp encoding with non-ASCII comments (jeremyevans0)
* Is using US-ASCII encoding for such regexps a bug? Since the regexp itself does not use non-ASCII, it seems reasonable to use ASCII encoding for t... -
10:12 PM Bug #19378: Windows: Use less syscalls for faster require of big gems
- Just to be clear, this issue affects all Windows MRI platforms, so both mswin64 and mingw32 (mingw & ucrt builds) are affected.
- 09:33 PM Revision cb8a040b (git): YJIT: Properly deal with cfunc splat when no args needed (#7413)
- Related to:
https://github.com/ruby/ruby/pull/7377
Previously it was believed that there was a problem with a combination
of cfuncs + splat + send, but it turns out the same issue happened
without send. For example `Integer.sqrt(1, *[])... -
09:07 PM Revision a80906a7 (git): Allow failing rbs failures for now
- will wait until soutaro fixes it.
The problem of bundled gems is that you can't really revert it as long
as you have scheduled "update bundled_gems". -
08:09 PM Revision 27c2572d (git): YJIT: reject large stacks so we can use i8/u8 stack_size and stack_offset (#7412)
- * Reject large stacks so we can use i8/u8 stack_size and stack_offset
* Add rejection test for iseq too long as well -
06:46 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- Using the server given, I cannot reproduce using the following Ruby code:
```ruby
require 'socket'
PORT = 8080
LISTEN = '127.0.0.1'
20000.times do
socket = TCPSocket.new(LISTEN, PORT)
socket.write("HTTP/1.1 GET /\n")
... -
06:14 PM Bug #19412: Socket starts queueing and not responding after a certain amount of requests
- @jeremyevans0 yes, it behaves the same regarding the max amount of requests it can handle:
```
$ ab -n 20000 -c 50 http://127.0.0.1:8080/
This is ApacheBench, Version 2.3 <$Revision: 1901567 $>
Copyright 1996 Adam Twiss, Zeus Tec... -
06:02 PM Revision 559dfea7 (git): Test with unreleased RBS (#7411)
- * Use RBS 3.0.1
3.0.2 cannot run test on Ruby CI. Waiting for the next release...
* Use unreleased version of RBS -
05:15 PM Revision 5e607cfa (git): YJIT: Use a boxed slice for outgoing branches and cme dependencies (#7409)
- YJIT: Use a boxed slice for outgoing branches
and cme dependencies -
04:11 PM Bug #19469: Crash when resizing generic iv list
- Could this be the cause of #19433?
The stack traces seem to indicate generic IV table resizing. -
11:13 AM Bug #18572: Performance regression when invoking refined methods
- From https://bugs.ruby-lang.org/issues/14083#note-3 it seems part of the problem at least is CRuby currently implements what I would call invalid usages of refinements (different set of activates refinements over time for a given call si...
-
11:09 AM Bug #14083: Refinement in block calling incorrect method
- My reading of https://bugs.ruby-lang.org/projects/ruby-master/wiki/RefinementsSpec#Scope-of-refinements is that the expected output here is:
> A refinement is activated in a certain scope.The scope of a refinement is lexical in the sens... -
08:18 AM Revision 0d415a32 (git): Enable DEBUG_LOG feature on USE_RUBY_DEBUG_LOG
- `ruby_set_debug_option` is needed for `RUBY_DEBUG_LOG` feature
so it should be called when `USE_RUBY_DEBUG_LOG` is true. -
07:56 AM Revision 40e5ee64 (git): Implement Write Barrier for `autoload_table_type`
- It's just a decorated st_table, so we call `RB_OBJ_WRITTEN` after
inserting to it.
We also call `RB_OBJ_WRITTEN` on delete for completeness even though
it's a noop. - 07:02 AM Revision ee83274f (git): Update bundled gems list at 2023-03-01
-
07:02 AM Revision 47f8bf50 (git): [DOC] Clarify IO#autoclose impact on #close
- Mention that autoclose changes the behavior of explicit close in addition to implicit close at IO finalization.
-
04:25 AM Bug #17998: ractor: process hanging (with ractors initialized, but not being used)
- I don't know. This is not my issue in the first place.
-
02:50 AM Revision 62b3bcba (git): [rubygems/rubygems] Auto-heal on corrupted lockfile with missing deps
- Following up on https://github.com/rubygems/rubygems/pull/6355, which
turned a crash into a nicer error message, this commit auto-heals the
corrupt lockfile instead.
In this particular case (a corrupt Gemfile.lock with missing
dependenc...
02/28/2023
-
11:58 PM Misc #19431: DevMeeting at RubyKaigi 2023
- Will attend.
-
03:47 PM Misc #19431: DevMeeting at RubyKaigi 2023
- I'll attend (optimistically, travel not booked yet).
-
08:25 PM Bug #19378: Windows: Use less syscalls for faster require of big gems
- Code using `GetFinalPathNameByHandleW` already exists in win32/win32.c, see
https://github.com/ruby/ruby/blob/c43fbe4ebd2b519601f0b90ca98fa096799d3846/win32/win32.c#L2013-L2022
For cross-reference, see also [Bug #19246 'Rebuilding ... -
07:49 PM Bug #19469 (Closed): Crash when resizing generic iv list
- GitHub PR: https://github.com/ruby/ruby/pull/7407
The following script can sometimes trigger a crash:
```ruby
GC.stress = true
class Array
def foo(bool)
if bool
@a = 1
@b = 2
@c = 1
else
... - 06:05 PM Revision c43fbe4e (git): Fix spelling (#7405)
-
06:04 PM Revision 966adfb7 (git): YJIT: Compress BranchGenFn and BranchShape (#7401)
- * YJIT: Compress BranchGenFn and BranchShape
* YJIT: Derive Debug for Branch
* YJIT: Capitalize BranchGenFn names
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Alan Wu <alansi.xingwu@... -
06:03 PM Revision 67ad831b (git): YJIT: Use a boxed slice for gc_obj_offsets (#7397)
- * YJIT: Use a boxed slice for gc_obj_offsets
* YJIT: Stop using Option
* YJIT: s/add_counter/incr_counter_by/
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> -
05:09 PM Revision 3766cbce (git): Update Rust bindgen
-
05:09 PM Revision 5e4b8017 (git): Update the depend files
-
05:09 PM Revision 460f399c (git): Merge internal/rgengc.h and internal/gc.h
-
04:57 PM Revision de66b60f (git): YJIT: add defer_empty_count stat
- Count how often we defer from a block that is empty
-
04:04 PM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
- This does seem like a considerable slowdown on Windows.
The above code uses absolute paths with `require`, and also adds nonexistent files to `$LOADED_FEATURES`. I changed the code so that all requires are simply a `File.basename`,
... -
02:36 PM Revision 9ddd7306 (git): [ruby/irb] Display and prioritise instance methods in `ls
- <module/class>`
(https://github.com/ruby/irb/pull/496)
https://github.com/ruby/irb/commit/e3d21f9329 -
12:54 PM Revision 2d6097a0 (git): [rubygems/rubygems] Fix method redefinition warning in gem exec specs
- https://github.com/rubygems/rubygems/commit/f177990d4c
-
12:27 PM Bug #19468 (Closed): Ruby 3.2: net/http sets UTF-8 encoding for binary responses
- net/http on Ruby 3.2 has changed the encoding of binary responses from SSL connected hosts (non-SSL connections are not affected):
``` ruby
# req.rb
require 'openssl'
require 'net/http'
puts "openssl ext: #{OpenSSL::VERSION}"
put... -
10:01 AM Misc #19276: It is not possible to reply to emails from redmine
- @graywolf We may fixed this issue.
-
09:56 AM Bug #18614: Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
- @duerst I closed this because this failure may cause environmental issue. If you still have this issue, please re-open this. Thanks.
-
08:53 AM Bug #18614 (Closed): Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
-
09:40 AM Feature #19465: [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
- Copy Eric's message from [ruby-core:112626](https://ml.ruby-lang.org/mailman3/hyperkitty/list/ruby-core@ml.ruby-lang.org/message/GJTGY77GFCGBOAIFTSLEYYGO2ENSDR52/)
> 35136e1e9c232ad7a03407b992b2e86b6df43f63 is broken with `gcc-11 anno... -
08:27 AM Revision cf18f0b8 (git): Implement Write Barrier for `autoload_data`
- It's not uncommon for libraries to add thing sinto
autoload that won't necessarily be loaded.
This can cause hundreds or thousands of entries to be
left over in the autoload table, so it's best not to
mark them on every minor. - 07:01 AM Revision cd199128 (git): Update bundled gems list at 2023-02-28
-
05:29 AM Revision 9cc0ac22 (git): Update lib/net/http/status.rb
-
03:44 AM Revision 66b89b06 (git): Also ignore dismissed CodeQL alerts at tests and URI library
- 03:35 AM Revision c3e57d68 (git): Bump ruby/setup-ruby from 1.138.0 to 1.139.0
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.138.0 to 1.139.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/d3c9825d67b0d8720afdfdde5af56c79fd... -
03:07 AM Revision 71dae78b (git): [ruby/stringio] Implement write barrier on StringIO
- It only has a single reference set in 3 places which
makes it fairly easy to implement.
https://github.com/ruby/stringio/commit/009896b973 -
03:05 AM Revision ad679ec9 (git): Ignore rb/overly-large-range on URI
-
03:05 AM Revision c21260e3 (git): Enable only master branch for CodeQL push trigger
-
03:05 AM Revision 9ff09d69 (git): Run CodeQL each PRs again
-
02:48 AM Revision 7a9fb326 (git): Do not upload sarif file as artifact
-
02:48 AM Revision fbbe2850 (git): Do not OSS scorecards check each push
-
02:04 AM Revision d2c38aa8 (git): A file was missing in test/excludes for TestArraySubclass
- 01:27 AM Revision 97b53d1a (git): Remove "unused parameter" warnings on include of ruby.h
- These warnings are displayed when compiling with flag "-Wunused-parameter" (or
with "-Wall -Wextra").
02/27/2023
-
11:25 PM Bug #19313: Leaked file descriptors while running test-all
- This does not happen on Ubuntu 22.04 for me.
`$ ldd --version`
`ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35` -
11:17 PM Bug #17998: ractor: process hanging (with ractors initialized, but not being used)
- Is this still an issue with current ruby @xtkoba? I checkout out your branch and with a few modifications for Ractor::IsolationErrors, it worked for me.
It worked on: 3.3.0-dev and 3.2.0 (2022-12-25 revision a528908271)
-
10:36 PM Misc #19431: DevMeeting at RubyKaigi 2023
- I'll attend.
-
09:36 PM Bug #18572: Performance regression when invoking refined methods
- Yes, the perf regression is unfortunate.
The current per-call-site cache (`CC`) in the interpreter is keyed on
`[recever_class, call_target_method_entry_validity]` -- the lexical scope that
is used to resolve refinement definition for e... -
03:51 PM Bug #18572: Performance regression when invoking refined methods
- Potential fix: https://github.com/ruby/ruby/pull/4323
-
09:34 PM Revision ba55706f (git): fix test/rubygems/test_gem_package_task.rb when in -j mode
- This test skipped sometimes due to failure to load 'rake/packagetask'.
This is due to manipulation of $LOAD_PATH by other rubygems tests. If
rake is loaded before any rubygems tests run, then it works fine.
To reproduce the skipping beh... -
08:53 PM Revision 283c71ee (git): Skip a spec failing on master
- https://github.com/ruby/ruby/actions/runs/4286361460/jobs/7466545010
http://ci.rvm.jp/results/trunk_gcc9@ruby-sp2-docker/4462424
http://ci.rvm.jp/results/trunk_clang_13@ruby-sp2-docker/4462422 -
08:02 PM Revision 18b4def4 (git): Update to ruby/spec@e7dc804
-
08:02 PM Revision de601390 (git): Update to ruby/mspec@dc2eb26
-
06:34 PM Bug #18731: Parallel test-all sometimes does not run at all some tests
- I've been working a bit on the parallel runner and I've noticed this problem too.
```
Raise if the check Test::Unit::TestCase.test_suites-suites (which is the bug) returns an empty Array. It won't catch all issues though when e.g. 2nd t... -
06:11 PM Revision f38c6552 (git): Remove intern/gc.h from Make deps
-
06:11 PM Revision 98e4bdf3 (git): Update YJIT-bindgen
-
06:11 PM Revision ae5e62ee (git): Merge internal/intern/gc.h into internal/gc.h
- 05:56 PM Revision 2f7270c6 (git): Fix spelling (#7389)
-
05:29 PM Feature #19465 (Assigned): [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
- Since there has been no action since @hsbt reported it, I temporarily reverted the commit at commit:526111290b2e01e798f436dfe4acc3bf10c6bbd1. Please have a look at the failure and re-push it once the issue is resolved. Thank you!
-
03:23 PM Feature #19465 (Closed): [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
-
05:24 PM Revision 52611129 (git): Revert "reuse open(2) from rb_file_load_ok on POSIX-like system"
- This reverts commit 35136e1e9c232ad7a03407b992b2e86b6df43f63.
test-spec has been failing since this revision.
.github/workflows/compilers.yml:82
https://github.com/ruby/ruby/actions/runs/4276884159/jobs/7445299562
```
env:
# Minimal... -
04:45 PM Bug #18119: Ractor crashes when instantiating classes
- I can't reproduce this on 3.2.0 or 3.3.0-dev (Ubuntu 22.04 x86-64), even with GC.stress = true
-
04:12 PM Bug #19464 (Closed): YJIT miscompiles `BasicObject#__send__` to alias methods of `send`
- Applied in changeset commit:git|0eb634ae73cb327ede833b72492f912792a4a9d5.
----------
YJIT: Detect and reject `send(:alias_for_send, :foo)`
Previously, YJIT failed to put the stack into the correct shape when
`BasicObject#send` calls an... -
04:12 PM Revision 0eb634ae (git): YJIT: Detect and reject `send(:alias_for_send, :foo)`
- Previously, YJIT failed to put the stack into the correct shape when
`BasicObject#send` calls an alias method for the send method itself.
This can manifest as strange `NoMethodError`s in the final non-send
receiver, as [seen][1] with the... -
04:12 PM Revision 55a24f9b (git): YJIT: Reject __send__ with splat to cfunc for now
- `make test-spec` revealed this issue after applying an unrelated bug
fix. A crashing case is included, though I suspect there are other
scenarios where it misbehaves. Don't compile for now.
Note that this is *not* an issue on the 3.2.x ... -
03:30 PM Feature #19377: Rename Fiber#storage to Fiber.storage
- zverok (Victor Shepelev) wrote in #note-5:
> Does `Fiber[foo]` not feel weird? (For me it actually does, seems like something "global", not local to the current fiber at all)
For me no, it's actually a nice way to communicate you can... -
03:23 PM Revision ea830ab2 (git): [ruby/irb] Add a comment about Rails' patch on
- Workspace#filter_backtrace
(https://github.com/ruby/irb/pull/526)
* Add a comment about Rails' patch on Workspace#filter_backtrace
* Update lib/irb/workspace.rb
Co-authored-by: Sorah Fukumori <sora134@gmail.com>
---------
https://gi... -
12:33 PM Feature #19458: Expose HEREDOC identifier
- I have no particularly strong opinion either way.
But I wanted to comment on zverok's statement:
> [...] use the possibility to "tag" strings, and if Ruby
> ...
I agree somwhat with that opinion too.
For instance, I also suggested to ... -
11:07 AM Revision 0aa50a03 (git): [ruby/irb] Provide more useful message when
- `IRB::Inspector#inspect_value` errors
(https://github.com/ruby/irb/pull/511)
**Before**
```
irb(main):001:0> c = Cat.new "foo"
(Object doesn't support #inspect)
=>
```
**After**
```
irb(main):001:0> c = Cat.new "foo"
An error occurre... -
10:21 AM Revision 4f611df3 (git): [ruby/reline] Fix wrong indent number in prompt. whole_lines has
- duplicated line.
(https://github.com/ruby/reline/pull/460)
* whole_lines should consider prev_line_index, and must not duplicate last_line
* Add test for lines passed to dynamic prompt proc
* Refactor whole_lines parameters used in te... - 10:09 AM Revision 2cbe1f3e (git): [StepSecurity] ci: Harden GitHub Actions
- Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
-
09:49 AM Revision 10a80d9d (git): Ignore test case for Kernel and IO methods
-
09:49 AM Revision db0a4c89 (git): Prefer to use File.foreach instead of IO.foreach
-
09:49 AM Revision d063ed12 (git): Prefer to use File.binwrite instead of IO.binwrite
-
09:49 AM Revision 6dfdc7b2 (git): Prefer to use File.binread instead of IO.binread
-
09:49 AM Revision d3d8cd30 (git): Prefer to use File.readlines instead of IO.readlines
-
08:57 AM Revision ae4d8e99 (git): Rename job and workflow names
-
08:57 AM Revision f21f5191 (git): Use matrix strategies each language
-
08:57 AM Revision b5a1c57c (git): Merge codeql-config into codeql-analysis
-
08:44 AM Revision 92ed8e6f (git): [ruby/reline] Fix the cause of test_yamatanooroti randomly failing
- (https://github.com/ruby/reline/pull/474)
* Add repeated input-delete test that fails on HEAD
* Use raw mode while readmultiline - 07:01 AM Revision 494c274b (git): Update bundled gems list at 2023-02-27
- 03:52 AM Revision d686a45c (git): Bump github/codeql-action from 2.2.4 to 2.2.5
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.4 to 2.2.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
... - 02:29 AM Revision cc8329e8 (git): [ruby/tempfile] Fix inconsistency in doc of Tempfile.create
- https://github.com/ruby/tempfile/commit/3f96b2ed29
-
02:20 AM Revision b6704201 (git): Add all-ruby-quine as a sample code
- This sample code works on all release versions of Ruby, from Ruby 0.49.
-
12:26 AM Revision 2535b181 (git): Symbol#end_with? accepts Strings only
- Regular expressions are not supported (same as String#end_with?).
02/26/2023
-
10:05 PM Feature #19458: Expose HEREDOC identifier
- My thinking (the proposal I considered submitting but didn't fully form yet) was rather that HEREdocs might create some subclass, like `TaggedString` or something (which might also be able to create by other means, say, literally `Tagged...
-
05:10 PM Feature #19458: Expose HEREDOC identifier
- Exposing the identifier for only heredocs seems inconsistent. However, for consistency, we could expose the identifier for all literal Ruby strings:
```ruby
'foo'.identifier # => "'"
"foo".identifier # => "\""
%[foo].identifier # ... -
01:36 PM Feature #19458: Expose HEREDOC identifier
- > So what are you supposed to do if you wanted to include ERB in the string when you have to use ERB as the identifier?
This is a valid concern, and it doesn't have any good answer to it.
On the other hand,
1. the possibility ... -
02:00 AM Feature #19458: Expose HEREDOC identifier
- @zverok So what are you supposed to do if you wanted to include `ERB` in the string when you have to use `ERB` as the identifier? Did you fully read my comment? By the way, your first point is exactly what I mentioned.
-
09:03 PM Feature #19465: [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system - "nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@ml.ruby-lang.org> wrote:
> Issue #19465 has been updated by nobu (Nobuyoshi Nakada).
> https://bugs.ruby-lang.org/issues/19465#change-102042
>
> Seems fine.<THUMBS UP SIGN>
```... - 08:39 PM Revision 35136e1e (git): reuse open(2) from rb_file_load_ok on POSIX-like system
- When loading Ruby source files, we can save the result of
successful opens as open(2)/openat(2) are a fairly expensive
syscalls. This also avoids a time-of-check-to-time-of-use
(TOCTTOU) problem.
This reduces open(2) syscalls during `r... -
01:37 PM Revision 6e6992e5 (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
- (https://github.com/ruby/net-http/pull/127)
https://github.com/ruby/net-http/commit/07b2b88ef5 -
01:17 PM Revision c8bafc3b (git): Fix autoconf RUBY_STACK_GROW_DIRECTION on ARM devices
-
11:17 AM Bug #19230: The openssl backend of securerandom is no longer needed
- Here's actually an user running into the above bug: https://github.com/stefansundin/rssbox/issues/67, https://github.com/sinatra/sinatra/pull/1888
but removing this code would address the issue too as Sinatra has some sort of fallback... -
04:20 AM Revision ef00c6da (git): Adjust `else` style to be consistent in each files [ci skip]
02/25/2023
-
05:54 PM Feature #19377: Rename Fiber#storage to Fiber.storage
- @Eregon My argument was not about `#storage` taken alone, but about `#storage` vs `::[]` inconsistency. The inconsistency can be fixed either way (e.g. if "it may evolve", then why don't we do `Fiber.current['name']` from the very beginn...
-
05:50 PM Feature #19458: Expose HEREDOC identifier
- I came to the same idea as this ticket independently in a [half-joke discussion](https://bugs.ruby-lang.org/issues/19015#note-5), and I find it tempting, too. Even planned to submit my own proposal once I'll have it clearly formed in my ...
-
04:50 PM Revision 672b81b0 (git): [ruby/irb] Remove unused Struct
- (https://github.com/ruby/irb/pull/522)
https://github.com/ruby/irb/commit/97dae166ae -
12:53 PM Bug #18572: Performance regression when invoking refined methods
- palkan (Vladimir Dementyev) wrote in #note-4:
> As far as I understand, this line is responsible for "the 13 seconds" boot time overhead: https://github.com/ruby/ruby/blob/master/eval.c#L1342 (I was able to achieve similar results by ad... -
12:41 PM Feature #19450: Is there an official way to set a class name without setting a constant?
- ioquatix (Samuel Williams) wrote in #note-18:
> > One requirement for that is the given name should not be a valid constant name then (not start with a uppercase letter).
> ...
It's a requirement for humans to always be able to tell th... -
12:07 PM Feature #19450: Is there an official way to set a class name without setting a constant?
- I wondered about whether your point of class name consistent was valid, but I found cases like this:
```
irb(main):005:0> k = Class.new
=> #<Class:0x000000010488b9b8>
irb(main):006:0> K = k
=> K
irb(main):007:0> k.name
=> "K"
i... -
12:02 PM Feature #19450: Is there an official way to set a class name without setting a constant?
- Here are some of the places in my own code I'd like to use such a feature:
- https://github.com/ioquatix/bake/blob/a571f0c47cc202a4b46a836b87b7383d84f74fa0/lib/bake/scope.rb#L30 - "Scope<path/to/file.rb>"
- https://github.com/ioquatix/... -
11:50 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- ioquatix (Samuel Williams) wrote in #note-16:
> It's already the case that `Module#name` can return a string which is not how you access that module (or class). Rails already does that for ActiveRecord models. Anyone can override that m... -
11:34 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- > The fundamental thing here is Module#name must return a String which is how to access that module, unless some part is anonymous and then of course it cannot be accessed via a constant path.
> ...
It's already the case that `Module#na... -
11:28 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- > I'm also pretty sure assigning to a constant is incompatible with Ractor in some cases..
No, modules and classes are always shared between Ractors. Assigning to a constant needs to be in the main Ractor but so does loading any code ... -
11:22 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- ioquatix (Samuel Williams) wrote in #note-13:
> An example of this is web frameworks which load files into anonymous modules, those modules can be named by path or mounted location in the web application.
Which web framework? Who wan... -
11:12 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- The use case is explained in https://bugs.ruby-lang.org/issues/19450#note-6 - to make it more descriptive when class names are printed which have anonymous ancestors. An example of this is web frameworks which load files into anonymous m...
-
11:09 AM Feature #19450: Is there an official way to set a class name without setting a constant?
- What is the use-case here?
To name otherwise-anonymous test classes/modules?
Why not simply assigning them to a real constant, so their `name` is truthful and not a lie?
Having a filename in Module#name like in https://bugs.ruby-lan... - 10:04 AM Revision d0031db9 (git): Prefer RB_NUM2LONG for string length. (#7379)
-
09:34 AM Bug #19467 (Assigned): Some linear_time regexp does not match in linear time
-
05:24 AM Bug #19467 (Closed): Some linear_time regexp does not match in linear time
- `Regexp.linear_time?(/\A.*a.*x\z/) #=> true` but it does not match in linear time
~~~ruby
Regexp.linear_time? /\A(.*a.*)x\z/ #=> true
/\A(.*a.*)x\z/ =~ 'a'*100000+'y' #=> nil, processing time: 0.016995s
Regexp.linear_time? /\A.*a... -
09:04 AM Feature #19465: [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
- Seems fine.👍
-
01:48 AM Feature #19465 (Assigned): [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
- ```
When loading Ruby source files, we can save the result of
successful opens as open(2)/openat(2) are a fairly expensive
syscalls. This also avoids a time-of-check-to-time-of-use
(TOCTTOU) problem.
This reduces open(2) syscalls... -
08:38 AM Revision d3ee9e59 (git): [ruby/stringio] Remove (newly unneeded) remarks about aliases
- https://github.com/ruby/stringio/commit/60bb320477
- 06:27 AM Revision f94e83fa (git): Assigning `nil` to fiber storage deletes the association. (#7378)
- Also avoid allocations when looking up `Fiber#storage` if not needed.
- 05:40 AM Revision 57bc3f2f (git): Add `IO::Buffer.string` for efficient string creation. (#7364)
-
04:25 AM Bug #19461 (Closed): Time.local performance tanks in forked process (on macOS only?)
- I don't think we can do anything about this, so closing.
-
04:16 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
- I've submitted a bug report to Apple:

-
03:14 AM Feature #19466 (Closed): Class.new takes a block, why doesn't Module.new take a block?
- Okay, I confirmed it's working by my own hand, haha. I must work too hard this week, my brain is not functioning correctly.
I updated the PR to take advantage of that. In fact, it was right in front of me the whole time.
https://github... -
03:08 AM Feature #19466: Class.new takes a block, why doesn't Module.new take a block?
- Ahh, I tried this but I must have made a mistake. So why does `EnvUtil` not use this? Maybe it's legacy?
-
02:58 AM Feature #19466: Class.new takes a block, why doesn't Module.new take a block?
- It does.
```ruby
A = Module.new do
def foo; "foo" end
end
class B; include A end
B.new.foo # => "foo"
```
Cf. https://ruby-doc.org/3.2.1/Module.html#method-c-new -
02:37 AM Feature #19466 (Closed): Class.new takes a block, why doesn't Module.new take a block?
- ```ruby
Class.new do
#... equivalent to class_eval
end
```
So, why don't we introduce:
```ruby
Module.new do
#... equivalent to class_eval
end
``` -
03:02 AM Misc #19429: DevMeeting-2023-03-09
- - [Feature #19450] Is there an official way to set a class name without setting a constant?
- Do we accept `Class.new(superclass, name)` and `Module.new(name)` syntax?
- [Feature #19451] Extract path and line number from `SyntaxError`?... -
02:55 AM Feature #19440: Deprecate ThreadGroup
- I don't think I have ever seen `ThreadGroup` used in practice, nor do I personally know why I'd want to use it. Therefore, I'd be okay with deprecating it.