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

Reply via email to