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

Remove dependency on Syntex #540

Closed
dtolnay opened this issue Sep 4, 2016 · 3 comments
Closed

Remove dependency on Syntex #540

dtolnay opened this issue Sep 4, 2016 · 3 comments
Assignees
Labels

Comments

@dtolnay
Copy link
Member

dtolnay commented Sep 4, 2016

We depend on Syntex for three things:

  • parsing
  • quasi
  • aster

I wrote a Rust parser https://github.com/dtolnay/syn and quasi-quoter https://github.com/dtolnay/quote which together build in 8.1 seconds (including all their dependencies). Syntex (including quasi and aster and dependencies) builds in 65 seconds so it is a decent improvement.

I am going to start porting serde_codegen over to these. For now serde_codegen will still need Syntex as a shim but serde_derive can disable it with a feature flag and use the new approach directly.

This will eliminate the biggest advantage of serde_macros over serde_derive - compile time. Once serde_derive is off of Syntex I propose that we stop supporting serde_macros.

@dtolnay dtolnay self-assigned this Sep 4, 2016
@dtolnay
Copy link
Member Author

dtolnay commented Sep 5, 2016

To clarify the "for now": serde_codegen will need Syntex until either of the following happens:

Until one of these things happens, serde_derive can depend on serde_codegen but flag off the Syntex dependency.

@dtolnay
Copy link
Member Author

dtolnay commented Sep 13, 2016

In progress in #548, though there is a lot of work left.

@dtolnay dtolnay added the derive label Sep 23, 2016
@dtolnay
Copy link
Member Author

dtolnay commented Sep 28, 2016

Fixed in #548 for serde_derive.

Closing because I don't currently plan to do this for serde_codegen, but we can reopen if plans change.

@dtolnay dtolnay closed this as completed Sep 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

1 participant