Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Serialize and Deserialize on ParseError #386

Closed
wants to merge 1 commit into from

Conversation

@KiChjang
Copy link
Member

KiChjang commented Aug 6, 2017

This change is Reviewable

@KiChjang
Copy link
Member Author

KiChjang commented Aug 28, 2017

@Hoverbear Hoverbear changed the title Implement Serialize and Deserialize on De<ParseError> Implement Serialize and Deserialize on ParseError Aug 29, 2017
@Hoverbear
Copy link
Member

Hoverbear commented Aug 29, 2017

I updated the ticket name to reflect that it does both Ser and De.

/// Deserializes this ParseError from a `serde` stream.
impl<'de> Deserialize<'de> for De<ParseError> {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: Deserializer<'de> {
enum Variant {

This comment has been minimized.

@Hoverbear

Hoverbear Aug 29, 2017

Member

I'm a bit unhappy with the level of duplication here. Is there maybe some way we can reduce the amount of times we list all the variants? In the interest of maintainability it would be great to only need to change the code in one (or two) spots when we add a variant. At the moment it seems like we need to do it in at least 6 places.

This comment has been minimized.

@KiChjang

KiChjang Aug 29, 2017

Author Member

The duplication here is mostly because of my own lack of knowledge of how serde works. I have no idea how the implementation body of ParseErrorVisitor would look otherwise.

This comment has been minimized.

@KiChjang

KiChjang Aug 29, 2017

Author Member

Also, I'm under the impression that url_serde is only a temporary fix until we upgrade to serde 1.0 on master, so I guess this is fine for now?

@SimonSapin SimonSapin mentioned this pull request Oct 17, 2018
17 of 42 tasks complete
@bors-servo
Copy link
Contributor

bors-servo commented Jul 17, 2019

The latest upstream changes (presumably #517) made this pull request unmergeable. Please resolve the merge conflicts.

@SimonSapin
Copy link
Member

SimonSapin commented Jul 17, 2019

master now depends on serde 1.x, so it should be possible to use serde_derive which would be much simpler than this PR. Feel free to open another PR doing that.

@SimonSapin SimonSapin closed this Jul 17, 2019
@KiChjang KiChjang deleted the KiChjang:parse-error-serde branch Jul 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.