Issue #6130 has been updated by drbrain (Eric Hodel).


If there are no objections I will commit this Monday (unless Benoit gets a commit bit sooner)
----------------------------------------
Feature #6130: inspect using to_s is pain
https://bugs.ruby-lang.org/issues/6130#change-27340

Author: trans (Thomas Sawyer)
Status: Assigned
Priority: Normal
Assignee: mame (Yusuke Endoh)
Category: core
Target version: 2.0.0


Every time I define #to_s on a class I have to remember to also redefine #inspect. It's annoying and has led me to waste hours debugging b/c the errors that can occur from it often seem strange and unrelated.

I think #inspect should have an independent definition that outputs the class name, object_id and when possible instance variable settings, and should have nothing to do with #to_s by default. We developers can always alias it as such if it is appropriate.

The only exception should be for classes that have literal representation in Ruby, such as Array, String, Hash, etc. In those cases the #inspect should give the literal representation.




-- 
http://bugs.ruby-lang.org/