[ruby-core:68152] [Ruby trunk - Bug #10496] Yaml: Serialization of cross-referrenced objects with psych

From: s.wanabe@...
Date: 2015-02-17 14:31:59 UTC
List: ruby-core #68152
Issue #10496 has been updated by _ wanabe.

Backport set to 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN

----------------------------------------
Bug #10496: Yaml: Serialization of cross-referrenced objects with psych
https://bugs.ruby-lang.org/issues/10496#change-51531

* Author: Ivan Neverov
* Status: Closed
* Priority: Normal
* Assignee: Aaron Patterson
* ruby -v: 2.1.3p242, 1.9.3p550
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
I'm trying to run next code that serialize object B that has instance variable of A initialized with this B (cross referenced). After deserialization I'm getting 2 B objects instead of 1

https://gist.github.com/ineverov/3ce3ea21d970996b673e

During investigation of source code of psych I found that we don't register objects that use encode_with methods
Here: https://github.com/ruby/ruby/blob/trunk/ext/psych/lib/psych/visitors/yaml_tree.rb#L530





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

In This Thread

Prev Next