alloy-rs / alloy-rs/ruint

tracking: 2.0

Open
#502 4 comments 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
225
Forks
70
Avg merge
16h 54m
Merged PRs (30d)
8

Description

I think 2.0 is pretty far away since we're blocked on generic const expressions (GCE), but I think it's worth gathering and discussing all the ideas in one place.

- [ ] Remove `Bits` type
- This is a thin wrapper around Uint which does not have any extra functionality
- [ ] Remove second `Uint` generic (`LIMBS`), blocked by GCE
- It could also be a non-breaking change by using a default value
- [ ] Remove support for `BITS == 0` and possibly `BITS == 1`
- I don't see the point of U0, maybe U1 too. It only causes unnecessary cruft throughout the codebase, where we check for `BITS == 0` and have a special case path because we have 0 limbs
- [ ] Represent Uint internally using machine word-sized Word/DoubleWord type aliases instead of hardcoded u64
- https://github.com/recmo/uint/issues/371
- possibly also configurable with compile time features, not just target word size
- [ ] Align parsing behavior with standard library
- https://github.com/recmo/uint/issues/348
- [ ] Make `as_le_slice` and similar methods return an array of `[u8; Self::BYTES]`
- [ ] Remove support for old crates support features
- ssz, ark-ff-0.3 ...
- [ ] Resolve the overflow vs panicking arithmetic question: #408, #522

cc @mattsse @gakonst @recmo @prestwich

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.