Skip to content

Multiple major revs in hashes dependency doesn't work the way I expected #673

Closed
@apoelstra

Description

This library currently supports hashes 0.12 or 0.13. The point was that you can use this library alongside rust-bitcoin 0.30 (which depends on 0.12) or rust-bitcoin 0.31 (which depends on 0.13). You wouldn't want to do this permanently -- it's for the upgrade process between major revs of rust-bitcoin, so that you can update your various deps piecemeal and things will continue to work.

However, cargo will cheerfully allow (and may actually do, by default) you to have rust-secp depending on hashes 0.12 in the same tree as rust-bitcoin depending on hashes 0.13. Then the ThirtyTwoByteHash traits will be incompatible and you'll get compilation errors.

Our intention was "rust-secp256k1 supports whatever version of hashes rust-bitcoin is trying to use" but apparently we can't guide cargo into enforcing this :/.

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