Actions
Bug #10496
closedYaml: Serialization of cross-referrenced objects with psych
    Bug #10496:
    Yaml: Serialization of cross-referrenced objects with psych
  
Description
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
        
           Updated by duerst (Martin Dürst) almost 11 years ago
          Updated by duerst (Martin Dürst) almost 11 years ago
          
          
        
        
      
      - Assignee changed from core to tenderlovemaking (Aaron Patterson)
        
           Updated by Anonymous over 10 years ago
          Updated by Anonymous over 10 years ago
          
          
        
        
      
      - Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r49529.
- 
ext/psych/lib/psych/visitors/yaml_tree.rb: register nodes when 
 dumping objects with custom coders. [ruby-core:66215] [Bug #10496]
- 
test/psych/test_coder.rb: test for fix 
        
           Updated by wanabe (_ wanabe) over 10 years ago
          Updated by wanabe (_ wanabe) over 10 years ago
          
          
        
        
      
      - Backport set to 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
Actions