Open
Description
cargo features are supposed to be additive, but rustc-hash
isn't.
Consider the case where:
- Crate
a
depends onrustdoc-types
with default features- Crate
a
relies on the HashMap using the default hasher.
- Crate
- Crate
b
depends onrustdoc-types
withrustc-hash
feature. - Crate
c
depends ona
andb
- Cargo does feature unification, and builds
a
againsrustdoc-types
withrustc-hash
enabled. a
fails to compile.
Potential fixes
- Ignore this, and hope it doesn't effect anyone
- Implement our own
BuildHasher
type that doesn't expose the underlying hashing algo, so changing it is additive - Drop the
rustc-hash
feature, and always use it.
3.1. Drop therustc-hash
feature, and never use it. - Make
Crate
generic over the hasher type.
I think it's fine to go with 1 for now, but I'm filling this issue so I don't forget this.
Originally reported by @Noratrieb on fediverse
Caused by #42
Metadata
Metadata
Assignees
Labels
No labels