Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Ensure that all crates are `#![no_std]`

Open
#49 5 comments 0 reactions 1 assignee View on GitHub

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

enhancement refactor

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

  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.

More from bcgit/bc-rust

All issues in bcgit/bc-rust

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.