[#121791] [Ruby Bug#21298] `ObjectSpace.allocation_class_path` returns inconsistent results depending on `TracePoint` state — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #21298 has been reported by mame (Yusuke Endoh).

6 messages 2025/05/01

[#121830] [Ruby Feature#21309] Can Thread::Mutex be Ractor shareable? — "osyoyu (Daisuke Aritomo) via ruby-core" <ruby-core@...>

Issue #21309 has been reported by osyoyu (Daisuke Aritomo).

11 messages 2025/05/05

[#121837] [Ruby Feature#21311] Namespace on read (revised) — "tagomoris (Satoshi Tagomori) via ruby-core" <ruby-core@...>

Issue #21311 has been reported by tagomoris (Satoshi Tagomori).

109 messages 2025/05/06

[#121941] [Ruby Bug#21315] Finalizers violate the `rb_ractor_confirm_belonging` assertion — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #21315 has been reported by byroot (Jean Boussier).

8 messages 2025/05/09

[#121950] [Ruby Bug#21316] Namespaces leak with permanent names — "fxn (Xavier Noria) via ruby-core" <ruby-core@...>

Issue #21316 has been reported by fxn (Xavier Noria).

10 messages 2025/05/09

[#121956] [Ruby Bug#21321] Namespaces do not support extending mixins — "fxn (Xavier Noria) via ruby-core" <ruby-core@...>

Issue #21321 has been reported by fxn (Xavier Noria).

8 messages 2025/05/09

[#121973] [Ruby Bug#21322] Namespaces and builtin classes as arguments and return values — "fxn (Xavier Noria) via ruby-core" <ruby-core@...>

Issue #21322 has been reported by fxn (Xavier Noria).

8 messages 2025/05/10

[#122054] [Ruby Bug#21333] heap-use-after-free caused by rehash during update — "cyruscyliu (Qiang Liu) via ruby-core" <ruby-core@...>

Issue #21333 has been reported by cyruscyliu (Qiang Liu).

9 messages 2025/05/13

[#122086] [Ruby Bug#21337] Using `not` on the RHS of a logical operator becomes valid syntax with Prism — "koic (Koichi ITO) via ruby-core" <ruby-core@...>

Issue #21337 has been reported by koic (Koichi ITO).

7 messages 2025/05/14

[#122101] [Ruby Bug#21340] Bump autoconf version to properly handle C23 bool/stdbool defines — "christo (Chris Alberti) via ruby-core" <ruby-core@...>

Issue #21340 has been reported by christo (Chris Alberti).

12 messages 2025/05/14

[#122114] [Ruby Bug#21341] `Namespace is not a module (TypeError)` without enabling the namespace — "yahonda (Yasuo Honda) via ruby-core" <ruby-core@...>

Issue #21341 has been reported by yahonda (Yasuo Honda).

7 messages 2025/05/15

[#122121] [Ruby Bug#21342] Segfault: invalid keeping_mutexes when using Mutex in Thread then Fiber after GC — "maciej.mensfeld (Maciej Mensfeld) via ruby-core" <ruby-core@...>

Issue #21342 has been reported by maciej.mensfeld (Maciej Mensfeld).

11 messages 2025/05/15

[#122154] [Ruby Feature#21346] Introduce `String#ensure_suffix` — "matheusrich (Matheus Richard) via ruby-core" <ruby-core@...>

Issue #21346 has been reported by matheusrich (Matheus Richard).

21 messages 2025/05/16

[#122164] [Ruby Feature#21347] Add `open_timeout` as an overall timeout option for `Socket.tcp` — "shioimm (Misaki Shioi) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMzQ3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHNoaW9pbW0gKE1pc2FraSBTaGlvaSku

9 messages 2025/05/17

[#122184] [Ruby Misc#21350] Bundled gems lack online documentation — "osyoyu (Daisuke Aritomo) via ruby-core" <ruby-core@...>

Issue #21350 has been reported by osyoyu (Daisuke Aritomo).

8 messages 2025/05/18

[#122218] [Ruby Bug#21357] Crash in Hash#merge! with ruby-dev in rubocop-rspec test suite — "Earlopain (Earlopain _) via ruby-core" <ruby-core@...>

Issue #21357 has been reported by Earlopain (Earlopain _).

7 messages 2025/05/21

[#122228] [Ruby Feature#21359] Introduce `Exception#cause=` for Post-Initialization Assignment — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMzU5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh

9 messages 2025/05/22

[#122242] [Ruby Feature#21365] Add `Namespace#eval` — "tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>

Issue #21365 has been reported by tenderlovemaking (Aaron Patterson).

12 messages 2025/05/22

[#122258] [Ruby Misc#21367] Remove link to ruby-doc.org from www.ruby-lang.org/en/documentation/ — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>

Issue #21367 has been reported by p8 (Petrik de Heus).

11 messages 2025/05/23

[#122277] [Ruby Bug#21371] Proposal to Remove SPARC Architecture Support from Ruby — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMzcxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh

10 messages 2025/05/24

[#122343] [Ruby Misc#21385] Namespace: Suggesting a rename — "fxn (Xavier Noria) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMzg1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGZ4biAoWGF2aWVyIE5vcmlhKS4NCg0K

32 messages 2025/05/30

[#122345] [Ruby Feature#21386] Introduce `Enumerable#join_map` — "matheusrich (Matheus Richard) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxMzg2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG1hdGhldXNyaWNoIChNYXRoZXVzIFJp

12 messages 2025/05/30

[ruby-core:121794] [Ruby Misc#21299] Proposal: Remove `continuation` gem

From: "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date: 2025-05-01 17:54:45 UTC
List: ruby-core #121794
Issue #21299 has been updated by mame (Yusuke Endoh).

Status changed from Open to Closed

Please don't take callcc away from Ruby.

I would like to express my strong and careful opposition to the proposal to remove `Kernel#callcc` from Ruby. The proposal may seem minor to some, but to me, it would take away something quietly powerful and meaningful.

Here's why I believe `callcc` should stay.

## 1. `callcc` is an example of the soul of Ruby's expressive freedom

Ruby is not just a practical language; it's a language of joy, curiosity, and freedom. While I agree that `callcc` should not be used in most production code today, it is a rare and beautiful tool that shows what Ruby can do when it stretches.

Ruby has always prided itself on expressive freedom and linguistic diversity. I believe `callcc` is a small but symbolic part of that spirit.

## 2. Educational and research value

Continuations are one of the essential topics in programming language theory. They are very much alive in textbooks, lectures, university courses, and online materials that explore language design and control flow.

Many textbooks, lecture slides, blogs, and academic papers contain Ruby sample code using `callcc`. If this feature is removed, these resources will no longer work as-is, resulting in a subtle but real loss of educational compatibility. This could undermine Ruby's usefulness in academic and exploratory learning contexts.

That's not just a technical loss. It's a cultural one.

## 3. A foundation for experimentation and extension

Though rare in practical use, low-level features like `callcc` serve another important role: they enable experimentation.

>>From custom control structures and coroutine implementations to experimental asynchronous models, `callcc` has historically been used as a flexible foundation for building and exploring such constructs. Even if not widely used, its presence preserves the possibility of exploration, which is very much in line with Ruby's identity as a fun and expressive language.

Languages grow not only by trimming, but also by leaving space for the unexpected.

## 4. Once it's gone, we may not get it back

Removing features isn't just subtraction -- it's amputation. Even a niche, lightly-used feature like `callcc` is part of Ruby's story. Once it's removed, bringing it back would be difficult, and the community knowledge around it would fade.

While simplification and maintenance are important, we must not ignore the invisible value of historical, philosophical, and educational richness that would be lost along the way.

We should always ask: Is the gain really worth what we lose? In this case, I believe the answer is no.


## Conclusion

`callcc` is not primarily for production code. It exists for education, research, experimentation, and the spirit of expressive programming. Retaining it means preserving an important facet of Ruby's personality.

That is why I say a wholehearted **NO** to its removal.

---

*Note: This proposal is a duplicate of [Feature #10548](https://bugs.ruby-lang.org/issues/10548), where a discussion has already taken place. So I close this ticket as a duplicate.

----------------------------------------
Misc #21299: Proposal: Remove `continuation` gem
https://bugs.ruby-lang.org/issues/21299#change-112859

* Author: ianks (Ian Ker-Seymer)
* Status: Closed
----------------------------------------
Continuations have been obsolete since Ruby 2.2 but still add complexity to the core codebase. I propose removing all continuation support from Ruby Core.


### Reasons

#### Simplifies fiber code  
- Current fiber code in `cont.c` is complicated by shared logic with continuations
- Removing continuations will simplify stack management, context switching, and reduce edge cases
- Ultimately leading to: cleaner code, easier maintenance, possible performance improvements

#### Low compatibility risk
- Major libraries (e.g., [Metasploit](https://github.com/rapid7/metasploit-framework/pull/2413)) stopped using continuation years ago
- Projects needing this functionality have found workarounds (e.g., hyperion_http simulates `callcc`)
- [TruffleRuby does not support continuations](https://github.com/oracle/truffleruby/blob/ac88a0fe68bf957f75af7d316594b89731fdec4e/lib/truffle/continuation.rb#L23), yet maintains high compatibility


### Proposed steps
1. Remove the continuation gem from default gems.
2. Delete all continuation-specific code in `cont.c`.
3. Add a stub gem that raises an exception if continuations are used.
4. Optionally document alternative approaches for users who still need this feature.




-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread

Prev Next