Issue #21992 has been updated by Eregon (Benoit Daloze). nobu (Nobuyoshi Nakada) wrote in #note-1:
`BasicObject#initialize` is not defined, so "redefining" may be questionable.
It seems it is defined: ``` $ ruby -ve 'p Class.new.instance_method :initialize' ruby 3.4.9 (2026-03-11 revision 76cca827ab) +PRISM [x86_64-linux] #<UnboundMethod: BasicObject#initialize()> ``` ---------------------------------------- Bug #21992: Defining BasicObject#initialize causes segmentation fault https://bugs.ruby-lang.org/issues/21992#change-116979 * Author: petercooper (Peter Cooper) * Status: Open * ruby -v: 4.0.2 * Backport: 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED, 4.0: REQUIRED ---------------------------------------- Simplest reproduction: ``` ruby class BasicObject def initialize end end ``` In Ruby HEAD, 4.0.2, 3.4.7, and 3.3.11 on macOS, this leads to an immediate segmentation fault. I also got this on Ruby 3.4.1 on Linux. What I would expect, a warning similar to that raised if you do the same on `Object`. I couldn't find a previous mention of this. It's not something you would ever write yourself, but I guess it could arise during metaprogramming or dynamic code generation with the right (wrong) constant name in play. -- https://bugs.ruby-lang.org/