Activity
From 06/04/2025 to 06/10/2025
06/10/2025
-
11:48 PM Revision dba72134 (git): [rubygems/rubygems] Fix `gem pristine` sometimes not resetting extensions
- If `gem pristine foo` is run, and there's a default copy of foo, only
executables for it are reset. However, that was... -
11:48 PM Revision 6560083c (git): [rubygems/rubygems] Normalize file existence helpers usage
- https://github.com/rubygems/rubygems/commit/a61cc97cd4
-
11:48 PM Revision 7e3d271f (git): [rubygems/rubygems] Install the best matching gem for the current platform in gem install
- Instead of picking essentially a random matching platform
Signed-off-by: Samuel Giddins <[email protected]>
ht... - 11:48 PM Revision b5beb198 (git): [rubygems/rubygems] Validate dependencies when doing bundle install
- https://github.com/rubygems/rubygems/commit/b0983f392f
-
08:33 PM Feature #21435: Kernel#then_try as a conditional #then
- matheusrich (Matheus Richard) wrote in #note-3:
> I'm sorry, I don't understand the use case, nor how it DRY things ... -
07:19 PM Feature #21435: Kernel#then_try as a conditional #then
- I'm sorry, I don't understand the use case, nor how it DRY things up.
The given example shaves off 1 character. Wh... -
02:39 PM Feature #21435: Kernel#then_try as a conditional #then
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> Regarding `respond_to?`, IIRC, isn't ActiveSupport's `try` based on it?
... -
08:56 AM Feature #21435: Kernel#then_try as a conditional #then
- I agree that the pattern sometimes appears.
But the name `optional` feels kind of ambiguous or too generic, to me.
... -
07:30 AM Feature #21435 (Open): Kernel#then_try as a conditional #then
- ## What
When chaining, I need sometimes to apply some changes conditionally, like this:
```ruby
@record = Record... -
07:13 PM Revision 35fc19f5 (git): enumerator.c: Remove unused IDs
-
05:42 PM Revision 0f922edc (git): ZJIT: Support get/set on global variables
- Adds support for code like:
```ruby
$foo
$foo = x
``` -
05:37 PM Revision c54e96d6 (git): Fix RubyVM::Shape.transition_tree
-
05:26 PM Revision bcb4fbe2 (git): Refactor `Enumerator::ArithmeticSequence` to not use ivars
- It's an embedded TypedData, it can much more efficiently store
the references it need without using ivars. - 04:00 PM Revision 585dcfff (git): Fix regular expressions across ractors that match different encodings
- In commit d42b9ffb206, an optimization was introduced that can speed up
Regexp#match by 15% when it matches with stri... -
12:46 PM Revision bb1a992d (git): [DOC] Fix unclosed markup
-
10:25 AM Revision a21acaee (git): Follow-ups to #13555
-
09:40 AM Bug #21388: make install and bundled gems
- Another idea is that master will install snapshot gems.
https://github.com/ruby/ruby/pull/13574 - 07:30 AM Revision cdeedd5b (git): Fix handling of cancelled blocking operations. (#13570)
-
07:22 AM Misc #20600: @ruby-lang.org has been migrated to Cloudflare
- I did delete your address and add it again.
-
07:21 AM Misc #20600: @ruby-lang.org has been migrated to Cloudflare
- @byroot Thanks.
Your email address seems verified status in Cloudflare dashboard. I also confirmed the forwarded r... -
06:47 AM Misc #20600: @ruby-lang.org has been migrated to Cloudflare
- @hsbt it seems I missed this ticket and that my email address is no longer working.
-
06:05 AM Revision 20adae4a (git): Fix up birthtime specs
- There are two different possible messages: unsupported OS/version, and
unsupported filesystem on a supported system. -
02:30 AM Revision 6184793e (git): [DOC] Split building docs for modular GC
-
02:06 AM Revision fb8248b3 (git): Disabled TRAP cache of CodeQL
-
01:03 AM Feature #14915: Deprecate String#crypt
- > even if that removal doesn't happen until Ruby 4.
👀
It's been 6 years, is it worth considering `String#crypt`...
06/09/2025
-
09:30 PM Bug #21402 (Open): ruby2_keywords affects methods/procs with post arguments
- I believe this is an oversight. We forgot to consider post arguments during the development of `ruby2_keywords`. I ...
-
05:57 PM Revision 837699e1 (git): Take file and line in GC VM locks
- This commit adds file and line to GC VM locking functions for debugging
purposes and adds upper case macros to pass _... -
05:12 PM Misc #21385: Namespace: Suggesting a rename
- * Shard - from MMOs - also has the connotation that using this feature carelessly could result in hurting yourself
*... -
05:06 PM Misc #21385: Namespace: Suggesting a rename
- I'd like to throw Sector into the mix.
Namespaces are defined as being "designed to provide separated spaces in a ... -
04:43 PM Misc #21385: Namespace: Suggesting a rename
- For me "context" means something like `context = binding.eval("self")`, so I can't say I like `Context` very much for...
-
11:28 AM Misc #21385: Namespace: Suggesting a rename
- * World
* NamaeSpace (namae is name in Japanese ;-) -
05:06 PM Revision c962735f (git): Add missing write barrier in set_i_initialize_copy
- When we copy the table from one set to another we need to run write
barriers. -
04:34 PM Bug #21401 (Rejected): ObjectSpace can't count Fibers after using a Ractor
- 👋 Hi Robert! This is a known issue. Once a Ractor is started `each_objects` will only return shareable objects. I exp...
-
03:29 PM Bug #21401 (Rejected): ObjectSpace can't count Fibers after using a Ractor
- Hi, thanks for all your great work, Ruby crew!
I have a test in my project that uses `ObjectSpace.each_object(Fibe... -
04:03 PM Revision 4b80f56f (git): Update a step name [ci skip]
-
02:41 PM Revision 698cf146 (git): Fetch only necessary commits of bundled gems
-
02:41 PM Revision 3b17ff24 (git): Reuse fetch-bundled_gems.rb
-
02:38 PM Revision f9966b9b (git): Get rid of `gen_fields_tbl.fields_count`
- This data is redundant because the shape already contains both the
length and capacity of the object's fields.
So it... -
01:41 PM Revision e210a70e (git): [ruby/prism] Fix typo in visitor example code
- https://github.com/ruby/prism/commit/5aa963f8e6
-
01:36 PM Revision b8922a8d (git): ZJIT: Parse opt_regexpmatch2 into HIR
-
01:36 PM Revision ec1244cf (git): ZJIT: Parse opt_not into HIR
-
01:36 PM Revision 038087ad (git): ZJIT: Parse opt_or into HIR
-
01:36 PM Revision 1c43f7e9 (git): ZJIT: Parse opt_and into HIR
-
01:36 PM Revision 4a2480e7 (git): ZJIT: Parse opt_succ into HIR
-
01:36 PM Revision 9865aa94 (git): ZJIT: Parse opt_empty_p into HIR
-
12:22 PM Revision 96fdaf2e (git): Fix build on alpine with statx change
- Since https://github.com/ruby/ruby/commit/18a036a6133bd141dfc25cd48ced9a2b78826af6 building on alpine fails
because u... -
11:03 AM Feature #21219 (Closed): `Object#inspect` accept a list of instance variables to display
- Applied in changeset commit:git|f4135feafc558111c7388b823a64652e09999161.
----------
[Feature #21219] Selective insp... -
07:25 AM Revision f4135fea (git): [Feature #21219] Selective inspect of instance variables
- Make Kernel#inspect ask which instance variables should be dumped by
the result of `#instance_variables_to_inspect`.
... -
07:23 AM Revision e8094943 (git): s/sned/send
-
07:09 AM Bug #21368: Moving objects with finalizer between Ractors crashes
- > Maybe simply marking objects with a finalizer ineligible for moving is more appropiate.
Thanks for checking, I'v... -
03:33 AM Bug #21201 (Closed): Performance regression when defining methods inside `refine` blocks
- Applied in changeset commit:git|c8ddc0a843074811b200673a2019fbe4b50bb890.
----------
Optimize callcache invalidation... -
03:33 AM Revision c8ddc0a8 (git): Optimize callcache invalidation for refinements
- Fixes [Bug #21201]
This change addresses a performance regression where defining methods
inside `refine` blocks caus...
06/08/2025
-
05:58 PM Feature #20861: Add an environment variable for tuning the default thread quantum
- nateberkopec (Nate Berkopec) wrote in #note-22:
> Just to report back about this feature.
> [...]
> I had high hop... -
06:52 AM Bug #19154: Specify require and autoload guarantees in ractors
- Is constant access synchronized as it is for threads?
If a constant has an autoload set and 7 threads hit it, only...
06/07/2025
-
08:39 PM Feature #20105: Introduce `IO::Stream` or something similar.
- I'm not sure if it meets your needs, but I just released an update to the [io-like gem](https://rubygems.org/gems/io-...
-
07:24 PM Revision d0b5f315 (git): record load average at fail
- On a high load machine, the following test can fail.
This patch simply records the load average with `uptime`.
```
... -
07:08 PM Revision 98ac3f1f (git): increase timeout for high load env
- I can reproduce timeout failure with the high load machine:
```
$ RUBY_MAX_CPU=100 ruby -e '100.times{Ractor.new{loo... -
04:30 PM Revision 7d8695e0 (git): Stop pinning shape edges
- Now that `rb_shape_traverse_from_new_root` has been eliminated there's
no longer any reason to pin these objects, bec... -
04:30 PM Revision a640723d (git): Simplify `rb_gc_rebuild_shape`
- Now that there no longer multiple shape roots, all we need to do
when moving an object from one slot to the other is ... -
04:30 PM Revision 191f6e3b (git): Get rid of rb_shape_t.heap_id
-
04:30 PM Revision 6eb0cd8d (git): Get rid of SHAPE_T_OBJECT
- Now that we have the `heap_index` in shape flags we no longer
need `T_OBJECT` shapes. -
04:30 PM Revision 1c96aed6 (git): Remove EMBEDDED shape_id flags
-
04:30 PM Revision 2de67d42 (git): shape.c: assert we're not returning INVALID_SHAPE_ID.
-
04:30 PM Revision 8c4e368d (git): shape.c: ensure heap_index is consistent for complex shapes
-
04:30 PM Revision 54edc930 (git): Leave the shape_id_t highest bit unused to avoid crashing YJIT
-
04:30 PM Revision 689ec511 (git): Replicate `heap_index` in shape_id flags.
- This is preparation to getting rid of `T_OBJECT` transitions.
By first only replicating the information it's easier t... -
11:48 AM Revision 42cf3012 (git): Skip blame-ignored revisions [ci skip]
-
11:48 AM Revision e667bb70 (git): Add `skip` log-fix command to skip that commit totally [ci skip]
-
10:58 AM Revision 3ca007d8 (git): Ignore miss-and-revised commits [ci skip]
-
09:43 AM Revision 7a56c316 (git): Revert "[Bug #21388] Make snapshots of gems"
- This reverts commit e90282be7ba1bc8e3119f6e1a2c80356ceb3f80a, a commit miss.
-
09:41 AM Revision e90282be (git): [Bug #21388] Make snapshots of gems
- If the revision of bundled gems is specified for ruby master (and
`git` is usable), checkout that revision and build ... -
09:41 AM Revision c45e4da7 (git): Make the installation target overridable
- There are various targets such as `install-bin`, `install-ext`, etc.,
but since then, the number of installation type... - 09:19 AM Revision dd4e39a1 (git): Delete useless Namespace#current_details
- The implementation of Namespace#current_details shows warning about
use of snprintf directive arguments (only in gcc ... -
08:07 AM Feature #21219: `Object#inspect` accept a list of instance variables to display
- Thank you Matz.
I opened a pull request derived from @nobu's patch: https://github.com/ruby/ruby/pull/13555
I t... -
07:28 AM Revision 20cf4603 (git): Fix messages for skipped bundled gems
-
12:52 AM Revision 16057041 (git): ignore confirming belonging while finrializer
- A finalizer registerred in Ractor A can be invoked in B.
```ruby
require "tempfile"
r = Ractor.new{
10_000.times{|...
06/06/2025
-
10:46 PM Bug #17617 (Closed): When a Ractor's incoming port is closed, Ractor.receive_if does not raise Ractor::ClosedError, but instead blocks indefinitely
- `receive_if` has been removed with the introduction of `Ractor::Port`, so this should no longer be an issue
-
09:07 PM Revision 90ba2f4e (git): Add missing lock around `redblack_cache_ancestors`
- This used to be protected because all shape code was
under a lock, but now that the shape tree is lock-free
we still ... -
07:35 PM Bug #21158 (Closed): Ractor using 'receive_if' sits in busy wait when there are skipped messages in the incoming queue
- `receive_if` has been removed with the introduction of `Ractor::Port`, so this should no longer be an issue (and it d...
-
03:56 PM Misc #21369: Propose Max Bernstein (@tekknolagi) as a core committer
- Thanks, all :)
-
04:53 AM Misc #21369 (Closed): Propose Max Bernstein (@tekknolagi) as a core committer
- I've finished to prepare Max's account at our systems.
-
02:46 PM Revision 347e581a (git): Introduce MODULAR_GC_FN
- MODULAR_GC_FN allows functions in gc.c to be defined as static when not
building with modular GC. -
02:33 PM Feature #21346: Introduce `String#ensure_suffix`
- Some alternative names:
- `with_suffix`
- `end_with`: pairs well with `end_with?`, but might be too similar and e... -
02:26 PM Feature #21346: Introduce `String#ensure_suffix`
- I think `path.ends_with?(".rb") ? path : "#{path}.rb"` is much more common than the version that just appends `b` to ...
-
02:14 PM Revision 94ba62c7 (git): ZJIT: Fix build error from commit race
-
01:30 PM Revision 677c3637 (git): ZJIT: Fix insn arg index for `defined`, add tests
-
01:30 PM Revision 657b2f06 (git): ZJIT: Parse definedivar into HIR
-
01:30 PM Revision cd7c5a34 (git): ZJIT: Take a slice instead of Vec in test code
- Shorter code and more efficient.
-
11:37 AM Revision 2b810ac5 (git): shape.c: match capacity growth with T_OBJECT embedded sizes
- This helps with getting with of `SHAPE_T_OBJECT`, by ensuring
that transitions will have capacities that match the ne... - 11:29 AM Revision dde9fca6 (git): Be more specific with `RUBY_VM_INTERRUPTED` in debug assertions.
-
09:43 AM Revision 3883c389 (git): shape.c: Fix improperly named routine
- Meant to be `transition_complex` not `transition_frozen`.
-
09:37 AM Bug #21198: Fiber::Scheduler#blocking_operation_wait crash due to stack-use-after-return
- It's going to be tricky to back port this, and it's not a major issue since there are bigger problems with 3.4's impl...
-
09:36 AM Bug #21198 (Closed): Fiber::Scheduler#blocking_operation_wait crash due to stack-use-after-return
- Fixed in <https://github.com/ruby/ruby/pull/13437>.
-
09:30 AM Revision 0cc41d3d (git): proc.c: saves Binding#clone on copying ivars twice
-
09:29 AM Bug #19473: can't be called from trap context (ThreadError) is too limiting
- Folks, what do you think of <https://github.com/ruby/ruby/pull/13545>?
In my PR, I noticed that `IO`'s internal `wri... - 09:15 AM Revision 5ac435dc (git): Log `ec->interrupt_flag` if non-zero.
-
08:47 AM Bug #21312: ruby 3.5-dev installs a gemspec for rdoc that misses dependencies
- Thanks! I confirmed `psych` was removed from `rdoc` dependency. I'll look that.
-
08:42 AM Feature #21258 (Closed): Retire CGI library from Ruby 3.5
- I released cgi-0.5.0 that has same interface with ruby-head
https://github.com/ruby/cgi/releases/tag/v0.5.0
>Is... -
08:28 AM Bug #21388 (Rejected): make install and bundled gems
- Please wait a stable release. `master` is development branch.
The bundled gems that are specified commit hash is a... -
07:32 AM Misc #21385: Namespace: Suggesting a rename
- * Space
* Verse
* Scope
* ClassLoader (joke)
* Classbox
-
01:53 AM Misc #21385: Namespace: Suggesting a rename
- `Ruby::Context` sounds good to me!
-
07:17 AM Revision 3246bbd3 (git): ZJIT: Add codegen for uncached setinstancevariable
-
07:17 AM Revision 6a46ca31 (git): ZJIT: Add codegen for uncached getinstancevariable
- I didn't know `rb_ivar_get` existed until @Xrxr pointed me to it.
Thanks, Alan! -
05:16 AM Revision 2eb0a1a7 (git): Fix birthtime specs on old Linux
-
05:03 AM Revision 18021428 (git): CI: Continue without record if Launchable setup failed
-
05:03 AM Revision 78d2a230 (git): CI: Split cleanups of Launchable generated files
-
04:44 AM Revision 1baa396e (git): fix `rp(obj)` for any object
- Now `rp(obj)` doesn't work if the `obj` is out-of-heap because
of `asan_unpoisoning_object()`, so this patch solves i... - 04:13 AM Revision ead14b19 (git): Fix `blocking_operation_wait` use-after-free bug.
- 04:13 AM Revision 81a23c57 (git): `rb_io_blocking_operation_exit` should not execute with pending interrupts.
- 02:38 AM Revision e093c314 (git): Update default gems list at 9f00044d0fe2d0c8c998da8e1627e6 [ci skip]
-
02:30 AM Revision 9f00044d (git): Bump up strscan version to 3.1.6.dev
- 02:29 AM Revision deb70925 (git): [ruby/strscan] Implement Write Barrier
- (https://github.com/ruby/strscan/pull/156)
StringScanner holds the string being scanned, and a regex for methods
lik... -
02:11 AM Revision 1dd8671c (git): Sync ruby/openssl
- Pick https://github.com/ruby/openssl/pull/896
-
01:23 AM Bug #21398: Ractor.select hangs when multiple threads submit heavy jobs concurrently
- Thank you for your response.
I have tried running the script with Ruby `3.5.0-dev` (ruby-head) and using `Ractor::... -
01:22 AM Revision ca1c46d3 (git): [rubygems/rubygems] Ignore local specifications if they have incorrect dependencies
- Currently ruby-dev installs an incorrect gemspec for rdoc, that does not
declare its dependency on psych.
This seems... -
01:22 AM Revision c0a1e877 (git): Move most of Bundler::GemHelpers to Gem::Platform
- This will help centralize wheel platform selection logic eventually
Signed-off-by: Samuel Giddins <segiddins@segiddi... -
01:09 AM Revision 6a9af9f0 (git): [rubygems/rubygems] Tweak to spec setup so that `rspec` instead of our `bin/rspec` binstub still works
- https://github.com/rubygems/rubygems/commit/24e6699316
-
01:09 AM Revision 3ba066e5 (git): [rubygems/rubygems] Improve more exec specs to avoid swallowing errors
- https://github.com/rubygems/rubygems/commit/439e9bcf81
-
01:09 AM Revision 3b2d068a (git): [rubygems/rubygems] Improve `bundle exec` with default gems specs
- Make them more consistent and not silently pass even if something
regresses. These specs had a typo that made the ass... -
01:09 AM Revision d95f7a3c (git): [rubygems/rubygems] Extract stdboth spec helper
- https://github.com/rubygems/rubygems/commit/bb13f4e702
-
01:09 AM Revision ee55b82b (git): [rubygems/rubygems] Cache commit SHA ref revisions
- If the `ref` option is a specific commit SHA, we can check to see if
it's already fetched locally. If it is, then we ... -
01:09 AM Revision 6839eadd (git): [rubygems/rubygems] Add tests for GitProxy#checkout
- This commit adds tests to capture the current behavior of `#checkout`.
They are not exhaustive, but they cover cases ... -
01:06 AM Bug #21397 (Closed): `snap run ruby.gem` fails when both snap and deb package installed
- Please avoid multi-posting the same issue to multiple place.
-
12:40 AM Revision f1fe26a3 (git): CI: Fix duplicate timeouts
- 12:38 AM Revision f0cf4dce (git): Handle spurious wakeups in `Thread#join`. (#13532)
-
12:37 AM Bug #21400 (Closed): rb_bug() hit when killing current root fiber on non-main thread
- Applied in changeset commit:git|54ef6c312a2154f26e971af9e4a483d5d377730e.
----------
[Bug #21400] Fix rb_bug() when ... -
12:37 AM Revision e66ac2a7 (git): CI: Fix redirection errors
- 12:31 AM Revision 54ef6c31 (git): [Bug #21400] Fix rb_bug() when killing current root fiber in non-main thread (#13526)
- Fixes the following:
```ruby
Thread.new { Fiber.current.kill }.join
```
06/05/2025
-
11:52 PM Revision 86eb5f9c (git): CI: Trap launchable_record_test in the parent process
-
11:39 PM Bug #21108 (Closed): C-c (SIGINT) crashes ruby when looping Ractors are not taken?
- I believe this should be fixed as `Ractor.yield` no longer exists under the Ractor::Port API
-
11:37 PM Revision 43472a30 (git): ZJIT: Panic unimplemented for OOB basic block args (#13533)
-
11:33 PM Revision d946d65c (git): Detect `clock_gettime` and `clock_getres` for winpthreads
-
11:00 PM Revision 5da3dc88 (git): CI: Timeout launchable setup in 3min
-
11:00 PM Revision 296a0d0b (git): CI: Create report files only when Launchable setup succeeded
-
09:55 PM Bug #19154: Specify require and autoload guarantees in ractors
- To give an update, `require` and `autoload` now work inside ractors. I think this can be closed.
-
09:54 PM Feature #15854: Tracing instance variable assignment
- > I think tracing ivar assignments would be prohibitively slow, and so probably not really usable in practice.
Sin... -
09:49 PM Revision a62166e2 (git): support nested VM barrier synchronization
- on `RGENGC_CHECK_MODE > 1`, there are the following steps
1. gc_enter
2. vm_barrier
3. verify_internal_consistency
4... -
09:48 PM Revision 1a991131 (git): ZJIT: Pass self through basic block params (#13529)
- * ZJIT: Pass self through basic block params
Co-authored-by: Max Bernstein <[email protected]>
* Add comments fo... -
09:45 PM Bug #20346: FiberScheduler.unblock not called by Thread#join when Thread body contains Ractor.take
- I created a PR for this: https://github.com/ruby/ruby/pull/13517
-
09:37 PM Feature #21346: Introduce `String#ensure_suffix`
- Let me record the background of the discussion. During the dev meeting, we considered the following use case:
```r... -
06:18 PM Feature #21346: Introduce `String#ensure_suffix`
- matheusrich (Matheus Richard) wrote in #note-13:
> @ufuk see [dev meeting discussion](https://github.com/ruby/dev-me... -
04:59 PM Feature #21346: Introduce `String#ensure_suffix`
- @ufuk see [dev meeting discussion](https://github.com/ruby/dev-meeting-log/blob/50ce075f492578c2b97a32887adbfc7515e1e...
-
04:57 PM Feature #21346: Introduce `String#ensure_suffix`
- I personally find the `"Hello".ensure_suffix("o!")` case returning `"Helloo!"` very unexpected. I would have expected...
-
02:51 PM Feature #21346: Introduce `String#ensure_suffix`
- I've updated the PR as per Matz's comment.
-
09:17 AM Feature #21346: Introduce `String#ensure_suffix`
- What about `ensure_prefix`?
I think it's good to have parity here, I would be surprised if that doesn't exist but `e... -
05:40 AM Feature #21346: Introduce `String#ensure_suffix`
- `ensure_suffix` accepted. IMO, it should always copy the original string, even when it ends with the suffix. I don't ...
-
08:06 PM Revision 4e395809 (git): Refactor raw accesses to rb_shape_t.capacity
-
06:23 PM Bug #17516: forking in a ractor causes Ruby to crash
- Right now forking with a block or forking and execing works without crashing
```
./miniruby -e 'Ractor.new { fork... -
06:15 PM Bug #21007 (Closed): Ractor scheduler issue when multiple threads in a ractor
- This was fixed by resetting the running_time_us
-
06:11 PM Bug #20905 (Closed): Ruby VM hangs while using ractors
- After @ko1's merge of Ractor::Ports this no longer reproduces. 🎉
@luke-gru and I paired on this both before and af... -
05:05 PM Bug #21396: Set#initialize should call Set#add on items passed in
- ko1 (Koichi Sasada) wrote in #note-4:
> How about to redfine `initialize` on subclass of `Set` to call `#add`?
I ... -
01:43 PM Bug #21396: Set#initialize should call Set#add on items passed in
- I've always created custom variants of Set too, and I don't think it's rare to find these in in-house codebases.
-
08:34 AM Bug #21396: Set#initialize should call Set#add on items passed in
- Is there any public code in some gem or so that relies on this? (the example is rather synthetic)
-
01:08 AM Bug #21396: Set#initialize should call Set#add on items passed in
- How about to redfine `initialize` on subclass of `Set` to call `#add`?
-
04:25 PM Feature #21390 (Closed): Deprecate passing arguments to Set#to_set and Enumerable#to_set
- Implemented in commit:0b07d2a1e32a456fc302c8d970fa85782bdb98ce
-
12:30 PM Feature #21390: Deprecate passing arguments to Set#to_set and Enumerable#to_set
- I can agree with this. As it turned out, subclassing the Set class did not become very common, so I think it's fine ...
-
05:54 AM Feature #21390 (Assigned): Deprecate passing arguments to Set#to_set and Enumerable#to_set
-
04:24 PM Revision 0b07d2a1 (git): Deprecate passing arguments to Set#to_set and Enumerable#to_set
- Array#to_a, Hash#to_h, Enumerable#to_a, and Enumerable#to_h do not
allow you to specify subclasses. This has undesir... -
04:20 PM Bug #21398: Ractor.select hangs when multiple threads submit heavy jobs concurrently
- Thank you for the report.
Is it possible for you to try to install ruby-head (3.5.0dev) and try this script with the... -
04:21 AM Bug #21398 (Open): Ractor.select hangs when multiple threads submit heavy jobs concurrently
- When multiple threads run heavy Ractor-based jobs at the same time, `Ractor.select(*workers)` can hang indefinitely w...
-
04:02 PM Revision 2f80117c (git): Fix comment about debugging shapes
- This method was moved to RubyVM::Shape in 913979bede2a1b79109fa2072352882560d55fe0.
-
04:01 PM Revision 22dfa250 (git): More comprehensive debugging configuration
-
03:30 PM Bug #21400: rb_bug() hit when killing current root fiber on non-main thread
- I created a PR: https://github.com/ruby/ruby/pull/13526
-
03:24 PM Bug #21400 (Closed): rb_bug() hit when killing current root fiber on non-main thread
- This following code hits an `rb_bug`:
```ruby
Thread.new { Fiber.current.kill }.join
```
Normally fibers grac... -
02:51 PM Revision da2453c5 (git): Add debug message to test_heaps_grow_independently
- To debug flaky failures on i686 that look like:
1) Failure:
TestGc#test_heaps_grow_independently [test/ruby/test... -
02:45 PM Revision 01f6bd8b (git): ZJIT: Add `insns` param that tests for opcode presence
-
02:18 PM Revision 998e5791 (git): [ruby/date] Suppress warnings by gcc-13 with `-Og`
- https://github.com/ruby/date/commit/6dd7969a64
-
01:33 PM Revision edaa27ce (git): Suppress warnings by gcc-13 with `-Og`
-
01:31 PM Bug #21376: Inconsistent equality between Sets with different compare_by_identity, different classes
- This bug in optimization in Set#== deserves to be fixed, I think. In hindsight, adding Set#compare_by_identity might...
-
12:11 PM Bug #21392 (Closed): Data classes do not allow overriding #inspect
- Closing as requested.
-
11:24 AM Bug #21381 (Closed): Different error messages when mixing `it` and `_1` in block for Prism and parse.y
- Applied in changeset commit:git|0e0008da0f19d098a2e98902f2215c126aca0101.
----------
[Bug #21381] Refine error messa... -
11:04 AM Misc #21399 (Open): DevMeeting-2025-07-10
- # The next dev meeting
**Date: 2025/07/10 13:00-17:00** (JST)
Log: *TBD*
- Dev meeting *IS NOT* a decision-mak... -
11:04 AM Misc #21281 (Closed): DevMeeting-2025-05-08
-
11:04 AM Misc #21379 (Closed): DevMeeting-2025-06-05
-
11:00 AM Bug #21384: const_added is triggered twice when using autoload
- Briefly discussed at the dev meeting. @matz said that it was not intentional to fire the hook twice. But changing it ...
-
10:52 AM Bug #21337: Using `not` on the RHS of a logical operator becomes valid syntax with Prism
- `p(not 1)` is also allowed in Ruby 3.4, but this should also be prohibited, @matz said.
@kddnewton @tenderlovemaki... -
08:53 AM Bug #21337: Using `not` on the RHS of a logical operator becomes valid syntax with Prism
- I am against this prism behavior. It introduces ambiguity for `not a && b` (might be `not (a && b)` or `(not a) && b`...
-
10:39 AM Misc #21154: Document or change Module#autoload?
- > Think about this. You ship a gem like this:
@fxn Thank you for the very interesting example. It became a topic o... -
10:21 AM Revision 0e0008da (git): [Bug #21381] Refine error messages for `it` and numbered parameters
-
10:13 AM Bug #21391: Inconsistent trailing slash behavior of File.join and Pathname#join with empty strings
- I don't recommend trailing slash on a pathname because it is not portable between operating systems.
The behavior ... -
10:12 AM Revision b9e3edb3 (git): [rubygems/rubygems] Slightly simplify locked specification source replacement
- https://github.com/rubygems/rubygems/commit/22f0a07377
-
10:12 AM Revision 970eac15 (git): [rubygems/rubygems] Fix git source unlocking for multi-gem repositories like Rails
- If you have
```
gem "rails", git: "https://github.com/rails/rails"
```
and then explicitly pin to an older ref, lik... -
10:12 AM Revision e4933e1d (git): [rubygems/rubygems] Fix `bundle update --bundler` when restarts disabled
- There's no reason why we should not update bundler as requested, even if
restarts are disabled.
https://github.com/r... -
10:12 AM Revision 5cf07c1e (git): [rubygems/rubygems] Look in configured path when checking if self-update version is installed
- https://github.com/rubygems/rubygems/commit/1ce0882e6f
-
10:12 AM Revision 1befc5d1 (git): [rubygems/rubygems] Make update specs independent from version of Bundler
- https://github.com/rubygems/rubygems/commit/609b21a5fe
-
10:12 AM Revision 0e6805eb (git): [rubygems/rubygems] Refactor restarts to not need memoizing the restart version
- https://github.com/rubygems/rubygems/commit/a9d80a7dcb
-
10:12 AM Revision 417210c0 (git): [rubygems/rubygems] Make self management specs independent from version of Bundler
- https://github.com/rubygems/rubygems/commit/1257bd161e
-
10:12 AM Revision 523f68c6 (git): [rubygems/rubygems] Compare major version only
- https://github.com/rubygems/rubygems/commit/6b4cf6713d
-
10:12 AM Revision 8b2145dc (git): [rubygems/rubygems] Remove dead spec helpers
- https://github.com/rubygems/rubygems/commit/ee5a0158fd
-
10:12 AM Revision e74008bf (git): [rubygems/rubygems] Reduce duplication a bit
- https://github.com/rubygems/rubygems/commit/0574c62fc0
- 10:12 AM Revision 11492bd8 (git): [rubygems/rubygems] Fix headings levels in Changelogs
- And adapt release scripts and configuration to the new structure.
https://github.com/rubygems/rubygems/commit/3deb1a... -
10:12 AM Revision 803dae70 (git): [rubygems/rubygems] Deprecate x64-mingw32 legacy Windows platform in favor of x64-mingw-ucrt
- https://github.com/rubygems/rubygems/commit/71c969be44
-
10:12 AM Revision 21bce66f (git): [rubygems/rubygems] Reset variables that can cause specs to fail if set
- https://github.com/rubygems/rubygems/commit/8df67b7322
-
09:31 AM Misc #21385: Namespace: Suggesting a rename
- other ideas:
* NameSpace (from ObjectSpace)
* NameCapsule
* RootNamespace
* ModuleGroup
* ModuleBag
* ModuleS... -
08:45 AM Misc #21385: Namespace: Suggesting a rename
- From the latest suggestions, I think `Realm` and `Context` are the best, since the feature about creating multiple se...
-
07:49 AM Misc #21385: Namespace: Suggesting a rename
- Regarding the name conflict, if this is meant as a low level API, we could consider something under the newly introdu...
-
05:19 AM Misc #21385: Namespace: Suggesting a rename
- Oh, it is interesting to know there's a higher level API in the horizon. Looking forward to see what you have in mind...
-
04:45 AM Misc #21385: Namespace: Suggesting a rename
- I have to make myself clear. It's fine for me, if we rename Namespace.
Matz.
-
04:23 AM Misc #21385: Namespace: Suggesting a rename
- Context, Capsule, Realm, and Zone do not seem to represent namespaces, so I don't want to adopt them (although I like...
-
09:27 AM Feature #21347 (Assigned): Add `open_timeout` as an overall timeout option for `Socket.tcp`
-
04:52 AM Feature #21347: Add `open_timeout` as an overall timeout option for `Socket.tcp`
- Accepted. Go ahead.
Matz.
-
09:25 AM Feature #21359: Introduce `Exception#cause=` for Post-Initialization Assignment
- Maybe `Exception.new("message", cause: cause)` should be supported, but I suppose that might be quite hard to support...
-
09:07 AM Feature #21359: Introduce `Exception#cause=` for Post-Initialization Assignment
- I am basically against `cause=` (or `set_cause` that is). It makes exceptions more complex. Is it impossible to defer...
-
09:11 AM Feature #21279 (Closed): Bare "rescue" should not rescue NameError
- Upon considering the historic constraint (and compatibility concern), I choose to keep `NameError` as it is.
Thank y... -
09:09 AM Feature #21311: Namespace on read (revised)
- bughit (bug hit) wrote in #note-112:
> Yes, it would only help with direct dependencies of the app:
Right, I also... -
09:08 AM Feature #21358: Advanced filtering support for #dig
- I prefer pattern matching.
Matz.
-
07:13 AM Feature #21358 (Feedback): Advanced filtering support for #dig
-
09:07 AM Bug #21323 (Closed): irb fails to start with Namespace
- Right, this seems fixed on master.
Would be interesting to know what was the fix. -
08:47 AM Feature #21389: Simplify Set#inspect output
- I prefer `Set[1, 2, 3]` to `#<Set: {1, 2, 3}>`. And the name of the subclass should be printed, e.g. `MySet[1, 2, 3]`...
-
08:43 AM Bug #21374: FrozenError message is inconsistent when a singleton method is defined on a frozen object
- I agree with you. It should be consistent (and I prefer `can't modify frozen Array: [] (FrozenError)` message). But t...
-
08:40 AM Bug #21382 (Closed): Syntax for arguments in || is more strict than arguments in ()
- Unfortunately, `|` is a binary-or operator too. So we have to be more strict to avoid ambiguity and syntax conflict.
... -
08:32 AM Revision 9f112afc (git): Allow volatile pointer relaxed atomic operations
-
08:09 AM Revision 9e84a278 (git): Win: Cast of qualifier in `rbimpl_atomic_u64_load_relaxed`
-
08:06 AM Revision 8906d55c (git): [ruby/stringio] Extract internal part as the function
- `str_chilled_p`
(https://github.com/ruby/stringio/pull/136)
https://github.com/ruby/stringio/commit/3c52ddc4c8 -
07:53 AM Bug #21378 (Feedback): variable pinning does not look for method arguments
- @yui-knk Do you think this is possible to implement?
- 07:05 AM Revision 256440a8 (git): Update bundled gems list as of 2025-06-05
-
06:57 AM Feature #21219: `Object#inspect` accept a list of instance variables to display
- I prefer the idea of selecting instance variables to output by a hook method. It is tough to choose the name of the m...
-
06:34 AM Revision 62b1ae09 (git): Win: Slim down `vcvars_ver` options in the matrix
-
05:44 AM Revision 772fc1f1 (git): Get rid of `rb_shape_t.flags`
- Now all flags are only in the `shape_id_t`, and can all be checked
without needing to dereference a pointer. -
04:43 AM Bug #21362: Namespace: Inline method caches poisoned with builtins
- Cache poisoning itself seems to be a bug to be fixed.
But it should be pointed out that whether a method is replac... -
04:34 AM Feature #21365: Add `Namespace#eval`
- Namespace.eval accepted.
Matz.
-
04:32 AM Bug #21316: Namespaces leak with permanent names
- As #21335, we should not provide information that depends on namespace, until we fix high level API.
Matz.
-
04:24 AM Feature #21335: Namespaces should be present in the backtrace
- I'd like to keep this issue pending until we provide high level API (maybe Package). See #21385)
Matz.
-
04:05 AM Misc #21369: Propose Max Bernstein (@tekknolagi) as a core committer
- Accepted. Follow the guideline.
Matz.
- 01:51 AM Revision 111986f8 (git): ZJIT: Add newrange support (#13505)
- * Add newrange support to zjit
* Add RangeType enum for Range insn's flag
* Address other feedback
06/04/2025
-
11:15 PM Revision 0ca80484 (git): mark main Ractor object
- `RUBY_DEBUG=gc_stress ./miniruby -e0` crashes because of this
marking miss.
BTW, to use `RUBY_DEBUG=gc_stress` we ne... -
09:14 PM Revision 112c3425 (git): ZJIT: Implement side exits for entry frames (#13469)
- Co-authored-by: Max Bernstein <[email protected]>
Co-authored-by: Alan Wu <[email protected]> -
08:57 PM Bug #21397 (Closed): `snap run ruby.gem` fails when both snap and deb package installed
- There appears to be a packaging issue with the [official](https://www.ruby-lang.org/en/news/2018/11/08/snap/) Ruby sn...
-
07:48 PM Bug #21396: Set#initialize should call Set#add on items passed in
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> This is not a bug, IMO. Using underlying functions instead of calli... -
07:43 PM Bug #21396: Set#initialize should call Set#add on items passed in
- This is not a bug, IMO. Using underlying functions instead of calling methods was one of the deliberate design decis...
-
07:31 PM Bug #21396 (Open): Set#initialize should call Set#add on items passed in
- ```ruby
class Foo < Set
def add(item) = super(item.bytesize)
end
x = Foo.new(["foo"])
p x
p x.include?(3)
... -
06:07 PM Revision 99cc100c (git): Remove dead rb_malloc_info_show_results
-
05:18 PM Revision 3b5787a9 (git): Implement write barrier for addrinfo
- `rb_addrinfo_t` has `VALUE inspectname` and `VALUE canonname`, so this
triggers the write barrier for those. The `Add... -
11:59 AM Revision a4dc778a (git): Launchable: Set env variables to prevent CI slowdowns (#13513)
- When Launchable in unstable, the round trip time takes a long time, which slows down CI execution. In this PR I confi...
- 11:14 AM Revision a87b0893 (git): ZJIT: Fix incorrect method name in test for Array#size
-
11:14 AM Bug #21395: Please backport caa6ba1a46afa1bc696adc5fe91ee992f9570c89
- 8d49c05c134702c321198b70fbbf34dd80cc1ba6 seems to only change the `debug` gem version, I guess you mean some other co...
-
10:54 AM Bug #21395 (Closed): Please backport caa6ba1a46afa1bc696adc5fe91ee992f9570c89
In Ruby 3.4, debug.gem raises an exception when stepping into a rescue clause:
https://github.com/ruby/debug/p...-
11:13 AM Revision 675f3350 (git): Get rid of TOO_COMPLEX shape type
- Instead it's now a `shape_id` flag.
This allows to check if an object is complex without having
to chase the `rb_sha... -
10:53 AM Revision 8d49c05c (git): Use the edge version of debug gem
-
10:53 AM Revision caa6ba1a (git): Make `rb_debug_inspector_backtrace_locations` return a raw backtrace
- Previously, a user of the debug inspector API was supposed to use
`rb_debug_inspector_backtrace_locations` to get an ... -
10:23 AM Revision 8d14d6ea (git): ZJIT: Spill to the stack using arguments instead of FrameState
- The FrameState on the SendWithoutBlock represents the entry state,
but for instructions that push to the stack in the... -
10:23 AM Revision 6f0f84e5 (git): ZJIT: Parse opt_aref_with into HIR
-
10:18 AM Revision 8070d5d9 (git): `Ractor#take` and warn
- `Ractor#take` was deprecated but some libraries can use it as
an alias for `Ractor#value` (i.e., to wait for a Ractor... -
08:02 AM Misc #21350 (Closed): Bundled gems lack online documentation
- I have no plan to add the documentation of bundled gems under the docs.r-l.o. I don't want to spend the time for coor...
-
07:51 AM Bug #20854 (Closed): Some bundled gems are not installed starting with 007c75ce4c66243e41144c6977e5ccbf4ab71c93
- Ruby 3.4 is already released, and I couldn't reproduce this.
-
07:47 AM Bug #20560 (Closed): make install - skipped bundled gems - minor issue
- This is duplicate of https://bugs.ruby-lang.org/issues/21388.
-
07:44 AM Bug #21388 (Assigned): make install and bundled gems
-
06:31 AM Revision 9fddb8d9 (git): Suppress dangling pointer warning by gcc
- `__has_warning` is clang, not gcc.
-
06:31 AM Revision 7ddc5e61 (git): Suppress overflow warning at `ALLOC_N` in `iseq_set_local_table`
- `xmalloc2` checks the overflow of arguments multiplication.
-
06:31 AM Revision c5f7d274 (git): Check for 64bit atomic operations
- May not be supported on some 32bit architectures.
```
/usr/lib/gcc-cross/m68k-linux-gnu/14/../../../../m68k-linux-gn... -
06:27 AM Revision 47f55b4b (git): Mark as NORETURN
-
06:26 AM Revision 206110a2 (git): Add missing lock in `rb_ivar_defined`
- If called on a class, we should acquire the lock.
-
06:16 AM Feature #20105 (Closed): Introduce `IO::Stream` or something similar.
- In the end, I created a gem for this. I'm okay with using a gem.
https://github.com/socketry/io-stream -
06:14 AM Revision 1f4913db (git): [ruby/did_you_mean] Revert "Alias value to take in old Ruby"
- This reverts commit https://github.com/ruby/did_you_mean/commit/15d7b0bfa573.
https://github.com/ruby/did_you_mean/c... -
05:59 AM Revision 6b8dcb7c (git): shape.c: fix off by one error in `shape_tree_mark`
-
05:59 AM Revision bbd5a5a8 (git): vm_getivar: normalize shape_id to ignore frozen state
- Freezing an object changes its `shape_id` This is necessary
so that `setivar` routines can use the `shape_id` as a ca... -
05:59 AM Revision 625d6a9c (git): Get rid of frozen shapes.
- Instead `shape_id_t` higher bits contain flags, and the first one
tells whether the shape is frozen.
This has multip... -
05:51 AM Revision 6b7e3395 (git): [ruby/psych] Revert "Alias value or join to take in old Ruby"
- This reverts commit https://github.com/ruby/psych/commit/1a4d383efe0b.
https://github.com/ruby/psych/commit/2f51c02280 -
05:35 AM Revision a88ff325 (git): [ruby/uri] Revert "Alias value or join to take in old Ruby"
- This reverts commit https://github.com/ruby/uri/commit/443ed0cf8540.
https://github.com/ruby/uri/commit/9e51838a04 -
05:28 AM Revision ac1dfee4 (git): [ruby/date] Removed workaround for assert_ractor
- https://github.com/ruby/date/commit/700e44ef54
-
05:12 AM Revision 80352678 (git): [ruby/time] Removed workaround for assert_ractor
- https://github.com/ruby/time/commit/337410e971
-
05:08 AM Revision 04b26db5 (git): Support Ractor#value and Ractor#join for old versions of Ruby
- https://github.com/ruby/test-unit-ruby-core/pull/9
https://github.com/ruby/test-unit-ruby-core/pull/10 -
05:03 AM Revision 50400f3b (git): [ruby/etc] Removed workaround for assert_ractor
- https://github.com/ruby/etc/commit/fd61177b71
-
04:04 AM Feature #21346: Introduce `String#ensure_suffix`
- I like this idea, but I'm concerned about the same method returning `self` in one case and a new string in another. I...
-
03:47 AM Revision a84f7343 (git): Added warning for CGI.parse
-
02:38 AM Revision 0ecb6896 (git): Correct comments for packed shape and index [ci skip]
Also available in: Atom