Ensure that all crates are `#![no_std]`
Maintainers usually reply within 2 days
@jjkurczak is already working on this.
Since Jul 9, 2026.
Assessment
This issue has not been assessed yet.
Description
Might be a duplicate of #14
The work here is to circle back to the earlier crates:
- sha2
- sha3
- hmac
- hkdf
- rng
and add #![no_std] to the top of their lib.rs, see what breaks.
I suspect the things that will break will be of the flavour:
fn do something(..) -> Vec<u8>;
some of those will be able to convert to -> [u8; LEN] for some obvious choice of parametrized constant LEN (like the size of the hash function), but some of them might really need to be -> Vec<u8> in which case we should leave them but establish a pattern for guarding them with a cargo feature so that they compile out when building in no_std
Something like:
#[cfg(feature = "alloc")]
fn do something(..) -> Vec<u8>;
or maybe we want all crates to have a feature "std" as suggested here
#![no_std]
#[cfg(feature = "std")]
fn do something(..) -> Vec<u8>;
and add [features] std = [] (probably default = ["std"]) to Cargo.toml for all crates that use it.
- Dominant language
- Rust
- Stars
- 25
- Forks
- 18
- Avg merge
- 14d 10h
- Merged PRs (30d)
- 5
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from bcgit/bc-rust
-
documentation good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
bcgit/bc-rust#161 · 1 reaction ·
Maintainers usually reply within 2 days
-
good first issue refactor
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 2 days
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
bcgit/bc-rust#163 · 2 comments ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Maintainers usually reply within 2 days
-
documentation good first issue refactor
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Maintainers usually reply within 2 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
canonical/opentelemetry-collector-operator#409 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
bug CLI exec tool-calls
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day