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

[WIP] make the library no_std compatible #6

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Cxarli
Copy link

@Cxarli Cxarli commented Feb 24, 2021

  • Separate the library from the binary
  • Add #![no_std] to lib.rs
  • Rewrite all own references from std to core or alloc
  • Check all dependencies for std usage
  • Disable the std feature of crates where possible
  • Change dependencies where that is not possible
    • Replace failure
    • Replace fasthash

A few notes:

  • Since we can't use std::collections::HashSet anymore, I have added the hashbrown dependency.
  • For better no_std support, I've also updated all dependency versions.
  • failure is no longer maintained and uses std, so we will need to switch dependency there.
  • fasthash is mostly based on a C FFI, so should be replaced with the pure-Rust murmur3. Since that one also uses std, we will have to patch it slightly.
  • LZJDError::Io has been removed since it relied on std::io::Error but was never used. As it's a public enum, we will have to do a major version bump.

@sanmai-NL
Copy link

@Cxarli Hi, thanks for your work! I'm the new maintainer. I'll handle the other PR as well, which also touches on the hashing implementation. If you care to finish or update your work, be assured I'll merge it (mostly or completely) within days.

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

Successfully merging this pull request may close these issues.

2 participants