IntersectMBO / IntersectMBO/mithril
Remove `future_snark` feature
- Dominant language
- Rust
- Stars
- 154
- Forks
- 51
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 38
Description
## Why
The `future_snark` feature gates the SNARK support while it is experimental. It has a high maintenance cost: around 870 `cfg` sites, feature plumbing in ten crate manifests, a dedicated CI job and cargo profile, duplicated golden vectors, a duplicated `getrandom` dependency in the WASM client, and a series of `allow(dead_code)` directives waiting for the feature to be activated. Once the SNARK support is enabled by default, all of this can go away.
## What
Remove the `future_snark` feature and everything that exists only to support it.
## How
- [ ] Remove the feature from all the crate manifests and the workspace cargo profiles
- [ ] Remove the `cfg(feature = "future_snark")` gates in the code, the tests, the benches, and the examples
- [ ] Remove all TODOs
- [ ] Keep a single set of golden vectors and update `CODEC.md`
- [ ] Merge the dedicated CI job into the standard Rust test jobs
- [ ] "Later" steps of #3151:
- [ ] Run multiple tiers of e2e tests (depending on which files have been modified)
- [ ] Use the binaries of the last merge on main in the SNARK nightly end-to-end tests
Contributor guide
Assessment
This issue has not been assessed yet.