RustCrypto / RustCrypto/crypto-bigint

Exposing internal functions

Open
#991 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
309
Forks
95
Avg merge
1d 14h
Merged PRs (30d)
3

Description

Some algorithms we write use internal functionality that is currently not exposed, across multiple modules (e.g. ConstChoice, Uint etc).
These are usually pub(crate) that we need as pub.

Currently, we have to maintain a fork for several reasons, and this is one of them.

I was wondering how to best tackle this; should we create interfaces, or (my preference as its the easiest way) simply make them pub?

Contributor guide

No contributing guide indexed for this repository

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 locating the modules that define the internal ConstChoice and Uint functionality and review their current pub(crate) visibility and callers. Compare exposing those items directly with adding interfaces, then define the required public surface across the affected modules; done means the needed algorithms no longer require a fork.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cryptography
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.