-
Notifications
You must be signed in to change notification settings - Fork 9
Update to serde 0.9 #35
Comments
Just FWIW, I've implemented own Serde 0.9 compatible deserializer with support for enums, collections of enums, and other features this deserializer lacked for me here https://github.com/RReverser/serde-xml-rs |
This is amazing. @oli-obk how would you feel about handing ownership of serde_xml on crates.io over to @RReverser and abandoning this codebase? IIRC you were pretty pessimistic about the future of this crate (the words were something like "failed experiment"). |
yes. this repo would need a rewrite. It is unsalvageable. I suggest to keep the tests though (or at least take them as a starting point, some of them should probably be broken in a better serializer, but all of them should be implementable) |
@oli-obk Sure, I can copy-paste your tests to my repo if that's okay with you. |
Great. @RReverser up to you whether you would like to keep the repo under your account or take over this one. If you keep yours, please open issues corresponding to every open issue here, and leave a comment on our issues linking to yours. Then I will add you as an owner of serde_xml on crates.io and you can push your version. |
@dtolnay At the moment I'm seeing quite a bit failed tests from actual serde_xml, when I'll have time, I'd like to fix them before making any further decisions, but will be able to do that only on the next week. |
sgtm
Always verify that they make sense and don't require complex dances in the deserializer impl. It can always be required that the user writes a complex type to satisfy weird xml structures, but you should not strife to support them by default from simple structures. That's one of the problems I've had in this repository. |
@oli-obk Sure. For example, tuple/unit failures are valid, and I'm working on improving their support, but I don't want, for example, to allow parsing primitives from |
@RReverser Would this then prohibit something like: type Plaintext = String; <plaintext>sometext</plaintext>
<plaintext/> ? Because that's a use-case I need. |
@indiv0 Yes, because for Rust |
@RReverser Alright. How would I go about handling that case then? (Also I realize this is a bit off-topic for this issue. If you'd like, we could move this discussion to a |
@indiv0 Sure, please do. |
@oli-obk @dtolnay Looks like I don't have much time to evolve serde-xml-rs as I don't do anything related to XML parsing which motivated me to create it in the first place. At the same time, this original repo/crate is deprecated, so I thought if you still feel that it's worth it, we can move repo and/or rename crate as was originally suggested. |
Yea we should do that. I can give you access rights to the |
Sounds good. Should we move repo over as well? |
I would leave the repo with you. I don't expect XML to become a flagship Serde format (especially if no longer actively developed) and the link from https://serde.rs should make it sufficiently discoverable. |
Release notes: https://github.com/serde-rs/serde/releases/tag/v0.9.0
One thing we need to figure out is where to handle all the things that currently happen inside MapDeserializer::missing_field.
The text was updated successfully, but these errors were encountered: