Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

try_sign_digest() is confusing.

Aperta
#2,487 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
52/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
rust
Ambito
cryptography

Direzione di ricerca

Inizia dalla dichiarazione di DigestSigner::try_sign_digest intorno a signer.rs:110 e confronta la relativa documentazione di Rust 3.x con la documentazione collegata di DigestSigner per la versione 2.x. Chiarisci la distinzione tra il passaggio di un digest e il passaggio del callback previsto dal metodo corrente, usando solo esempi supportati dall’API esistente. Il lavoro è completato quando i commenti dei metodi non sembrano più intercambiabili e spiegano come deve procedere il chiamante.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

As of 3.0.0 the try_sign_digest method is now confusing enough to be unusable.

Previously in 2.x try_sign_digest took a Digest output for signing per https://docs.rs/signature/2.3.0-pre.7/signature/trait.DigestSigner.html

However in 3.x this now takes an fn mut, and it's not clear how this works. To make matters worse the doc comments are practically identical. This leads to update errors such as:

error[E0277]: expected a `Fn(&mut _)` closure, found `sha2::Sha256`
    --> src/lib.rs:1010:30
     |
1010 |             .try_sign_digest(digest)
     |              --------------- ^^^^^^ expected an `Fn(&mut _)` closure, found `sha2::Sha256`
     |              |
     |              required by a bound introduced by this call
     |
     = help: the trait `for<'a> Fn(&'a mut _)` is not implemented for `sha2::Sha256`
note: required by a bound in `try_sign_digest`
    --> /Users/william/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-3.0.0/src/signer.rs:110:27
     |
 110 |     fn try_sign_digest<F: Fn(&mut D) -> Result<(), Error>>(&self, f: F) -> Result<S, Error>;
     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `DigestSigner::try_sign_digest`

But there is no clear or actionable method to proceed as there is no way to pass the digest to this function.

Lingua principale
Rust
Stelle
756
Fork
256
Merge medio
1h 27m
PR unite (30g)
2

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di RustCrypto/traits

Tutte le issue di RustCrypto/traits

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.