
Issue #21377 has been updated by Eregon (Benoit Daloze). Agreed, if the `inspect` shows the class name, it should show `obj.class.name`, not some superclass which would be very confusing. Otherwise all objects with default inspect would be `#<Object: ..>` and that would be no good. ---------------------------------------- Bug #21377: core Set#inspect does not use inherited class name https://bugs.ruby-lang.org/issues/21377#change-113473 * Author: Ethan (Ethan -) * Status: Open * ruby -v: ruby 3.5.0dev (2025-05-26T17:42:35Z master 909a0daab6) +PRISM [x86_64-darwin22] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- Following #21216, Set#inspect stopped using self.class.name and just uses 'Set' now. ```ruby class MySet < Set; end MySet.new.inspect # before: #<MySet: {}> # now: #<Set: {}> ``` -- https://bugs.ruby-lang.org/