From: "znz (Kazuhiro NISHIYAMA) via ruby-core" Date: 2023-08-08T08:52:44+00:00 Subject: [ruby-core:114357] [Ruby master Bug#19833] Superclass of BasicObject is broken. Issue #19833 has been updated by znz (Kazuhiro NISHIYAMA). I can reproduce since 3.2. ``` $ docker run --platform linux/amd64 --rm -it ghcr.io/ruby/all-ruby env LANG=C.UTF-8 ALL_RUBY_SINCE=ruby-1.9 ./all-ruby -e 'class BasicObject; include ::Module.new; p superclass; end' ruby-1.9.0-0 nil ... ruby-3.2.0-preview1 nil ruby-3.2.0-preview2 16 ... ruby-3.3.0-preview1 16 ``` ---------------------------------------- Bug #19833: Superclass of BasicObject is broken. https://bugs.ruby-lang.org/issues/19833#change-104099 * Author: ksss (Yuki Kurihara) * Status: Open * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-08-08T00:21:45Z master 69292676a2) [arm64-darwin22] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- I encountered a phenomenon where a non-class object appeared in the superclass of BasicObject. The minimum reproduction code is below. ```rb module Mod end BasicObject.include Mod # or BasicObject.prepend Mod p BasicObject.superclass #=> 2431129 or false ``` I think it is a practical problem because I found it by running code that monitors `singleton_method_added` as follows. https://github.com/ksss/orthoses/blob/341019c78ba625bc5d36c0f359c7d88621990f78/lib/orthoses/lazy_trace_point.rb#L35-L48 -- 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/postorius/lists/ruby-core.ml.ruby-lang.org/