Activity
From 05/04/2025 to 05/10/2025
Today
-
11:14 AM Bug #21323 (Open): irb fails to start with Namespace
- ```
$ irb
irb(main):001> 6 * 7
=> 42
$ RUBY_NAMESPACE=1 irb
/home/eregon/prefix/ruby-master/bin/ruby: warning:... -
11:13 AM Bug #21317: Namespaces leak with object IDs
- Full reproducer, showing that even though `Object` is the same reference in all namespaces it can have different cons...
-
10:13 AM Bug #21317 (Closed): Namespaces leak with object IDs
-
10:12 AM Bug #21317: Namespaces leak with object IDs
- @byroot, if you will, I believe this one can be closed too.
-
08:11 AM Bug #21317: Namespaces leak with object IDs
- I suspect this one was an error of mine. I think we can close.
-
05:33 AM Bug #21317: Namespaces leak with object IDs
- Did you actually test the code? `mod1.constants == mod2.constants` returns `true`.
```
$ cat main.rb
ns = Namesp... -
11:06 AM Bug #21318: Namespaces leak with Module.nesting
- Complete reproducer:
```
$ RUBY_NAMESPACE=1 ruby -ve 'p Module.nesting; ns = Namespace.new; File.write "ns.rb", "p ... -
10:11 AM Bug #21321: Namespaces do not support extending mixins
- > and sorry for the noise.
It's alright, even if the feature is experimental, the sooner bugs are noticed the bett... -
10:09 AM Bug #21321: Namespaces do not support extending mixins
- Yes, please, and sorry for the noise.
-
09:59 AM Bug #21321 (Closed): Namespaces do not support extending mixins
- > cannot repro anymore.
Closing then? -
08:39 AM Bug #21321: Namespaces do not support extending mixins
- I was yesterday running a checkout from May 6. Updated the branch now and cannot repro anymore.
-
08:28 AM Bug #21321: Namespaces do not support extending mixins
- @mame I was here till 4 AM experimenting with this feature.
To be organized, I reported different things in differ... -
05:54 AM Bug #21321: Namespaces do not support extending mixins
- I don't think it's really necessary to create a separate ticket for this from #21319, is it?
-
09:59 AM Bug #21319 (Closed): Namespaces do not support including mixins
-
08:34 AM Bug #21319: Namespaces do not support including mixins
- I was yesterday running a checkout from May 6. Updated the branch now and cannot repro anymore.
-
05:46 AM Bug #21319: Namespaces do not support including mixins
- I cannot repro the issue.
```ruby
# main.rb
ns = Namespace.new
ns.require "./sub"
p :success
```
```ruby... -
09:50 AM Bug #21322: Namespaces and builtin classes as arguments and return values
- For example, if I instead do
```ruby
ns = Namespace.new
ns.require_relative 'foo'
c = Class.new
c::X = 1
ns::C.x(c)... -
09:40 AM Bug #21322: Namespaces and builtin classes as arguments and return values
- > I believe this is consistent with the feature
I say so in the sense that objects with the same ID are equal in the... -
09:12 AM Bug #21322 (Open): Namespaces and builtin classes as arguments and return values
- @tagomoris thanks for the docs under `doc/namespace.md`.
Unless I missed it, I believe there is an edge case relat... -
09:26 AM Revision 58559862 (git): Fix redefinition of `clock_gettime` and `clock_getres`
- winpthreads-git 12.0.0.r720 provides `clock_gettime` and
`clock_getres` as inline functions. -
09:03 AM Feature #21311: Namespace on read (revised)
- > building fiddle fails
Could you share the error message? -
08:37 AM Feature #21311: Namespace on read (revised)
- > So I ran benchmark/app_fib.rb
Fibonnaci isn't a very interesting benchmark here. It's just the same method being... -
08:31 AM Feature #21311: Namespace on read (revised)
- On my laptop, building fiddle fails and it prevents running `make yjit-bench`.
So I ran benchmark/app_fib.rb and g... -
08:36 AM Bug #21320: Namespaces leak with constant lookup
- This is probably a consequence of https://bugs.ruby-lang.org/issues/21318.
-
08:29 AM Revision 7add6b2a (git): ruby/spec has a minimum of Ruby 3.2 now
-
08:18 AM Bug #21316: Namespaces leak with permanent names
- Main problem here is that there are many programs that depend on that name.
They may store it somewhere for later `c... -
06:22 AM Bug #21316: Namespaces leak with permanent names
- This is definitely not ideal. `Class#name` could end up referring to a different constant.
```ruby
# main.rb
NS ... - 06:59 AM Revision 3c37d6ff (git): Update bundled gems list as of 2025-05-09
-
06:41 AM Revision c75202c5 (git): [Feature #15408] Fix up _id2ref_spec.rb
05/09/2025
-
11:28 PM Bug #21319: Namespaces do not support including mixins
- Maybe the root cause is _enabling_ namespaces with `RUBY_NAMESPACE=1`.
-
11:02 PM Bug #21319 (Closed): Namespaces do not support including mixins
- The following program
```ruby
module M
end
class C
include M
end
```
fails under a namespace with err... -
11:27 PM Bug #21321: Namespaces do not support extending mixins
- Maybe the root cause is _enabling_ namespaces with `RUBY_NAMESPACE=1`.
-
11:22 PM Bug #21321 (Closed): Namespaces do not support extending mixins
- The program
```ruby
module M
end
class C
extend M
end
```
fails under a namespace with error:
```
... -
11:15 PM Revision 3306d7d2 (git): Only clear Ractor cache in child
- This avoids a race condition where we were clearing the cache from
another ractor while it was in use. Oops!
Fixes t... -
11:07 PM Bug #21320 (Open): Namespaces leak with constant lookup
- The following program
```ruby
X = :top
class C
X = :super
end
class D < C
p X
end
```
prints `:... -
10:54 PM Bug #21318 (Open): Namespaces leak with Module.nesting
- Namespaces are not transparent for this program:
```ruby
Module.nesting
```
The nesting is empty or not depen... - 10:13 PM Revision 87b621bd (git): Update default gems list at 58c008e68f31a8056df508cc46e17c [ci skip]
-
10:12 PM Revision 58c008e6 (git): [ruby/psych] Bump version for release
- https://github.com/ruby/psych/commit/dbf9e36583
-
10:08 PM Bug #21317 (Closed): Namespaces leak with object IDs
- Namespaces are not transparent for this program
```ruby
if mod1.object_id == mod2.object_id
mod1.constants == ... -
10:05 PM Bug #21316 (Open): Namespaces leak with permanent names
- Namespaces are not transparent for this program
```ruby
C = Class.new
C.name == 'C'
```
because under a non-... -
10:01 PM Feature #15408: Deprecate ObjectSpace._id2ref
- > The question is rather why you want _id2ref to be deprecated
I want it removed, actually! 😀
You have seen all... -
08:20 PM Feature #15408: Deprecate ObjectSpace._id2ref
- headius (Charles Nutter) wrote in #note-44:
> I'd also like to know **why** you want `_id2ref` to stick around.
I... -
07:19 AM Feature #15408 (Closed): Deprecate ObjectSpace._id2ref
- Applied in changeset commit:git|4de049a3f9709ab8b0b192c40e83b910b80d6de3.
----------
Deprecate `ObjectSpace._id2ref`... -
06:34 AM Feature #15408: Deprecate ObjectSpace._id2ref
- I was hoping for a removal timeline, but alright. I'll merge my PR.
-
03:14 AM Feature #15408: Deprecate ObjectSpace._id2ref
- This was discussed at the dev meeting, and @matz agreed to add the deprecation warning.
-
09:22 PM Revision 4a2f489c (git): Fix rb_range_beg_len() and rb_arithmetic_sequence_beg_len_step() spec
- * The begp, lenp and stepp might not be written to, so they need default values.
-
09:22 PM Revision 2a923636 (git): Try removing building C API specs in CRuby makefiles entirely
- * Since it does not work when using some configure options such as:
.../configure --with-ext=-test-/cxxanyargs,+ --... -
09:22 PM Revision 29be534f (git): Try fixing building C API specs with make
- * But it doesn't work because there is no .ext/include/ruby/digest.h
when using .../configure --with-ext=-test-/cxx... -
09:22 PM Revision 78a2ffa0 (git): Fix digest specs when run in CRuby via make test-spec
-
09:22 PM Revision cb4a4418 (git): Fix formatting in digest_spec.c
-
09:22 PM Revision 269ad29d (git): Update to ruby/spec@d8bacef
-
08:04 PM Bug #21315: Finalizers violate the `rb_ractor_confirm_belonging` assertion
- Eregon (Benoit Daloze) wrote in #note-3:
> it clearly seems to exhibit that behavior
To clarify what I mean:
```... -
07:45 PM Bug #21315: Finalizers violate the `rb_ractor_confirm_belonging` assertion
- > When a Ractor terminates just before it actually does so it should probably run the remaining finalizers
Objects... -
07:13 PM Bug #21315: Finalizers violate the `rb_ractor_confirm_belonging` assertion
- When a Ractor terminates just before it actually does so it should probably run the remaining finalizers, AFAIK, this...
-
06:56 PM Bug #21315: Finalizers violate the `rb_ractor_confirm_belonging` assertion
- > Run each finalizer in the Ractor that created it (what do we do about terminated ractors?)
That one I think woul... -
06:51 PM Bug #21315: Finalizers violate the `rb_ractor_confirm_belonging` assertion
- It does seem like it's a problem that this is a way to have access to an unshareable object from multiple ractors
``... -
04:19 PM Bug #21315 (Open): Finalizers violate the `rb_ractor_confirm_belonging` assertion
- Reproduction (with assertions enabled):
```ruby
require "tempfile"
Ractor.new do
10.times do
Tempfile.... -
06:45 PM Revision 3135eddb (git): Refactor `FIRST_T_OBJECT_SHAPE_ID` to not be used outside `shape.c`
-
06:07 PM Feature #21311: Namespace on read (revised)
- This feature proposal is quite exceptional. Because this is a feature strongly driven by @matz himself, and Ruby is m...
-
12:16 PM Feature #21311: Namespace on read (revised)
- Let me add.
This is not a case of "let's merge and polish". Problem is, it has to be seen if you can satisfy the goa... -
11:29 AM Feature #21311: Namespace on read (revised)
- I am aligned with @eregon.
There are several important issues.
Another one that has not been mentioned (I think) is... -
11:02 AM Feature #21311: Namespace on read (revised)
- In https://github.com/ruby/dev-meeting-log/blob/master/2025/DevMeeting-2025-05-08.md#discussion
> mame: Are there any... - 05:53 PM Revision e2f5e233 (git): [ruby/psych] exception tests
- https://github.com/ruby/psych/commit/1e9b79f699
- 05:53 PM Revision 42328d4e (git): [ruby/psych] more special cases
- https://github.com/ruby/psych/commit/b33bf8b060
- 05:53 PM Revision 451e1dcf (git): [ruby/psych] duplicate more tests
- https://github.com/ruby/psych/commit/a3be6429bf
- 05:53 PM Revision ae299cc9 (git): [ruby/psych] add first test for safe load stream
- https://github.com/ruby/psych/commit/336553b412
- 05:53 PM Revision f0e2a41d (git): [ruby/psych] fixed bugs from testing
- https://github.com/ruby/psych/commit/e954f96639
- 05:53 PM Revision d6931930 (git): [ruby/psych] Add safe version for load_stream
- https://github.com/ruby/psych/commit/30a2a5ee94
-
04:43 PM Revision 011982ef (git): Fix warnings in tests for ObjectSpace._id2ref
- There's a lot of warnings when running test_objectspace.rb because of
ObjectSpace._id2ref. For example:
test_obj... -
04:32 PM Revision 102063f9 (git): ZJIT: Fix a splitting condition for LHS
-
02:24 PM Bug #18119 (Closed): Ractor crashes when instantiating classes
- Applied in changeset commit:git|f30f0f0a22bb5cf536b5ca551f3dfa5ebb745030.
----------
Fix crash when instantiating cl... -
02:24 PM Revision f30f0f0a (git): Fix crash when instantiating classes in Ractors
- [Bug #18119]
When we create classes, it pushes the class to the subclass list of the
superclass. This access needs t... -
01:14 PM Revision 5349c0aa (git): Align gems/bundled_gems [ci skip]
-
12:41 PM Feature #21258: Retire CGI library from Ruby 3.5
- With recent commits, it seems that a cgi.gemspec is not created.
erb.gemspec shows it as a dependency? -
04:08 AM Feature #21258 (Assigned): Retire CGI library from Ruby 3.5
- We discussed this in devmeeting.
We decided the followings:
* To remove `cgi` library without `CGI.escape*` and... -
10:28 AM Bug #21280: StringIO#set_encoding warns when backed by chilled string literal
- https://github.com/ruby/stringio/pull/132 is a much cleaner solution, was it considered?
(https://bugs.ruby-lang.org/... -
03:28 AM Bug #21280: StringIO#set_encoding warns when backed by chilled string literal
- Discussed at the dev meeting. @matz said that he prefers not to issue warnings that could be false positives, even if...
-
09:13 AM Revision 15e3675e (git): Remove dead code in `rb_gc_impl_ractor_cache_free`
- Followup: https://github.com/ruby/ruby/pull/13286
-
08:22 AM Revision ea772508 (git): Rename `RB_OBJ_SHAPE` -> `rb_obj_shape`
- As well as `RB_OBJ_SHAPE_ID` -> `rb_obj_shape_id`
and `RSHAPE` is now a simple alias for `rb_shape_lookup`.
I tried ... -
08:22 AM Revision 0b81359b (git): Stop exposing rb_shape_frozen_shape_p
-
08:22 AM Revision becc45ff (git): Eliminate some `rb_shape_t *` usages outside of `shape.c`.
-
08:22 AM Revision a970d35d (git): Get rid of `rb_shape_get_parent`.
-
08:22 AM Revision 5782561f (git): Rename `rb_shape_get_shape_id` -> `RB_OBJ_SHAPE_ID`
- And `rb_shape_get_shape` -> `RB_OBJ_SHAPE`.
-
08:22 AM Revision a0075754 (git): Remove unused `rb_shape_object_id_index`
-
08:22 AM Revision c9b08882 (git): Refactor `rb_shape_get_next` to return an ID
- Also rename it, and change parameters to be consistent with
other transition functions. -
08:22 AM Revision e0200cfb (git): Refactor `rb_shape_transition_shape_remove_ivar` to not take a shape pointer
- It's more consistent with other transition functions.
-
08:22 AM Revision 3f7c0af0 (git): Rename `rb_shape_obj_too_complex` -> `rb_shape_obj_too_complex_p`
-
08:22 AM Revision 677d075c (git): Refactor `rb_shape_transition_too_complex` to return an ID.
-
08:22 AM Revision f82523f1 (git): Refactor `rb_shape_transition_frozen` to return a `shape_id`.
-
08:22 AM Revision 31d0a581 (git): Get rid of useless SHAPE_MASK
-
08:22 AM Revision 334ebba2 (git): Rename `rb_shape_get_shape_by_id` -> `RSHAPE`
-
08:22 AM Revision 9966de11 (git): Refactor `rb_shape_get_next_iv_shape` to take and return ids.
-
08:22 AM Revision df7d25bb (git): Stop exposing rb_shape_get_root_shape
-
08:22 AM Revision 62eb2007 (git): Remove unused rb_obj_debug_shape
-
08:22 AM Revision e4f97ce3 (git): Refactor `rb_shape_depth` to take an ID rather than a pointer.
- As well as `rb_shape_edges_count` and `rb_shape_memsize`.
-
08:22 AM Revision f8b3fc52 (git): Refactor `rb_shape_traverse_from_new_root` to not expose `rb_shape_t`
-
08:22 AM Revision 7116b0a7 (git): Extract `rb_shape_free_all`
-
08:19 AM Bug #20165 (Closed): Ractors moving a Struct breaks beyond the first 3 fields
- Duplicate of: [Bug #20271] [Bug #20267] [Bug #20255]
This was fixed in 0350290262ea0fbc4e1807901797ee8a6970c2b9 an... -
08:16 AM Bug #20897 (Closed): resolv: not usable across ractors
- The linked PR was merged.
-
07:55 AM Revision 30ef0f18 (git): Fix allocation count when forking with Ractors
- After fork we reset to single ractor mode (which IMO we shouldn't do,
but it requires more work to fix) and so we nee... -
07:19 AM Revision 4de049a3 (git): Deprecate `ObjectSpace._id2ref`
- [Feature #15408]
Matz decided to deprecate it for Ruby 2.6 or 2.7 but that never
actually happened.
Given the objec... -
06:55 AM Misc #21100 (Closed): DevMeeting before RubyKaigi 2025
- Meeting log is here: https://github.com/ruby/dev-meeting-log/blob/master/2025/DevMeeting-2025-04-15.md
-
06:37 AM Feature #21309: Can Thread::Mutex be Ractor shareable?
- > Should I create a ticket here?
You can directly open a PR on https://github.com/ruby/net-http/.
If it doesn't... -
05:04 AM Feature #21309: Can Thread::Mutex be Ractor shareable?
- > Maybe Net::HTTP could use `IO.select`?
That sounds like a good idea and I'd like to try it. I have checked some ... -
06:37 AM Revision 4ef324c7 (git): Added https://bugs.ruby-lang.org/issues/21258 to NEWS.md
- 05:28 AM Revision dcd0a35c (git): Update default gems list at d3c472781dec4fe415203fbb898d8b [ci skip]
-
05:27 AM Revision d3c47278 (git): Replaced CGI.parse with URI.decode_www_form
-
05:27 AM Revision ab19b1f6 (git): Use CGI 0.5.0.beta1
-
05:27 AM Revision 5e1c9067 (git): Added cgi for bundler testing. rack depends cgi/cookie.rb
-
05:27 AM Revision 5aade8a8 (git): Added migration wrapper for cgi.rb and cgi/util.rb
-
05:27 AM Revision ce6c1778 (git): Guard CGI examples with Ruby 3.5 and use cgi/escape for related examples
-
05:27 AM Revision 600c6165 (git): Removed CGI library without CGI::Escape features
-
05:27 AM Revision a61f51f6 (git): Use cgi/escape instead of cgi/util
-
05:27 AM Revision 56423d43 (git): Reduce loading class/module on CGIUtilTest and CGIEscapeTest
-
05:27 AM Revision 382be44f (git): Extract CGIEscapeTest from CGIUtilTest
-
05:27 AM Revision 8a1d4514 (git): Support `require 'cgi/escape'` with extracting CGI::Escape from CGI::Util
-
04:51 AM Revision c6676837 (git): Added instruction for initial setup of depend file
-
04:50 AM Bug #19387: Issue with ObjectSpace.each_objects not returning objects after starting a ractor
- I also ran into this, so I opened an pull request document this behavior.
https://github.com/ruby/ruby/pull/13278 -
03:52 AM Bug #21314 (Open): Kernel#autoload requires the wrong file (?)
- While discussing #21154 with some people at the dev meeting, I found a weird behavior of `Kernel#autoload` that's har...
-
03:43 AM Feature #21274 (Closed): Show performance warnings for easily avoidable unnecessary implicit splat allocations
-
03:18 AM Feature #21274: Show performance warnings for easily avoidable unnecessary implicit splat allocations
- This was discussed at the dev meeting, but @matz was negative about adding this warning. He prefers fluent code over ...
-
03:31 AM Feature #21307 (Assigned): A way to strictly validate time input
-
03:30 AM Feature #21307: A way to strictly validate time input
- Discussed at the dev meeting. This proposal was accepted as `struct: true` keyword argument, like
```ruby
Time.ne... -
03:19 AM Feature #21287: Remove SortedSet autoload and set/sorted_set
- Discussed at the dev meeting, and @matz said "go ahead".
05/08/2025
-
11:03 PM Bug #19408 (Closed): Object no longer frozen after moved from a ractor
- Fixed by a5ba7124bcc112f537a29564f644dea67f2b532d
-
10:43 PM Bug #17678 (Closed): Ractors do not restart after fork
- Sorry @jeremyevans0 I think Aaron and I missed that PR, but we did the same thing in https://github.com/ruby/ruby/pul...
-
08:34 PM Revision 7a660d7c (git): [DOC] Tweaks for What's Here
-
08:25 PM Bug #18119: Ractor crashes when instantiating classes
- I have a fix here: https://github.com/ruby/ruby/pull/13284
-
07:48 PM Revision b67711b1 (git): Fix `remove_instance_variable` on complex objects
- Introduced in: https://github.com/ruby/ruby/pull/13159
Now that there is no longer a unique TOO_COMPLEX shape with
n... -
06:05 PM Feature #15408: Deprecate ObjectSpace._id2ref
- @Dan0042 I think @Eregon covered what I was going to say, but I'd also like to know **why** you want `_id2ref` to sti...
-
02:47 PM Feature #15408: Deprecate ObjectSpace._id2ref
- https://byroot.github.io/ruby/performance/2025/04/26/unlocking-ractors-object-id.html explains the problems of `_id2r...
-
02:46 PM Feature #15408: Deprecate ObjectSpace._id2ref
- @Dan0042 It still is, CRuby has to keep a weak map of all objects for which the object_id was asked in case `_id2ref`...
-
01:30 AM Feature #15408: Deprecate ObjectSpace._id2ref
- The original reason to deprecate `_id2ref` is no longer relevant now that `object_id` is a monotonically-increasing I...
-
05:53 PM Revision e3452cfa (git): Raise error on take/send for Ractors in child processes
- Ractor objects that are available in a child process should raise a
`Ractor::ClosedError` exception when called with ... -
05:53 PM Revision f7ff3809 (git): Clean up Ractor cache after fork
- Ractors created in a parent process should be properly shut down in the
child process. They need their cache cleared... -
05:53 PM Revision d7ad53f2 (git): Acquire VM lock around fork
- Otherwise it might be held by another Ractor, causing a deadlock in the
new process. -
05:46 PM Revision c7508563 (git): Fix -Wreturn-type
- ../variable.c: In function ‘iterate_over_shapes_with_callback’:
../variable.c:2189:1: warning: control reaches end of... -
05:31 PM Feature #20405: Inline comments
- There seems to be some revival of this in the context of type checkers, and Hiroya Fujinami graciously asked for my o...
-
04:37 AM Feature #20405: Inline comments
- Using type checkers makes it difficult to write Ruby fluently. To make type checkers work effectively in Ruby, we nee...
-
05:13 PM Bug #20957: RangeError on Array#values_at with negative ranges
- I found almost same behavior at Array#fill
```
[0,1,2,3].fill(10, -10..-5) #=> RangeError
[0,1,2,3].fill(10, ... -
03:49 PM Bug #21267: respond_to check in Class#allocate is inconsistent
- Right.
I think it's quite valuable to make those `rb_undef_alloc_func` to avoid having to handle uninitialized objec... -
04:55 AM Bug #21267: respond_to check in Class#allocate is inconsistent
- > Or core types could actually define dup & clone as overridden methods, and not use the alloc function at all and so...
-
03:21 PM Feature #21311: Namespace on read (revised)
- I think it would be good to compare this to "isolated execution contexts" which is the well-known approach to get suc...
-
01:34 PM Feature #21311: Namespace on read (revised)
- I'll do that, thank you!
-
12:53 PM Feature #21311: Namespace on read (revised)
- fxn (Xavier Noria) wrote in #note-44:
> Congrats @tagomoris :).
>
> Would you be open to consider having the perm... -
07:32 AM Feature #21311: Namespace on read (revised)
- Congrats @tagomoris :).
Would you be open to consider having the permanent name of classes and modules be constant... -
05:23 AM Feature #21311: Namespace on read (revised)
- I added committer grants to @tagomoris. Please let me know if you have extra permission or something.
-
04:34 AM Feature #21311: Namespace on read (revised)
- > I nominate @tagomoris (Satoshi Tagomori) for committer.
+1 -
04:25 AM Feature #21311: Namespace on read (revised)
- @tagomoris Can you share your required/optional information to me? see https://github.com/ruby/ruby/wiki/Committer-Ho...
-
04:21 AM Feature #21311: Namespace on read (revised)
- Let's just merge and experiment. We won't know until we actually try it. Also, I nominate @tagomoris for committer.
... -
02:40 PM Feature #21309 (Rejected): Can Thread::Mutex be Ractor shareable?
- osyoyu (Daisuke Aritomo) wrote in #note-5:
> I am not sure about this. Sending HTTP request using net/http inside an... -
01:38 PM Feature #21309: Can Thread::Mutex be Ractor shareable?
- > if we got some shareable mutable state, then we'd need a shareable mutex
Come to think of it, I now do think tha... -
02:36 PM Revision c18bedcd (git): Remove dependency on debug_counter.h when BUILDING_MODULAR_GC
- This allows the default GC to not need debug_counter.h when building as a
modular GC. -
02:36 PM Revision 3f5080e7 (git): Stop checking for USE_DEBUG_COUNTER in default.c
- We don't need to check for USE_DEBUG_COUNTER because the code is no-op
if USE_DEBUG_COUNTER is not enabled. -
02:31 PM Revision 46a82408 (git): [DOC] Tweaks for String#-@
-
01:30 PM Misc #21290: Unable to build ruby extension on Fedora 42 due to possible GCC 15 issues
- Just adding that I am also experiencing this with ed25519 and ruby-prof, as well as appsignal.
* **Ruby Version:**... -
08:37 AM Misc #21290: Unable to build ruby extension on Fedora 42 due to possible GCC 15 issues
- I also stumbled over this issue and falsely addressed it to mongodb/bson
Here is a Dockerfile which lets you repro... -
03:03 AM Misc #21290: Unable to build ruby extension on Fedora 42 due to possible GCC 15 issues
- Hi,
I am also experiencing a similar issue when trying to install a Ruby gem with C extensions (`blurhash` and `ru... - 12:22 PM Revision 5e534849 (git): ZJIT: Temporarily revert path compression
- For reasons I don't understand yet, this causes an issue when trying to
boot yjit-bench. Temporarily revert it. -
09:59 AM Bug #21286: Windows - MSYS2 just updated to GCC 15.1.0, builds failing
- ruby_3_4 merged commit:7e44df91b6d01be68391a029997f5ccdabe80603
-
09:20 AM Revision f3006c26 (git): Add depend files under ext/-test-
-
09:07 AM Feature #21042: Add and expose Thread#memory_allocations memory allocation counters
- only 3 statistics are acceptable.
I don't want to increase more and more measurements from performance perspective. - 09:03 AM Revision a41eed99 (git): [rubygems/rubygems] Update `TarWriter` test to store mtime in a variable
- https://github.com/rubygems/rubygems/commit/0e2cec3fa3
-
09:03 AM Revision 819ecd11 (git): [rubygems/rubygems] Add mtime to Gem::Package::TarWriter#add_file argument
- Since 9e21dd9, Gem::Package::TarWriter#add_file adds the file to
the tar with Gem.source_date_epoch for its mtime.
Th... -
09:03 AM Revision 8685a81e (git): [ruby/strscan] jruby: Check if len++ walked off the end
- (https://github.com/ruby/strscan/pull/153)
Fix https://github.com/ruby/strscan/pull/152
CRuby can walk off the end ... -
09:03 AM Revision 5a0306f9 (git): [ruby/strscan] jruby: Pass end index to byteListToInum
- (https://github.com/ruby/strscan/pull/150)
These parse methods take begin and end indices, not begin and length. A
t... -
09:03 AM Revision 61b6f226 (git): [ruby/json] Constify static data in fpconv.c
- https://github.com/ruby/json/commit/3b605d9b1e
-
09:03 AM Revision 1f2a9dc2 (git): [ruby/psych] Refine Ruby 3.5 Set support.
- Use feature testing to detect native Set,
and don't rely on `Set#to_h` which wasn't intended
as a public method.
htt... -
07:50 AM Revision 49b4e035 (git): Make test/ruby/test_env.rb#test_delete_if_in_ractor easier to debug
-
07:50 AM Revision 71baa694 (git): variable.c: Fix compilation warnings
- ```
variable.c: In function ‘iterate_over_shapes_with_callback’:
variable.c:2188:1: warning: control reaches end of n... -
05:58 AM Revision cf9046c0 (git): Refactor `id_to_obj_tbl` compaction
- Use `st_foreach_with_replace` rather than to call `st_insert`
from inside `st_foreach`, this saves from having to dis... -
05:58 AM Revision 2d1241ba (git): Get rid of RB_GC_VM_ID_TO_OBJ_TABLE_KEYS
-
05:58 AM Revision f48e45d1 (git): Move `object_id` in object fields.
- And get rid of the `obj_to_id_tbl`
It's no longer needed, the `object_id` is now stored inline
in the object alongsi... -
05:58 AM Revision d34c1505 (git): shape.c: refactor frozen shape to no longer be final
- This opens the door to store more informations in shapes, such
as the `object_id` or object address in case it has be... -
05:58 AM Revision 6c9b3ac2 (git): Refactor OBJ_TOO_COMPLEX_SHAPE_ID to not be referenced outside shape.h
- Also refactor checks for `->type == SHAPE_OBJ_TOO_COMPLEX`.
-
05:58 AM Revision 0ea210d1 (git): Rename `ivptr` -> `fields`, `next_iv_index` -> `next_field_index`
- Ivars will longer be the only thing stored inline
via shapes, so keeping the `iv_index` and `ivptr` names
would be co... -
03:51 AM Feature #21274: Show performance warnings for easily avoidable unnecessary implicit splat allocations
- > The term premature optimization typically refers to cases where you optimize, and later, the optimization results i...
-
03:25 AM Feature #21274: Show performance warnings for easily avoidable unnecessary implicit splat allocations
- Dan0042 (Daniel DeLorme) wrote in #note-2:
> I appreciate the effort here, but I wonder if this might be a case of p... -
03:06 AM Feature #21274: Show performance warnings for easily avoidable unnecessary implicit splat allocations
- I appreciate the effort here, but I wonder if this might be a case of premature micro-optimization. Was there a measu...
-
03:34 AM Revision 4e30b77b (git): Added depend file for test/-ext-/econv/test_append.rb
- https://github.com/ruby/ruby/commit/ce51ef30df5bf07ec3881a377f0011b8f20ec507 broke
ext/-test-/econv/append.o. We shou... -
01:59 AM Feature #21279: Bare "rescue" should not rescue NameError
- byroot (Jean Boussier) wrote in #note-5:
> 99% of the time, when I use a bare `rescue` it's because I'll call `raise...
05/07/2025
-
05:29 PM Feature #21311: Namespace on read (revised)
- Eregon (Benoit Daloze) wrote in #note-12:
> Unless they truly need to communication at all between namespaces, but t... -
05:20 PM Feature #21311: Namespace on read (revised)
- Basically, I believe the idea is to have isolated execution contexts without forking, but is hard to achieve that by ...
-
05:18 PM Feature #21311: Namespace on read (revised)
- tagomoris (Satoshi Tagomori) wrote in #note-28:
> Mounting server-less applications (run on AWS Lambda, separated on... -
05:09 PM Feature #21311: Namespace on read (revised)
- tagomoris (Satoshi Tagomori) wrote:
> Root namespace is a unique namespace to be defined when a Ruby process starts.... -
05:07 PM Feature #21311: Namespace on read (revised)
- Aaron that is a concern I have also in mind that I have not expressed yer.
The current proposal allows access to t... -
05:01 PM Feature #21311: Namespace on read (revised)
- Eregon (Benoit Daloze) wrote in #note-12:
> * Any user-defined class instance won't be `is_a?` in another namespace ... -
04:36 PM Feature #21311: Namespace on read (revised)
- Dan0042 (Daniel DeLorme) wrote in #note-19:
> I'm not sure if this can be achieved with TruffleRuby sub-interpreters... -
02:57 PM Feature #21311: Namespace on read (revised)
- @tagomoris thanks for your replies, even more with such a busy thread :). Let me followup:
> There should be no need... -
02:24 PM Feature #21311: Namespace on read (revised)
- byroot (Jean Boussier) wrote in #note-24:
> But I'd like to hear about common green path, day to day, use cases, not ... -
02:09 PM Feature #21311: Namespace on read (revised)
- Thank you for expanding on the motivation, the design makes more sense to me now.
I'm still not convinced the trad... -
02:04 PM Feature #21311: Namespace on read (revised)
- @fxn
> So, I guess spawning does not create hierarchy. A namespace may not have a pointer to the namespace where i... -
01:48 PM Feature #21311: Namespace on read (revised)
- I'm sorry that I skipped to make effort to describe the motivation and copied the motivation section from the past ti...
-
07:08 AM Feature #21311: Namespace on read (revised)
- I have compiled the branch and I am playing around a bit with `miniruby` to test my understanding of the feature.
So... -
02:19 AM Feature #21311: Namespace on read (revised)
- FYI: you can try namespace PR on https://ruby.github.io/play-ruby/?run=14855772787&options=%7B%22arguments%22%3A%5B%5...
-
05:09 PM Feature #21254 (Closed): Inlining Class#new
- mame (Yusuke Endoh) wrote in #note-10:
> @tenderlovemaking Can we close this?
Yes, sorry. I thought I had closed ... -
06:37 AM Feature #21254: Inlining Class#new
- Note: https://github.com/ruby/ruby/pull/13080 has been merged.
-
06:36 AM Feature #21254: Inlining Class#new
- @tenderlovemaking Can we close this?
-
05:04 PM Revision 7e44df91 (git): Fix C23 (GCC 15) WIN32 compatibility for rb_define_* functions
- Backport [Bug #21286]
-
03:47 PM Revision 3e94b5f9 (git): Remove dependence on internal/hash.h for default GC
-
06:07 AM Bug #18878 (Assigned): parse.y: Foo::Bar {} is inconsistently rejected
-
05:01 AM Misc #21281: DevMeeting-2025-05-08
- * [Feature #21258] Retire CGI library from Ruby 3.5
* Can I remove CGI library without `CGI::Util` ?
* What's the...
05/06/2025
-
11:50 PM Bug #21312 (Assigned): ruby 3.5-dev installs a gemspec for rdoc that misses dependencies
-
05:46 PM Bug #21312 (Assigned): ruby 3.5-dev installs a gemspec for rdoc that misses dependencies
- Similarly to https://bugs.ruby-lang.org/issues/20581, installing ruby 3.5-dev installs a gemspec for rdoc that it's m...
-
10:35 PM Revision 4aac1506 (git): Skip an unstable Ractor test
-
10:34 PM Revision 7afa08ce (git): YJIT: End the block after OPTIMIZE_METHOD_TYPE_CALL
-
10:32 PM Bug #21310 (Feedback): YJIT optimization causes incorrect is_a? method evaluation
- I think it's most likely fixed by https://github.com/ruby/ruby/pull/13245. It's going to be shipped in the next relea...
-
01:08 AM Bug #21310 (Feedback): YJIT optimization causes incorrect is_a? method evaluation
- Our Rails application contains code like the following:
```ruby
result = a_proc.call
if result.is_a?(Result) &... -
10:32 PM Revision d6d63b27 (git): Enabled debug mode for CodeQL
-
08:00 PM Feature #21311: Namespace on read (revised)
- Agreed on all points. I have little concept of the complexity of the implementation, and defer to you on that. I th...
-
07:03 PM Feature #21311: Namespace on read (revised)
- peter.boling (Peter Boling) wrote in #note-23:
> One use case for this is to benchmark libraries that do the same ... -
06:41 PM Feature #21311: Namespace on read (revised)
- byroot (Jean Boussier) wrote in #note-13:
> > Avoiding name conflicts between libraries: Applications can require two... -
06:01 PM Feature #21311: Namespace on read (revised)
- Dan0042 (Daniel DeLorme) wrote in #note-19:
> It's not about "working around" libraries. It's about loading entirely... -
04:47 PM Feature #21311: Namespace on read (revised)
- If my interpretation is correct, the entry point of a library will be executed as many times as user namespaces requi...
-
04:38 PM Feature #21311: Namespace on read (revised)
- My interpretation of the vocabulary is as following:
1. The interpreter boots in a `root` namespace.
1. The "state" ... -
03:13 PM Feature #21311: Namespace on read (revised)
- byroot (Jean Boussier) wrote in #note-13:
> I personally see namespaces as a feature libraries can use to write more... -
02:59 PM Feature #21311: Namespace on read (revised)
- > The main and user namespaces are independent
@eregon the description says
> User namespace is a namespace to ... -
12:11 PM Feature #21311: Namespace on read (revised)
- @byroot makes a good point about use cases, I share the same concerns (and already did in https://bugs.ruby-lang.org/...
-
12:01 PM Feature #21311: Namespace on read (revised)
- Has the performance of Namespace been evaluated?
I would assume getting the current namespace to execute methods/pro... -
11:56 AM Feature #21311: Namespace on read (revised)
- (from description)
> There is no way to access App in the main namespace from the code in the different namespace ns... -
11:55 AM Feature #21311: Namespace on read (revised)
- While I believe namespaces would be a good addition to Ruby, I'm not convinced this particular implementation of
nam... -
11:52 AM Feature #21311: Namespace on read (revised)
- I think this addresses https://bugs.ruby-lang.org/issues/19744#note-74 by having a CoW copy of all builtin classes/mo...
-
11:38 AM Feature #21311: Namespace on read (revised)
- @fxn The main and user namespaces are independent, though the main namespace can refer to user namespace via `ns::Som...
-
10:18 AM Feature #21311: Namespace on read (revised)
- > having a block parameter on Namespace.new could provide similar UX without changing syntax.
That wouldn't handle... -
10:17 AM Feature #21311: Namespace on read (revised)
- > any user-defined classes/modules are not defined in the root namespace.
Ah, that is key.
So, what happens in ... -
10:01 AM Feature #21311: Namespace on read (revised)
- fxn (Xavier Noria) wrote in #note-6:
> In Ruby, objects are stored in constants. Conceptually, a constant `X` storin... -
09:22 AM Feature #21311: Namespace on read (revised)
- Thanks @tagomoris.
> Conceptually, yes. Definitions are deeply cloned. But objects (stored on constants, etc) will n... -
08:00 AM Feature #21311: Namespace on read (revised)
- fxn (Xavier Noria) wrote in #note-2:
> A few quick questions:
>
> Assuming a normal execution context, nesting at... -
07:46 AM Feature #21311: Namespace on read (revised)
- @baweaver I don't have strong opinion about adding `namespace` keyword, but having a block parameter on `Namespace.ne...
-
06:24 AM Feature #21311: Namespace on read (revised)
- A few quick questions:
Assuming a normal execution context, nesting at the top level of a file is empty. Would it be... -
05:46 AM Feature #21311: Namespace on read (revised)
- As a proof of concept this is a very valuable idea, and will give users a chance to experiment with it.
I wonder a... -
05:16 AM Feature #21311 (Open): Namespace on read (revised)
- This replaces #19744
## Concept
This proposes a new feature to define virtual top-level namespaces in Ruby. Th... -
07:45 PM Bug #21313 (Open): `it` in rescue/ensure on prism
- ```ruby
1.times do
raise
rescue
p it
#=> prism: false
#=> parse.y: 0
end
```
`it` should return 0,... -
05:13 PM Revision cb772247 (git): Improve correctness contention for allocated object counts
- Currently the count of allocated object for a heap is incremented
without regards to parallelism which leads to incor... - 03:11 PM Revision 925da368 (git): Parse topn, opt_length, opt_size into HIR
-
11:18 AM Feature #21309: Can Thread::Mutex be Ractor shareable?
- > Now, more generally, if we got some shareable mutable state, then we'd need a shareable mutex. I just haven't yet e...
-
10:14 AM Feature #21309: Can Thread::Mutex be Ractor shareable?
- I'm not sure I see the use case for `Mutex` to be shareable, at least in this specific scenario.
To take the `Time... -
08:19 AM Feature #21309: Can Thread::Mutex be Ractor shareable?
- > At least for Queue it's not that simple, because it contains objects
Indeed, you're right about Queue. I overloo... -
09:19 AM Feature #21308: Replacing the Float#to_s (dtoa.c) implementation with a modern algorithm
- The interface of `fpconv_dtoa()` looks quite different from `dtoa()` in missing/dtoa.c.
Rather `grisu2()` itself is ... -
05:23 AM Feature #19744 (Closed): Namespace on read
-
05:19 AM Feature #19744: Namespace on read
- This is replaced by #21311.
Could someone close this? -
05:06 AM Revision 1c68aae9 (git): Check LoadError first
- The message from dlerror is not our concern.
-
05:06 AM Revision 54950b1f (git): Added assertion strings with Xcode 16.3 beta
-
03:11 AM Bug #21286: Windows - MSYS2 just updated to GCC 15.1.0, builds failing
- ruby_3_3 commit:ffd469bd6d06df10057325a5b8c773fca009af8d merged revision(s) commit:719486a642f0e282b02b958069b8b39b85...
-
02:29 AM Revision ffd469bd (git): merge revision(s) 719486a642f0e282b02b958069b8b39b85b3aa1e: [Backport #21286]
- Fix C23 (GCC 15) WIN32 compatibility for rb_define_* functions
Fixes [Bug #21286]
05/05/2025
-
09:26 PM Bug #21030: Bug: #step with Range<ActiveSupport::Duration> behavior broken on Ruby 3.4.1
- I also verified the fix in 3.4.3 in my app. The behavior is correct.
-
08:09 PM Bug #21030: Bug: #step with Range<ActiveSupport::Duration> behavior broken on Ruby 3.4.1
- @jamesst20 https://github.com/ruby/ruby/commit/6d2c7d4304bbf8450d31b624f5dc40a92e44f00b is in 3.4.3 though.
And I don... -
06:44 PM Bug #21030: Bug: #step with Range<ActiveSupport::Duration> behavior broken on Ruby 3.4.1
- jamesst20 (James St-Pierre) wrote in #note-8:
> According to the changelogs for v3.4.2, this wasn't included?
>
>... -
08:35 PM Revision cbf9c088 (git): YJIT: End the block after OPTIMIZE_METHOD_TYPE_CALL (#13245)
-
08:04 PM Feature #21309: Can Thread::Mutex be Ractor shareable?
- At least for Queue it's not that simple, because it contains objects, and the invariants of Ractor (without which it ...
-
04:46 PM Feature #21309 (Rejected): Can Thread::Mutex be Ractor shareable?
- ## Background
Keeping a `Mutex` object in a constant or a class instance variable is a common pattern seen in code... -
04:04 PM Revision 4621feb6 (git): ZJIT: Use 2024 edition for rustc-only release builds
-
01:55 PM Revision e042e106 (git): vm_dump.c: avoid `USE_MN_THREADS` is not defined warning
-
01:34 PM Revision 3a2e56e6 (git): Fix `USE_MN_THREADS=0` builds on macOS
- This was recently broken.
-
12:44 PM Revision a3af4e90 (git): Make rb_shape.capacity an `attr_index_t`
-
12:44 PM Revision bbea71fa (git): variable.c: Fix too_complex shape initialization
- `SHAPE_OBJ_TOO_COMPLEX` is a `shape_type` not a `shape_id_t`.
-
12:44 PM Revision 53ae5580 (git): Improve style consistency of `rb_shape_t *`
-
10:20 AM Bug #21304 (Closed): heap-use-after-free of Array#hash via mutating hash method
- Applied in changeset commit:git|ce8f7da49e2fea995993b49aa7a26f7640c2e258.
----------
[Bug #21304] Reload length and ... -
10:20 AM Revision 5b1a61e2 (git): [ruby/digest] stringop-overread warning is since GCC 11
- https://github.com/ruby/digest/commit/d16853fe8c
-
09:40 AM Feature #21308 (Open): Replacing the Float#to_s (dtoa.c) implementation with a modern algorithm
- This is a feature request to replace Ruby's `Float#to_s` implementation with a modern high-performance float-to-strin...
-
09:25 AM Revision bbf1130f (git): Add `RBIMPL_ATTR_NONSTRING_ARRAY()` macro for GCC 15
-
05:27 AM Bug #21298: `ObjectSpace.allocation_class_path` returns inconsistent results depending on `TracePoint` state
- > Would it be possible for power_assert to avoid depending on Class#new being present in the stack trace?
I update... -
12:46 AM Revision ce51ef30 (git): Save one VALUE per embedded RTypedData
- This halves the amount of memory used for embedded RTypedData if they
are one VALUE (8 bytes on 64-bit platforms) ove...
05/04/2025
-
09:14 PM Revision 35918df7 (git): [DOC] Tweaks for String#+
-
09:14 PM Revision d2de5979 (git): [DOC] Tweaks for String#*
-
09:13 PM Revision d71e1714 (git): [DOC] Tweaks for String#%
-
01:17 PM Misc #21290: Unable to build ruby extension on Fedora 42 due to possible GCC 15 issues
- I confirm I have the same problem on arch. With multiple ruby version (3.2, 3.3, 3.4). Example of gems failing are `j...
-
07:42 AM Misc #21290: Unable to build ruby extension on Fedora 42 due to possible GCC 15 issues
- Thanks for the heads-up about using `append_flags`. I used it to fix the issue for the ed25519 gem and a new version ...
-
12:40 PM Revision ce8f7da4 (git): [Bug #21304] Reload length and pointer after `#hash` method
- The receiver can be modified during the method calls.
-
12:38 PM Bug #21267: respond_to check in Class#allocate is inconsistent
- I think it makes sense to replace or remove that "incorrect" check given it doesn't apply to `new`.
The proper fix s... -
01:19 AM Bug #21267: respond_to check in Class#allocate is inconsistent
- At RubyKaigi @byroot and I looked at this and came up with a more efficient and resilient way to do the check (https:...
-
10:43 AM Bug #21302: Remove or Fix Set#to_h
- I agree to remove it.
-
02:05 AM Bug #21301: Invalid Dates Accepted When Using "UTC" in Time.new
- Ah yeah, rolling over seconds seems trickier. I think the time with the offset doesn't have to deal with all that bec...
-
01:26 AM Misc #21281: DevMeeting-2025-05-08
- * [Feature #21267] `respond_to` check in `Class#allocate` is inconsistent
* `Class#allocate` does a slow `respond_...
Also available in: Atom