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

Add support for Serde 1.0 #327

Closed
wants to merge 1 commit into from
Closed

Add support for Serde 1.0 #327

wants to merge 1 commit into from

Conversation

@dtolnay
Copy link

dtolnay commented May 6, 2017

Fixes #304, fixes #320.

r? @SimonSapin


This change is Reviewable

@SamWhited
Copy link
Contributor

SamWhited commented May 9, 2017

LGTM; thanks for the comments on the copy/pasted code that could be derived, saved me trying to figure out why derive wasn't used.

@bors-servo
Copy link
Contributor

bors-servo commented May 9, 2017

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

@dtolnay
Copy link
Author

dtolnay commented May 9, 2017

I fixed the conflict with #331.

@drusellers
Copy link

drusellers commented Jun 11, 2017

Looking forward to serde 1.0 support landing

@SimonSapin
Copy link
Member

SimonSapin commented Jun 13, 2017

I find the code in src/serde.rs, especially Deserilize impls for enum, to be overly verbose. It sounds like extern crate serde; in the code generated by derive is the only reason we can’t use derive instead. I’ve filed serde-rs/serde#953 to request a serde feature that hopefully will fix that. I’d much prefer to use derive here.

@SimonSapin
Copy link
Member

SimonSapin commented Jun 13, 2017

@drusellers In the meantime, https://docs.rs/url_serde/0.2.0/url_serde/ supports serde 1.0 today.

@bors-servo
Copy link
Contributor

bors-servo commented Jun 13, 2017

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

@konstin
Copy link

konstin commented Jun 13, 2017

Unfortunately, url_serde doesn't work on existing types, e.g. Vec<Url>, so using serde in my project is currently blocked by this PR.

@Object905
Copy link

Object905 commented Jul 21, 2017

@konstin you can use Vec<url_serde::SerdeUrl> instead.

@killercup
Copy link

killercup commented Jan 21, 2018

I really wanted to do a cool demo in a talk where I fetch http://readrust.net/rust2018/feed.json, first show a nice list of posts, and as a bonus quickly extract the domain to see ho many people are using gist.github.com as their blog. Not having serde 1.0 support basically destroys that bonus feature :(

@SimonSapin
Copy link
Member

SimonSapin commented Jan 21, 2018

@bors-servo
Copy link
Contributor

bors-servo commented Jan 21, 2018

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

@killercup
Copy link

killercup commented Jan 21, 2018

@SimonSapin that's why I wrote "I really wanted to do a cool demo" 😉

Adding two crates and using

#[serde(with = "url_serde")]
url: Url,

is not nearly as cool as just writing url: Url,.

@SimonSapin
Copy link
Member

SimonSapin commented Jan 21, 2018

Sorry that SemVer spaghetti is not cool :) I’m considering doing url 2.0 at some point to fix this and other things, but for Servo to use be able to update it’d first need to update hyper from 0.10 to 0.11, which seems to be blocked on websocket support: servo/servo#18518.

But since I’d rather not maintain two branches of url and I seem to be the one doing all that work anyway, url 2.0 will wait.

@killercup
Copy link

killercup commented Jan 21, 2018

@dtolnay
Copy link
Author

dtolnay commented Jan 6, 2019

@SimonSapin I rebased and removed the 1.0 impls for Host<S> and HostInternal, because I believe most users are really only looking for Serde impls for url::Url. That one does not require serde_derive because we are serializing the url in string form.

@LegNeato
Copy link

LegNeato commented Jun 27, 2019

Any update on this? Is this landable? Did something similar land?

@est31
Copy link
Contributor

est31 commented Jul 13, 2019

The 2.0 branch has been opened. Per prior statements, this PR should be closed and instead a PR against that branch filed.

I have made an alternative serde 1.0 implementation that's closer to the current implementation: 2.0...est31:serde_1.0

I think that this PR's serialization should be used instead where url's are just serialized as strings.

@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

Thanks for the PR, David. The version looks more reasonable than the original.

I’m going to close this since I took #512 instead, to be part of url 2.0.0. Hopefully it’ll be easy enough for the ecosystem to migrate, but if not we can consider reviving this PR in the 1.x branch.

@SimonSapin SimonSapin closed this 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.

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