Skip to content

Stabilize only part of the crate #154

Open
@Kixunil

Description

@Kixunil

For a while I felt uneasy about stabilizing the whole crate. It takes from our time to stabilize more urgent things like units and primitives and the only types we know for sure we need are the errors. Up until this point I have tolerated it thinking it would resolve easily. However I remembered I wanted DisplayHex to have GAT.

Our options are:

  • Wait until Debian stable releases which will have GAT-capable compiler
  • Bump MSRV against our policy
  • Accept ugly API
  • Only stabilize parts that are directly required to have stable error types

I find the first three options highly annoying, which leaves us with the last one which also has its other advantages - relieving pressure to work on hex too much.

I suggest moving everything except decoding to hex-conservative-unstable crate, which will reexport everything such that it'd become a drop-in replacement for the hex-conservative crate (people will usually only need to change name in Cargo.toml and it should work for most code). Then we can stabilize hex-conservative pretty much immediately (but practically, I'd wait until we actually have something that depends on it close to stabilization). Then shift our focus on units and primitives.

Metadata

Metadata

Assignees

No one assigned

    Labels

    1.0Issues and PRs required or helping to stabilize the API

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions