On Fri, May 15, 2026 at 06:09:56PM +0000, Santiago Vila wrote:
> error: failed to select a version for the requirement `sha2 = "^0.10"`
> candidate versions found which didn't match: 0.11.0
Build fails with sha2 v0.11, as it seems new version of hmac is now also
required:
error[E0277]: the trait bound `Sha256: hmac::digest::core_api::CoreProxy` is
not satisfied
--> rust/src/lib.rs:60:5
|
60 | HmacSha256::new_from_slice(&key)
| ^^^^^^^^^^ the trait `hmac::digest::core_api::CoreProxy` is not
implemented for `Sha256`
|
note: there are multiple different versions of crate `digest` in the dependency
graph
--> /usr/share/cargo/registry/digest-0.10.7/src/core_api/wrapper.rs:266:1
|
266 | pub trait CoreProxy: sealed::Sealed {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait
|
::: /usr/share/cargo/registry/digest-0.11.3/src/block_api.rs:155:1
|
155 | pub trait CoreProxy {
| ------------------- this is the found trait
= help: you can use `cargo tree` to explore your dependency tree
help: the trait `hmac::digest::core_api::CoreProxy` is implemented for
`CoreWrapper<T>`
--> /usr/share/cargo/registry/digest-0.10.7/src/core_api/wrapper.rs:283:1
|
283 | / impl<T> CoreProxy for CoreWrapper<T>
284 | | where
285 | | T: BufferKindUser,
286 | | T::BlockSize: IsLess<U256>,
287 | | Le<T::BlockSize, U256>: NonZero,
| |____________________________________^
= note: required for `HmacCore<Sha256>` to implement
`hmac::digest::core_api::BlockSizeUser`
error[E0599]: the function or associated item `new_from_slice` exists for
struct `CoreWrapper<HmacCore<Sha256>>`, but its trait bounds were not satisfied
--> rust/src/lib.rs:60:17
|
60 | HmacSha256::new_from_slice(&key)
| ^^^^^^^^^^^^^^ function or associated item cannot be
called on `CoreWrapper<HmacCore<Sha256>>` due to unsatisfied trait bounds
|
::: /usr/share/cargo/registry/digest-0.10.7/src/core_api/wrapper.rs:24:1
|
24 | pub struct CoreWrapper<T>
| ------------------------- doesn't satisfy `CoreWrapper<HmacCore<Sha256>>:
MacMarker`, `CoreWrapper<HmacCore<Sha256>>: Mac`, `_: FixedOutput` or `_:
Update`
|
= note: the following trait bounds were not satisfied:
`CoreWrapper<HmacCore<Sha256>>: hmac::digest::Update`
which is required by `CoreWrapper<HmacCore<Sha256>>: Mac`
`CoreWrapper<HmacCore<Sha256>>: hmac::digest::FixedOutput`
which is required by `CoreWrapper<HmacCore<Sha256>>: Mac`
`CoreWrapper<HmacCore<Sha256>>: MacMarker`
which is required by `CoreWrapper<HmacCore<Sha256>>: Mac`
`&CoreWrapper<HmacCore<Sha256>>: hmac::digest::Update`
which is required by `&CoreWrapper<HmacCore<Sha256>>: Mac`
`&CoreWrapper<HmacCore<Sha256>>: hmac::digest::FixedOutput`
which is required by `&CoreWrapper<HmacCore<Sha256>>: Mac`
`&CoreWrapper<HmacCore<Sha256>>: MacMarker`
which is required by `&CoreWrapper<HmacCore<Sha256>>: Mac`
`&mut CoreWrapper<HmacCore<Sha256>>: hmac::digest::Update`
which is required by `&mut CoreWrapper<HmacCore<Sha256>>: Mac`
`&mut CoreWrapper<HmacCore<Sha256>>: hmac::digest::FixedOutput`
which is required by `&mut CoreWrapper<HmacCore<Sha256>>: Mac`
`&mut CoreWrapper<HmacCore<Sha256>>: MacMarker`
which is required by `&mut CoreWrapper<HmacCore<Sha256>>: Mac`
error[E0277]: the trait bound `Sha256: hmac::digest::core_api::CoreProxy` is
not satisfied
--> rust/src/lib.rs:92:5
|
92 | HmacSha256::new_from_slice(&key)
| ^^^^^^^^^^ the trait `hmac::digest::core_api::CoreProxy` is not
implemented for `Sha256`
|
note: there are multiple different versions of crate `digest` in the dependency
graph
--> /usr/share/cargo/registry/digest-0.10.7/src/core_api/wrapper.rs:266:1
|
266 | pub trait CoreProxy: sealed::Sealed {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait
|
::: /usr/share/cargo/registry/digest-0.11.3/src/block_api.rs:155:1
|
155 | pub trait CoreProxy {
| ------------------- this is the found trait
= help: you can use `cargo tree` to explore your dependency tree
help: the trait `hmac::digest::core_api::CoreProxy` is implemented for
`CoreWrapper<T>`
--> /usr/share/cargo/registry/digest-0.10.7/src/core_api/wrapper.rs:283:1
|
283 | / impl<T> CoreProxy for CoreWrapper<T>
284 | | where
285 | | T: BufferKindUser,
286 | | T::BlockSize: IsLess<U256>,
287 | | Le<T::BlockSize, U256>: NonZero,
| |____________________________________^
= note: required for `HmacCore<Sha256>` to implement
`hmac::digest::core_api::BlockSizeUser`
error[E0599]: the function or associated item `new_from_slice` exists for
struct `CoreWrapper<HmacCore<Sha256>>`, but its trait bounds were not satisfied
--> rust/src/lib.rs:92:17
|
92 | HmacSha256::new_from_slice(&key)
| ^^^^^^^^^^^^^^ function or associated item cannot be
called on `CoreWrapper<HmacCore<Sha256>>` due to unsatisfied trait bounds
|
::: /usr/share/cargo/registry/digest-0.10.7/src/core_api/wrapper.rs:24:1
|
24 | pub struct CoreWrapper<T>
| ------------------------- doesn't satisfy `CoreWrapper<HmacCore<Sha256>>:
MacMarker`, `CoreWrapper<HmacCore<Sha256>>: Mac`, `_: FixedOutput` or `_:
Update`
|
= note: the following trait bounds were not satisfied:
`CoreWrapper<HmacCore<Sha256>>: hmac::digest::Update`
which is required by `CoreWrapper<HmacCore<Sha256>>: Mac`
`CoreWrapper<HmacCore<Sha256>>: hmac::digest::FixedOutput`
which is required by `CoreWrapper<HmacCore<Sha256>>: Mac`
`CoreWrapper<HmacCore<Sha256>>: MacMarker`
which is required by `CoreWrapper<HmacCore<Sha256>>: Mac`
`&CoreWrapper<HmacCore<Sha256>>: hmac::digest::Update`
which is required by `&CoreWrapper<HmacCore<Sha256>>: Mac`
`&CoreWrapper<HmacCore<Sha256>>: hmac::digest::FixedOutput`
which is required by `&CoreWrapper<HmacCore<Sha256>>: Mac`
`&CoreWrapper<HmacCore<Sha256>>: MacMarker`
which is required by `&CoreWrapper<HmacCore<Sha256>>: Mac`
`&mut CoreWrapper<HmacCore<Sha256>>: hmac::digest::Update`
which is required by `&mut CoreWrapper<HmacCore<Sha256>>: Mac`
`&mut CoreWrapper<HmacCore<Sha256>>: hmac::digest::FixedOutput`
which is required by `&mut CoreWrapper<HmacCore<Sha256>>: Mac`
`&mut CoreWrapper<HmacCore<Sha256>>: MacMarker`
which is required by `&mut CoreWrapper<HmacCore<Sha256>>: Mac`
Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `glome` (lib) due to 4 previous errors
--
Valentin