=begin
It's said in the documentation that #inspect, if not overridden should use #to_s. Instead of that, when not overridden, #inspect uses #to_s only until the first instance variable assignment, after that it is overridden by interpreter.
~$ cat > test.rb
class MyClass
def to_s() "instance of MyClass" end
def assign
@var = var
self
end
end
Besides that #to_s stays unchanged when it's not overridden and because usually the first instance variable assignment happens in #initialize in most cases #inspect returns something like #<MyClass:0x9071620 @val=nil> and #to_s returns #MyClass:0x9071620
=end
=begin
This issue was solved with changeset r25427.
Andy, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.