-
Notifications
You must be signed in to change notification settings - Fork 833
Bitvec as mandatory dependency #1232
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
Comments
There is a |
Yeah, I don't think having bitvec part of the default feature set is a good idea. I'm working on distribution packages for nom, and the new |
there could be a @decathorpe how do distributions usually handle that kind of issue? From my point of view (note that I'm not hostile to distribution packaging, just trying to find a good tradeoff), if a package is created that disables a feature that's part of nom's public API, I'll probably get support requests from people expecting this API. An I already have to work carefully around minimum Rust versions to accommodate Debian packaging. AFAIK bitvec introduces the following crates: funty, radium, tap and wyz. Looing at the generated Cargo.lock, serde is not used, and none of those dependencies introduce other dependencies. |
also, correct me if I'm wrong, but is Fedora generating a package per crate? Is there a way to expose the Cargo features as part of the package, to have them configurable by the users, applied transitively, etc? |
Thanks for your reply. Yes, radium was the crate I was worried about. For Fedora, I need it to support x86_64, i686, armv7, aarch64, powerpc64le, and s390x. Looking at its build.rs, I can't tell which architectures are actually supported, since it starts off with all features enabled only turns off some or all features if it detects a known not-working architecture - but that doesn't help me figure out which architectures are actually supported yet (since it is not documented). Digging into the Rust source code for those architecture definitions, it looks like they all support the necessary Atomic types up to 64 bits, so that should not be a problem for radium / bitvec. I will try to create packages for the 4 additional dependencies, and if that doesn't work, I will come back. To give better context regarding Fedora packaging: |
For what it's worth, I'm both terrified and intrigued by the concept of creating a system package for |
@myrrlyn Thank you, I will keep eyes open for any issues. For what it's worth, the radium test suite from the last released version seems to pass on all the architectures I care about, so that's a good starting point :) |
Uh oh!
There was an error while loading. Please reload this page.
What if I wanna use methods of nom's
alloc
feature, e.g.multi::count
and so on, but specifyingfeatures = ["alloc"]
inCargo.toml
will pull thebitvec
crate I don't need. So, there's should be separate option not to includebitvec
crate, innit?The text was updated successfully, but these errors were encountered: