{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/10170","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/10170/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/10170/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/10170/events","html_url":"https://github.com/JuliaLang/julia/pull/10170","id":57411824,"number":10170,"title":"RFC: handle serializing objects with cycles using a Serializer object","user":{"login":"JeffBezanson","id":744556,"avatar_url":"https://avatars.githubusercontent.com/u/744556?v=3","gravatar_id":"","url":"https://api.github.com/users/JeffBezanson","html_url":"https://github.com/JeffBezanson","followers_url":"https://api.github.com/users/JeffBezanson/followers","following_url":"https://api.github.com/users/JeffBezanson/following{/other_user}","gists_url":"https://api.github.com/users/JeffBezanson/gists{/gist_id}","starred_url":"https://api.github.com/users/JeffBezanson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeffBezanson/subscriptions","organizations_url":"https://api.github.com/users/JeffBezanson/orgs","repos_url":"https://api.github.com/users/JeffBezanson/repos","events_url":"https://api.github.com/users/JeffBezanson/events{/privacy}","received_events_url":"https://api.github.com/users/JeffBezanson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":25,"created_at":"2015-02-12T03:13:26Z","updated_at":"2015-06-02T00:33:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/10170","html_url":"https://github.com/JuliaLang/julia/pull/10170","diff_url":"https://github.com/JuliaLang/julia/pull/10170.diff","patch_url":"https://github.com/JuliaLang/julia/pull/10170.patch"},"body":"Been meaning to write this up for a while.\r\n\r\nSerializing now uses a `Serializer` object that keeps the needed state to handle cycles. In some cases it also handles repeated references to the same object.\r\n\r\nAs in my last attempt, when defining `serialize` you use\r\n\r\n```\r\n    serialize_cycle(s, obj) && return\r\n```\r\n\r\nand when defining `deserialize` you use\r\n\r\n```\r\n    deserialize_cycle(s, newobj, pos)\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/107753159","html_url":"https://github.com/JuliaLang/julia/pull/10170#issuecomment-107753159","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/10170","id":107753159,"user":{"login":"jakebolewski","id":1157798,"avatar_url":"https://avatars.githubusercontent.com/u/1157798?v=3","gravatar_id":"","url":"https://api.github.com/users/jakebolewski","html_url":"https://github.com/jakebolewski","followers_url":"https://api.github.com/users/jakebolewski/followers","following_url":"https://api.github.com/users/jakebolewski/following{/other_user}","gists_url":"https://api.github.com/users/jakebolewski/gists{/gist_id}","starred_url":"https://api.github.com/users/jakebolewski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakebolewski/subscriptions","organizations_url":"https://api.github.com/users/jakebolewski/orgs","repos_url":"https://api.github.com/users/jakebolewski/repos","events_url":"https://api.github.com/users/jakebolewski/events{/privacy}","received_events_url":"https://api.github.com/users/jakebolewski/received_events","type":"User","site_admin":false},"created_at":"2015-06-02T00:33:07Z","updated_at":"2015-06-02T00:33:07Z","body":":+1: "}}