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

future proof MSRV solution #1439

Open
Geal opened this issue Oct 23, 2021 · 0 comments
Open

future proof MSRV solution #1439

Geal opened this issue Oct 23, 2021 · 0 comments
Milestone

Comments

@Geal
Copy link
Collaborator

Geal commented Oct 23, 2021

the minimum supported Rust version for nom has been a common theme this year, and has caused issues in a lot of crates. nom was also at the receiving end of that issue (#1435). With #1438 a lot of dependencies are removed from test builds, which should prevent some future issues.

But the problem will appear again if nom still relies on other complex crates. Right now, we bring in minimal-lexical and memchr as dependencies, version_check as build dependency, doc-comment and proptest as dev dependencies. As I have done with the bitslice and regex feature, I will probably move more codes in separate crates, to reduce the blast radius of dependency issues.

I am tempted to go further with that solution, by separating nom into a core crate with the basic types and traits, and specific combinators and parsers into other crates, that would have a different lifecycle. That would bring back some velocity to add more features and change APIs, while keeping the core stable fora longer time.

@Geal Geal added this to the 8.0 milestone Mar 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant