Skip to content

Proposed breaking changes for a subtle v3.0.0 #148

@tarcieri

Description

@tarcieri

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions