From 2af92d0ebcbeca6d3d85a27c8193273080a63090 Mon Sep 17 00:00:00 2001 From: Ichito Nagata Date: Mon, 4 Jun 2018 10:52:51 +0900 Subject: Let inspect recursion do the right thing --- mrbgems/mruby-struct/mrblib/struct.rb | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'mrbgems/mruby-struct/mrblib/struct.rb') diff --git a/mrbgems/mruby-struct/mrblib/struct.rb b/mrbgems/mruby-struct/mrblib/struct.rb index 7cf3dd3ab..86c635df7 100644 --- a/mrbgems/mruby-struct/mrblib/struct.rb +++ b/mrbgems/mruby-struct/mrblib/struct.rb @@ -46,7 +46,9 @@ if Object.const_defined?(:Struct) ary end - def _inspect + def _inspect(recur_list) + return "#" if recur_list[self.object_id] + recur_list[self.object_id] = true name = self.class.to_s if name[0] == "#" str = "#" end @@ -70,11 +72,7 @@ if Object.const_defined?(:Struct) # 15.2.18.4.10(x) # def inspect - begin - self._inspect - rescue SystemStackError - "#" - end + self._inspect({}) end ## -- cgit v1.2.3