trifectatechfoundation / trifectatechfoundation/libzstd-rs-sys

no_std support

Open
#316 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
151
Forks
11
Avg merge
1d 2h
Merged PRs (30d)
59

Description

Is your feature request related to a problem? Please describe.

I know this project was just announced today, but I'd like to see #![no_std] support added, as I was looking to integrate zstd in my rust osdev project.

Describe the solution you'd like

The programs directory could be it's own crate and no_std support could be added to c2rust-lib. The dependency on the libc crate would have to made optional (as far as I can tell it's only used for size_t, malloc is already partially feature-gated).

Describe alternatives you've considered

So far I've only seen ruzstd which has limited compression levels and is probably slower. Alternatively I could use C bindings to zstd but I'd prefer a pure rust library like this one.

Additional context

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the programs directory and the c2rust-lib crate, then trace where the libc dependency and existing malloc feature gates are used. Check how the programs directory could become its own crate and determine whether libc can be optional while preserving the requested no_std support; done means the relevant crates build for no_std without requiring libc.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.