
Issue #21377 has been updated by Ethan (Ethan -). Hash, Array, and String don't say the name of the class in their inspect, though. I'm certainly in favor of `Set[1, 2, 3]` (this is an improvement I make wherever I subclass Set already), but this seems orthogonal to identifying the class of the inspected object. I don't know any classes that show a base class name instead of self.class name. Not terribly important to me since I override inspect anyway, fine by me to close if 'Set' is preferred over class name, but class name seems more correct in my opinion. ---------------------------------------- Bug #21377: core Set#inspect does not use inherited class name https://bugs.ruby-lang.org/issues/21377#change-113458 * 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/