-
Notifications
You must be signed in to change notification settings - Fork 90
Description
I'll preface this by saying I've released a subtle-like ctutils crate 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 and ConstCtOption 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.
Pull Requests
These are structured to reflect their dependency relationships. Toplevel PRs need to be merged first, and overall the list represents a suggested merge order:
Note: there are many more PRs I'd like to make to bring the functionality in line with ctutils, but I stopped here for now until PRs are getting merged