Project

General

Profile

This project is closed and read-only.

Actions

Backport #954

closed

OpenStruct#inspect recursion detection is buggy

Backport #954: OpenStruct#inspect recursion detection is buggy

Added by murphy (Kornelius Kalnbach) over 17 years ago. Updated over 15 years ago.


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

fix-ostruct-inspect.diff (1.47 KB) fix-ostruct-inspect.diff Patch for OpenStruct#inspect with test case murphy (Kornelius Kalnbach), 12/30/2008 11:49 PM

Updated by yugui (Yuki Sonoda) over 17 years ago Actions #1

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r21496.
=end

Updated by shyouhei (Shyouhei Urabe) over 17 years ago Actions #2

  • 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) over 17 years ago Actions #3

  • Assignee changed from shyouhei (Shyouhei Urabe) to wyhaines (Kirk Haines)

=begin

=end

Updated by wyhaines (Kirk Haines) about 17 years ago Actions #4

  • Status changed from Open to Closed

=begin
This was fixed in r24025.
=end

Actions

Also available in: PDF Atom