Actions
Backport #954
closedOpenStruct#inspect recursion detection is buggy
Status:
Closed
Assignee:
Description
=begin
Currently, OpenStruct#inspect shows a recursion indicator whenever a member of an OpenStruct is an OpenStruct itself:
foo = OpenStruct.new
foo.bar = OpenStruct.new
foo.inspect # => #<OpenStruct bar=#<OpenStruct ...>>
I expect it to do the following:
foo = OpenStruct.new
foo.bar = OpenStruct.new
assert_equal('#<OpenStruct bar=#>', foo.inspect)
foo.bar.foo = foo
assert_equal('#<OpenStruct bar=#<OpenStruct foo=#<OpenStruct ...>>>', foo.inspect)
Path attached. It uses the code pattern found in Set#inspect, using object_ids instead of objects for the :inspect_key stack.
It should be fixed in Ruby 1.8.6 and 1.8.7, too.
=end
Files
Updated by yugui (Yuki Sonoda) over 15 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r21496.
=end
Updated by shyouhei (Shyouhei Urabe) almost 15 years ago
- Status changed from Closed to Open
- Assignee set to shyouhei (Shyouhei Urabe)
- ruby -v set to ruby 1.8.7 (2009-04-02 patchlevel 159) [x86_64-linux]
=begin
=end
Updated by shyouhei (Shyouhei Urabe) almost 15 years ago
- Assignee changed from shyouhei (Shyouhei Urabe) to wyhaines (Kirk Haines)
=begin
=end
Updated by wyhaines (Kirk Haines) over 14 years ago
- Status changed from Open to Closed
=begin
This was fixed in r24025.
=end
Actions
Like0
Like0Like0Like0Like0