Message230487
| Author |
serhiy.storchaka |
| Recipients |
alexandre.vassalotti, pitrou, python-dev, rhettinger, serhiy.storchaka |
| Date |
2014年11月02日.14:56:23 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1414940184.84.0.0387336483857.issue17900@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Oh, sorry, I did not notice test_yaml_linkage. And in any case this test was broken (should be rv[1][0] instead of rv[1]).
I don't like to revert these changes, and the reversion can break a code written for 3.4 which pickles recursive OrderedDicts. I suggest following solution. PyYAML calls __reduce_ex_(2) or __reduce__(). Therefore we can return to old behavior with protocol < 3 and left current behavior with protocol >= 3. Recursive OrderedDicts will be pickleable with default protocol and with highest protocol, and PyYAML will be happy.
Does this patch look good to your? |
|