Issue #10496 has been reported by Ivan Neverov.

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

* Author: Ivan Neverov
* Status: Open
* Priority: Normal
* Assignee: ruby-core
* Category: ext
* Target version: 
* ruby -v: 2.1.3p242, 1.9.3p550
* Backport: 
----------------------------------------
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/