Activity
From 01/01/2026 to 01/07/2026
Today
-
03:37 PM Feature #6012: Proc#source_location also return the column
- mame (Yusuke Endoh) wrote in #note-48:
> A "use case" is the ultimate goal that the examples aim to achieve via `Method#source`.
The above snippets show examples of source transformation, instrumentation of code by adding extra code ... -
02:18 PM Feature #6012: Proc#source_location also return the column
- > A quick search shows some examples which do not use an AST:
A "use case" is the ultimate goal that the examples aim to achieve via `Method#source`.
By the way, I tried the `method_source` gem, and I noticed that it includes hered... -
12:44 PM Feature #6012: Proc#source_location also return the column
- mame (Yusuke Endoh) wrote in #note-45:
> First, I suspect that what many users of `method_source` gem actually need is the AST.
Many yes but not all, maybe even only a minority (see below).
The fact there is `Method#source` indicates th... -
12:07 PM Feature #6012: Proc#source_location also return the column
- Note that there is also an idiom like `foo(*obj.source_location)`, not just `source_location.last`. By checking the result of "gem-codesearch", we see not only `@binding.source_location` but also `@proc.source_location`. I am not sure if...
-
11:54 AM Feature #6012: Proc#source_location also return the column
- Eregon (Benoit Daloze) wrote in #note-44:
> mame (Yusuke Endoh) wrote in #note-43:
> ...
First, I suspect that what many users of `method_source` gem actually need is the AST. The proposal #21005 itself demonstrates this.
I recogniz... -
11:31 AM Feature #6012: Proc#source_location also return the column
- mame (Yusuke Endoh) wrote in #note-43:
> However, we should consider the fact that code like `source_location.last` actually exists in the wild, as RSpec fixed in advance. It seems this idiom is used in quite a few gems.
This change ... -
12:17 AM Feature #6012: Proc#source_location also return the column
- Eregon (Benoit Daloze) wrote in #note-41:
> @mame Matz explicitly approved it: https://github.com/ruby/ruby/pull/15580#issuecomment-3691058342
Ah, I missed that the PR had already been approved. Sorry about that.
However, we should con... -
03:24 PM Feature #21795: Methods for retrieving ASTs
- Thanks @mame for the detailed reply! I appreciate your thoughtfulness here.
With regard to the implementation approach problem, I love your solution of keeping a source hash on the iseq. I think that makes a lot of sense, and could be... -
11:41 AM Feature #21795: Methods for retrieving ASTs
- One idea to make it work with `--parser=parse.y` until universal parser supports the Prism API (#21825) would be to:
* Get the `RubyVM::AST::Node` of that object, then extract the start/end line & start/end columns. Or do the same inter... -
02:32 PM Feature #13683: Add strict Enumerable#single
- I don't like #sole as the method name but I can't quite explain why. I'd rather have #single or #singleton (The mathematical term for a set of one) or a two word #single_element or #one_only.
How about #one! or similar to indicate it ... -
12:08 PM Feature #13683: Add strict Enumerable#single
- +1 for `sole` (given Matz didn't like `single` and `only`).
It's clear and obvious what it does.
We could also allow it to take a block to address #18135 too:
```ruby
enumerable.sole { condition(it) }
# same as
enumerable.select ... -
12:33 AM Feature #13683: Add strict Enumerable#single
- I've only just learned that ActiveSupport introduced `Enumerable#sole` back in 2020.
https://github.com/rails/rails/pull/40914
I wish this were available in the core too. -
01:13 PM Misc #21777: DevMeeting-2026-01-14
- I plan to attend this meeting, though I will only be able to join from 15:30PM JST (= 7:30AM CET).
Would it possible to discuss the topics I added, as well as #6012 (https://bugs.ruby-lang.org/issues/21777#note-7) after that time so I c... -
11:45 AM Misc #21777: DevMeeting-2026-01-14
- * [Feature #21826] Deprecating RubyVM::AbstractSyntaxTree (eregon)
* OK to deprecate now/for 4.1? If not, when?
* And maybe remove it in 4.2?
* [Feature #21827] Deprecating Ripper (eregon)
* Removing Ripper would remove a signi... -
11:42 AM Misc #21777: DevMeeting-2026-01-14
- * [Feature #21795] Methods for retrieving ASTs (eregon)
* This seems very useful and convenient, and abstract over implementation details like `node_id` (which I think make little sense to expose to users).
* To address @mame's conce... -
12:51 AM Misc #21777: DevMeeting-2026-01-14
- * [Feature #13683] Add strict Enumerable#single (mame)
* ActiveSupport now has `Enumerable#sole`. https://github.com/rails/rails/pull/40914
* I want this on the core too. It's good that the intention of having only one is explicitly ... -
12:44 AM Misc #21777: DevMeeting-2026-01-14
- * [Feature #6012] Proc#source_location also return the column (mame)
* Quite a few gems are using the idiom `source_location.last`.
* The idiom will return a column number (of the end of the code range) instead of a line number.
... -
08:49 AM Revision 7d498380 (git): [ruby/rubygems] bin/rubocop -A
- https://github.com/ruby/rubygems/commit/e3f418aa11
- 08:49 AM Revision 3657700c (git): [ruby/rubygems] Bundler: validate more options for add sub-command
- Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/ruby/rubygems/commit/6ca2e28680 - 07:44 AM Revision 88467996 (git): [ruby/rubygems] Update custom errors with Exception#full_message
- The use of `Exception#full_message` makes more sense as it shows
the cause and the backstrace.
https://github.com/ruby/rubygems/commit/62a92c3f5e -
07:30 AM Revision e1087c12 (git): [ruby/rubygems] Fix dependency source bug in bundler
- I stumbled across a bundler bug that had me scratching my head for
awhile, because I hadn't experienced it before.
In some cases when changing the source in a gemfile from a
`Source::Gemspec` to either a `Source::Path` or `Source::Git` ... -
04:55 AM Revision 25c72b0e (git): Support customizable rustc_flags for rustc builds.
- Add `rustc_flags` option for configure that appends to RUSTC_FLAGS
flags used when compiling with rustc for customizable build flags.
It appends to existing defaults in RUSTC_FLAGS.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> -
03:20 AM Bug #21803: `Addrinfo#connect_internal` should raise `IO::TimeoutError` on user-specified timeouts
- As you pointed out, changing the exception classes raised by `TCPSocket.new` and `Socket.tcp` does have user-facing impact, and perhaps this change should have been approached more carefully.
However, I believe that the fact that Socket... -
12:58 AM Revision 1abb609d (git): [ruby/mmtk] Check that a and b are valid objects in write barrier
- https://github.com/ruby/mmtk/commit/350625ebb3
-
12:58 AM Revision 08f6b867 (git): [ruby/mmtk] Set MMTK_DEBUG in C compiler for debug builds
- https://github.com/ruby/mmtk/commit/12a3904b04
-
12:26 AM Revision a024dca3 (git): Remove `in_masgn` field from `struct iseq_compile_data`
- `in_masgn` has not been used since fb6e3a80009a744a4e0b75660f1ce6da65e20e6c.
01/06/2026
-
11:25 PM Feature #21826: Deprecating RubyVM::AbstractSyntaxTree
- I am in favor, but that's no surprise.
-
09:43 PM Feature #21826 (Open): Deprecating RubyVM::AbstractSyntaxTree
- I think it is time to deprecate `RubyVM::AbstractSyntaxTree`.
[Matz has agreed that going forward the official parser API for Ruby will be the Prism API](https://railsatscale.com/2024-04-16-prism-in-2024/) so it's clear the official Rub... -
11:05 PM Revision b2ed4cdc (git): [ruby/time] Add changelog URI to time.gemspec
- https://github.com/ruby/time/commit/08f896ca0d
-
10:16 PM Revision 5c24f408 (git): Add potential missing GC guard in iseq_data_to_ary
- The iseq object might be optimized away by the compiler in iseq_data_to_ary
because we mainly only use the iseq_body. With MMTk, this crash occasionally
happens:
TestIseqLoad#test_stressful_roundtrip [test/-ext-/iseq_load/test_iseq_... -
10:13 PM Revision 58fb95af (git): [DOC] Harmonize #== methods (#15805)
-
10:02 PM Feature #21827 (Open): Deprecating Ripper
- I think it is time to consider deprecating `Ripper`.
[Matz has agreed that going forward the official parser API for Ruby will be the Prism API](https://railsatscale.com/2024-04-16-prism-in-2024/) so it's clear the official Ruby parsing... -
09:31 PM Misc #21825 (Open): Status of the universal parser implementing the Prism API
- I'm opening this issue to discuss and ask the status of the universal parser implementing the Prism API.
[Matz has agreed that going forward the official parser API for Ruby will be the Prism API](https://railsatscale.com/2024-04-16-p... -
09:07 PM Feature #21795: Methods for retrieving ASTs
- I think this would be great to have, and abstract over implementation details like `node_id`.
It's also very powerful as e.g. `Thread::Backtrace::Location#ast` would be able to return a `Prism::CallNode` with all the relevant information... -
08:37 PM Bug #21320: Namespaces leak with constant lookup
- Awesome, thank you @tagomoris!
-
08:35 PM Bug #21318: Namespaces leak with Module.nesting
- Great, thank you!
-
08:12 PM Bug #21719: Thread deadlock with explicit require of a base clase in Linux Ruby 3.4
- Here's my understanding of the issue after debugging it for a bit. This is based on `mame`'s code:
A: main thread
B: other thread
1. `A` calls `require` on `"./target"`, which locks the thread shield (TS) for the `"./target"` feature, ... -
07:43 PM Feature #6012: Proc#source_location also return the column
- Re `Binding#source_location` I don't think it's very useful to have given `Kernel#binding` seems to just return the location at which it was called, but not of the surrounding method/block:
```
$ ruby -e 'def foo
p binding.source_locat... -
05:52 PM Feature #6012 (Closed): Proc#source_location also return the column
- @mame Matz explicitly approved it: https://github.com/ruby/ruby/pull/15580#issuecomment-3691058342
And he also made it clear it was just too late in the release cycle to address #21783 and #21784, see https://bugs.ruby-lang.org/issues/60... -
04:41 AM Feature #6012 (Open): Proc#source_location also return the column
- @eregon Why was this re-merged?
The first two issues raised in #note-32 (re-listed below) have not yet been resolved.
mame (Yusuke Endoh) wrote in #note-32:
> * Unclear use cases
> ...
In addition, as pointed out by @vo.x:
htt... -
07:29 PM Feature #21800: `Dir.foreach` and `Dir.each_child` to optionally yield `File::Stat` object alongside the children name
- Hi there!
@byroot knows this, but for anyone reading, Zeitwerk essentially scans the file system and sets autoloads for the expected constants.
This feature is going to be great. As in the general case described in the issue descriptio... -
06:36 PM Bug #21803: `Addrinfo#connect_internal` should raise `IO::TimeoutError` on user-specified timeouts
- For what it's worth, changing the exception class is a breaking change (unless IO::TimeoutError is made to inherit from `Errno::ETIMEDOUT`, but it already inherits from `IOError`).
For instance https://github.com/redis-rb/redis-client... -
05:09 PM Revision 49ca241d (git): Show a more verbose message if BASERUBY is too old
-
09:58 AM Feature #8948: Frozen regex
- headius (Charles Nutter) wrote in #note-37:
> I am also +1 for this change.
> ...
Thank you for the support.
> However I understand the concerns about making a mutable type suddenly immutable when it has provably been used for a few... -
09:37 AM Revision 925d0410 (git): Add `rake` target to run the bundled `rake`
- 09:30 AM Revision bff7c6d9 (git): [DOC] Fix minor typo on shareable procs section
-
04:47 AM Bug #21168: Prism doesn't require argument parentheses (in some cases) when a block is present but parse.y does
- Updated [the PR](https://github.com/ruby/ruby/pull/15217) to reject `a[cmd 1, 2 do end]`, `a[cmd 1, 2 do end] = 3` and so on, based on https://bugs.ruby-lang.org/issues/21168#note-10.
-
04:38 AM Revision ad6b8545 (git): [ruby/rubygems] Retain current bundler version on `bundle clean`
- Previously: In #9218 a reproduction is shared where running `bundle clean` using a binstub (`bin/bundle`) results in bundler removing itself. This results in Ruby falling back to its default bundler version. This behavior seems to be pre...
-
04:38 AM Revision 4377249b (git): [ruby/rubygems] Test for removing current bundler version
- https://github.com/ruby/rubygems/commit/675342e6d0
-
04:38 AM Revision 16bdfa1b (git): [ruby/rubygems] Split logic to two lines
- https://github.com/ruby/rubygems/commit/5a6eca4cf9
- 04:38 AM Revision 3143543f (git): [ruby/rubygems] Compare like values in find_bundler
- The input to this method is not guaranteed to be a string, it could be a `Gem::Version` this normalizes the comparison.
https://github.com/ruby/rubygems/commit/1f43c7a988 -
04:07 AM Revision 1b476606 (git): Update the latest versions of actions
- 02:42 AM Revision 95f2c78f (git): Bump dependabot/fetch-metadata from 2.4.0 to 2.5.0
- Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compar...
01/05/2026
-
11:31 PM Revision 5d26a2ae (git): [ruby/mmtk] Assert pinning object is not moved
- https://github.com/ruby/mmtk/commit/8813e76bf8
-
11:30 PM Revision dd67874a (git): [DOC] Harmonize #=== methods
-
11:23 PM Revision a25f4689 (git): [DOC] Harmonize #>= methods
-
10:08 PM Revision c04363c0 (git): Remove k0kubun from CODEOWNERS
- nagachika will take over the maintenance of ruby_3_4 going forward.
-
09:47 PM Revision be5d24eb (git): Add k0kubun as CODEOWNERS
-
09:42 PM Revision e7b92abf (git): ruby-bench: Prefer --excludes over rm -rf
- to remind us of skipped benchmarks in the CI job names
-
09:41 PM Revision 34aa97ed (git): Disabled to run lobsters benchmark because it didn't work with Ruby 4.1 yet
-
09:33 PM Revision 7a1180af (git): ruby-bench: Prefer --excludes over rm -rf
- to remind us of skipped benchmarks in the CI job names
-
09:21 PM Revision d555ddcf (git): uutils-coreutils 0.5.0 has been removed uutils wrapper
-
09:15 PM Feature #8948: Frozen regex
- I am also +1 for this change.
In general I'd like to see a steady progression toward more frozen-by-default core types, especially when the need for mutability is as questionable as the examples given here.
However I understand the... - 09:00 PM Revision 9b2ff68f (git): Box: skip checking the current box is the root box
- Because checking the current box is not a cheap process.
- 09:00 PM Revision b3371c6a (git): Box: allocate classes as boxable when it happens in the root box
- Without this change, classes (including iclass) are allocated
as un-boxable classes after initializing user boxes (after starting
script evaluation). Under this situation, iclasses are created as
un-boxabled class when core modules are i... -
08:58 PM Bug #21824: performance regression in regexp matching after update to 4.0
- To clarify: when testing on a Ruby version built from the commit before 981ee02c7c664f19b983662d618d5e6bd87d1739 (i.e. a6379032ee98bc43fb68ce7a6c186f3512558ce0), the test runs as fast as on 3.4. When testing on 981ee02c7c664f19b983662d61...
-
08:52 PM Bug #21824 (Open): performance regression in regexp matching after update to 4.0
- TLDR: a change in the regexp algorithm in regcomp.c merged around October was supposed to speed up the matching, but it seems it has slowed it down more in practice.
===
I'm running a service written in Ruby which serves some numbe... -
08:16 PM Revision 23765a5e (git): ZJIT: Update Iongraph (#15806)
- Fix some rendering bugs and remove React.
-
05:19 PM
Bug #21812 (Closed): Kernel#sleep without arguments returns immediately when subprocess exits in another thread (regression in Ruby 4.0)
- Applied in changeset commit:git|7e81bf5c0c8f43602e6d901f4253dca2f3d71745.
----------
Fix sleep spurious wakeup from sigchld (#15802)
When sleeping with `sleep`, currently the main thread can get woken up from sigchld
from any thread (s... -
04:20 PM Bug #21812: Kernel#sleep without arguments returns immediately when subprocess exits in another thread (regression in Ruby 4.0)
- @mame Yes no problem, I have a fix coming. Thanks for the bisect btw, it saved me quite a bit of time 😊
- 05:18 PM Revision 7e81bf5c (git): Fix sleep spurious wakeup from sigchld (#15802)
- When sleeping with `sleep`, currently the main thread can get woken up from sigchld
from any thread (subprocess exited). The timer thread wakes up the main thread when this
happens, as it checks for signals. The main thread then executes... - 08:11 AM Revision c65a5548 (git): Update box.md
- "Code" (when used to refer to what we create in Ruby or any other programming language) is an abstract non-count noun, so it cannot be pluralized. ("Codes" would be used when referring to specific countable things like PIN codes, which ...
-
07:47 AM Revision 32674606 (git): Update bindgen
-
07:47 AM Revision 28b0e512 (git): [Bug #18433] Remove unneeded declaration
- This `rb_cObject` declaration was only for `rb_cData()` that was
removed at 7c738ce5e649b82bdc1305d5c347e81886ee759a. -
07:22 AM Revision d3ecd9d2 (git): [ruby/rubygems] Lock minitest ~> 5.1
- https://github.com/ruby/rubygems/commit/7b9bfb4e18
-
07:22 AM Revision b87b6edf (git): [ruby/rubygems] Update vendored net-http to 0.9.1
- https://github.com/ruby/rubygems/commit/12072e8d23
-
07:22 AM Revision 8c8561ad (git): [ruby/rubygems] Update vendored connection_pool to 2.5.5
- https://github.com/ruby/rubygems/commit/4c1eb2b274
-
07:22 AM Revision 05f791bf (git): [ruby/rubygems] rake update
- https://github.com/ruby/rubygems/commit/aa7632161e
-
04:48 AM Revision 99bd18b5 (git): Unskip RBS test on Windows for NoMemoryError workaround
- test-unit 3.7.7 has been fixed this problem.
See also:
https://github.com/test-unit/test-unit/releases/tag/3.7.7 -
02:49 AM Revision e6762d23 (git): [DOC] Fix a typo and trim trailing whitespace per .editorconfig
-
02:32 AM Revision 01e8b38f (git): Use RUBY_VERSION in specs instead of hardcoded 'Ruby 4.0.0' to make tests version-independent
-
02:10 AM Feature #21822: Expose Return Value in the ensure Block
- https://github.com/nobu/ruby/tree/retval-in-ensure
-
12:58 AM Revision 699813b6 (git): [ruby/rubygems] Remove date require from rebuild command
- As far as I can see, this isn't used.
https://github.com/ruby/rubygems/commit/67c97e7180
01/04/2026
-
05:26 PM Revision 7d5c0247 (git): Dump fstr and frozen status in rb_raw_obj_info_buitin_type
-
05:13 PM Revision 6eadc01c (git): Fix condition for UTF-8 default in magic_comment_spec.rb
-
05:10 PM Revision 9888a3e8 (git): UNIXSocket#recvfrom only returns the path on Linux
- * Notably it does not on BSD, macOS and Windows.
-
03:05 PM Bug #21823 (Open): $! is nil inside rescue block when $! is accessed before raise in Ruby::Box
- ## Description
When Ruby::Box is enabled (`RUBY_BOX=1`), accessing `$!` before a `raise` statement causes `$!` to be `nil` inside the subsequent `rescue` block, instead of containing the raised exception.
## Reproduction
`... -
03:04 PM Revision 2bf95430 (git): Remove assertion which does not hold
- * https://github.com/ruby/ruby/actions/runs/20694508956/job/59407571754
1)
UNIXSocket.pair emulates unnamed sockets with a temporary file with a path FAILED
Expected "C:\\a\\_temp\\102424668889-2384.($)".match? /\\AppData\\Local\\T... -
02:39 PM Revision e79f8974 (git): Get better error if UNIXSocket.socketpair spec fails
-
02:36 PM Revision 29e7973e (git): Update to ruby/spec@94dbd55
-
02:02 PM Revision 6939f03f (git): Add field handle_weak_references to TypedData
- This commit adds a field handle_weak_references to rb_data_type_struct for
the callback when handling weak references. This avoids TypedData objects
from needing to expose their rb_data_type_struct and weak references function. -
01:53 PM Revision 1b3382cb (git): Update to ruby/spec@f54296d
-
01:37 PM Bug #21702 (Open): `UNIXSocket` on Windows: suprising results in `#recvfrom` and `#remote_address`
- @nobu Please check my previous comment
-
07:01 AM Revision 18672b39 (git): [DOC] Add `base-url` to ChangeLog by default
- It is used to expand repository references to URL.
- 06:56 AM Revision 912cf819 (git): [ruby/openssl] Improve Argument Error Message in EC:Group.new
- Before, passing the wrong number of arguments (e.g., 2) to
OpenSSL::PKey::EC::Group.new raised a generic "wrong number of
arguments"
error.
This change updates it to show the actual argument count and the
expected
options (1 or 4), maki... -
03:53 AM Revision ca0fece5 (git): [DOC] Tweak an example in language/box.md
- Although the example code comments indicate that it returns `false`,
a non-matching result for `=~` is actually `nil`.
```ruby
Foo.foo.blank? #=> false
"foo".blank? #=> false
```
https://github.com/ruby/ruby/blob/v4.0.0-preview3/doc/... -
03:52 AM Revision d8d41d74 (git): [DOC] Use `Ruby::Box#require_relative` in box.md examples
- Based on the example, it appears that `foo.rb` and `main.rb` are expected to be in the same directory.
Since Ruby 1.9, the current directory is not included in `$LOAD_PATH` by default.
As a result, running `box.require('foo')` as shown i... -
01:26 AM Revision 5064af7e (git): [ruby/mmtk] Process obj_free candidates in parallel
- Redos commit 544770d which seems to have accidentally been undone in b27d935.
01/03/2026
-
07:58 PM Misc #21777: DevMeeting-2026-01-14
- * [Feature #21264] Extract Date library from Ruby repo in the future (jeremyevans0)
* Do we want to extract `date` to bundled gems?
* I'm fine keeping it as stdlib, and if it needs a maintainer, I volunteer to maintain it.
* If ... -
09:22 AM Misc #21777: DevMeeting-2026-01-14
- * [Feature #21800] `Dir.foreach` and `Dir.each_child` to optionally yield `File::Stat` object alongside the children name (byroot)
* It's common for development tools to need to recursively scan the file system, but it's slower than i... -
07:55 PM Feature #21264: Extract Date library from Ruby repo in the future
- I've been thinking more about this. If we want to move `date` from stdlib to bundled gems, I still think it would be best to have a subset of the current `Date` as be a core class. `Date` is very widely used, but the vast majority of usa...
-
03:53 PM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
- I have another PR that allow Backtrace objects to be duped, hence to send them across Ractors: https://github.com/ruby/ruby/pull/15795
-
11:25 AM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
- > I'm not sure if there is a way to allow an object to be copied without defining an allocator function.
So I experimented with this a bit. It wouldn't be hard at all to disable `Class#allocate` while still allowing `rb_obj_dup` etc t... -
10:28 AM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
- > https://github.com/ruby/ruby/pull/15790 fixes the make_shareable.
Actually, might be more tricky than that. `Backtrace` object have two lazily instantiated mutable arrays (`backtrace` and `backtrace_locations`). So if we mark them ... -
03:43 PM Revision a0c483fc (git): Also output GC thread backtrace in rb_mmtk_gc_thread_bug
-
03:43 PM Revision 5b87294d (git): Add rb_gc_print_backtrace
-
10:11 AM Feature #21822 (Open): Expose Return Value in the ensure Block
I'd like to propose a simple feature that allows easy access to the return value inside an ensure block.
```ruby
begin
# ...
ensure => ret
# ret is nil if an exception is raised
LOGGER.debug "return value: #{ret}"
en...-
10:10 AM Feature #21821: Add Stack and SizedStack classes
- > I think it will depend on what you achieve with Stack.
Yes, the point is to use it in cases where synchronization is needed, hence Array is not suitable. Typically connection pools: https://github.com/mperham/connection_pool/blob/8b... -
09:35 AM Feature #21821: Add Stack and SizedStack classes
- byroot (Jean Boussier) wrote:
> Currently `Queue` and `SizedQueue` are technically defined under `Thread` and aliased in `Object`.
> ...
I think it will depend on what you achieve with `Stack`.
If you want to use it for inter thread... -
09:12 AM Feature #21821 (Open): Add Stack and SizedStack classes
- ### Context
`Queue` and `SizedQueue` are very useful and performant constructs, however they only allow for FIFO queues.
Some use cases do call for LIFO queues AKA stacks.
For instance, in the case of connection pool, it's often p... -
09:12 AM Revision 65f9c4a0 (git): Drop memberless Data/Struct#inspect trailing space
- Anonymous memberless Structs and Data were returning `#<struct >` and
`#<data >` with a trailing space. Now they return `#<struct>` and
`#<data>` to match attrless class behavior and look a bit more compact. -
09:06 AM Feature #21788: Promote Thread::Monitor to a core class
- > the point is MonitorMixin seems well done and core-worthy.
Yeah, I don't think I agree with this. I never use it because including it expose a bunch of `mon_*` public methods that nobody ever use.
At the end of the day 99% of Monit... - 08:30 AM Revision b6463d59 (git): [ruby/json] Directly write to the output buffer when converting UTF32 to UTF8.
- https://github.com/ruby/json/commit/a51317c949
-
06:45 AM Bug #21819 (Closed): A Data object should be frozen even if it has no members
- Applied in changeset commit:git|d7a6ff8224519005d2deeb3f4e98689a8a0835ad.
----------
[Bug #21819] Data objects without members should also be frozen -
06:11 AM Bug #21819: A Data object should be frozen even if it has no members
- [GH-15792](https://github.com/ruby/ruby/pull/15792)
-
02:19 AM Bug #21819 (Closed): A Data object should be frozen even if it has no members
- Data objects with at least one member are currently automatically frozen on construction, and shareable if all members are shareable. However, a Data object with no members is not frozen on construction. I would expect such an object sim...
-
06:03 AM Revision d7a6ff82 (git): [Bug #21819] Data objects without members should also be frozen
-
04:28 AM Revision a8a989b6 (git): Test net-imap with ruby/net-imap#593
- Delete test/net/imap/test_data_lite.rb, because the target of this
test file has been deleted by [ruby/net-imap#543].
[ruby/net-imap#543]: https://github.com/ruby/net-imap/pull/593 -
03:20 AM Bug #21820 (Open): "vm_call_cfunc: cfp consistency error" occurs during rdoc generation when installing Ruby 4.0.0 via rbenv on Ubuntu 24.04
- This is transferred from https://github.com/rbenv/ruby-build/discussions/2594#discussioncomment-15394211
# My environment
``` shell
[sue445@sue445-win] [12-31 23:34:49] $ lsb_release -a
No LSB modules are available.
Distributor ID... -
12:02 AM Revision 2f4119ea (git): [ruby/mmtk] Use rb_mmtk_gc_thread_bug for rb_mmtk_call_object_closure
- https://github.com/ruby/mmtk/commit/308936296a
-
12:02 AM Revision 60d9b10d (git): [ruby/mmtk] Propagate crash of GC thread to mutator thread
- This allows the mutator thread to dump its backtrace when a GC thread crashes.
https://github.com/ruby/mmtk/commit/40ff9ffee7
01/02/2026
-
11:07 PM Revision 16feb46f (git): Convert Queue and SizedQueue to rb builtin
- A large part of `thread_sync.c` was migrated already, might as well
go all the way. It also allow to remove a bunch of Rdoc commands. -
09:58 PM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
- https://github.com/ruby/ruby/pull/15790 fixes the `make_shareable`. As for sending, I'm not sure if there is a way to allow an object to be copied without defining an allocator function.
-
09:49 PM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
- > Is this intentional?
I don't think so, more of an oversight. Looking at the implementation, I don't see a reason why it couldn't be marked as FROZEN_SHAREABLE. -
07:02 PM Bug #21818 (Open): Thread backtraces cannot be communicated over Ractor ports
- It looks like Thread::Backtrace is confined to the Ractor that produced it: it cannot be copied or moved to another Ractor, nor can it be made shareable. This makes it difficult for a Ractor to communicate exceptions (e.g. the reason for...
-
08:42 PM Revision e7695ba3 (git): [ruby/mmtk] Check for T_NONE during marking
- https://github.com/ruby/mmtk/commit/c3e338bb25
-
05:58 PM Revision 31fb970c (git): [ruby/mmtk] Assert target is not pinned during normal tracing
- https://github.com/ruby/mmtk/commit/58210c88ed
-
03:59 PM Revision c47a8052 (git): Add a test case for complex argument forward reference
- Using `eval` it's possible to reference a later argument, and
this requires careful initialization of the stack. -
03:59 PM Revision 15968534 (git): Skip initializing optional arguments to `nil`
- They are optional because they have a default value, so I don't
understand why we'd need to initialize them to nil. -
01:54 PM Revision b9819ad0 (git): Register a dupped identity hash as pinning
-
12:51 PM Revision 177949c8 (git): Speedup Queue initialization
- Rather than to push items one by one we can directly memcpy.
- 08:43 AM Revision 11165495 (git): [ruby/rubygems] Bump the rb-sys group across 2 directories with 1 update
- Bumps the rb-sys group with 1 update in the /test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib directory: [rb-sys](https://github.com/oxidize-rb/rb-sys).
Bumps the rb-sys group with 1 update in the /test/rubygems/t... - 06:55 AM Revision 0ec5678c (git): Update bundled gems list as of 2026-01-02
-
04:13 AM Revision dd34d627 (git): Extract git version only
- The version message may contain other info such as the distribution.
e.g.:
```console
$ /usr/bin/git --version
git version 2.50.1 (Apple Git-155)
``` -
02:40 AM Revision 0e9d6989 (git): Prefer dedicated assertions
-
01:17 AM Bug #21817 (Assigned): Ruby::Box crashes with refinement + bind_call + Symbol#to_proc combination
01/01/2026
-
02:03 PM Revision acda63de (git): [ruby/mmtk] Format imports to be each on a new line
- https://github.com/ruby/mmtk/commit/42adba630e
-
12:30 PM Revision 26a5bcd6 (git): [ruby/prism] Fix spacing in the generated #each_child_node
- https://github.com/ruby/prism/commit/91f60cb736
-
09:20 AM Revision 8ce61f90 (git): Thread::Queue use a ring buffer
- Thread::Queue spends a significant amount of time in array functions,
checking for invariants we know aren't a problem, and whether the backing
array need to reordered.
By using a ring buffer we can remove a lot of overhead (~23% faster... -
02:57 AM Revision 41292562 (git): Use STR_SET_SHARED in str_duplicate_setup_heap
- str_duplicate_setup_heap is missing a call to rb_gc_register_pinning_obj
that STR_SET_SHARED correctly calls. -
01:00 AM Revision ea05c23e (git): Extract `RBIMPL_TYPEDDATA_PRECONDITION`