ITADN

Proposed breaking changes for a `subtle` v3.0.0

#148Opentarcieri 创建于 2026-01-04
T
tarciericommented
I'll preface this by saying I've released a `subtle`-like [`ctutils` crate](https://github.com/RustCrypto/utils/tree/master/ctutils) as part of the @RustCrypto project which contains quite a few extractions from our `crypto-bigint` crate, where we ran into the limitations of `subtle` and had to create our own [`ConstChoice`](https://docs.rs/crypto-bigint/latest/crypto_bigint/struct.ConstChoice.html) and [`ConstCtOption`](https://docs.rs/crypto-bigint/latest/crypto_bigint/struct.ConstCtOption.html) types to achieve the `const fn` support we needed. We have since replaced those, and our other usages of `subtle` in `crypto-bigint`, with `ctutils`. `subtle` is pretty deeply integrated into our crate ecosystem, including dependencies we don't directly control. Ideally I would like to bring all of these changes into `subtle` itself so as to avoid splitting the ecosystem. I'm creating this issue to track such changes. In various PRs to this repo I've explored ways to make non-breaking changes, and unfortunately I think especially to accommodate `const fn` some breaking changes are needed. I will update this issue as I propose various breaking changes, to use as a sort of meta-issue for tracking the other PRs, which I'd like to break down so they're more easily reviewed and can be considered in isolation.
0 条评论