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

cms builders: infallible methods with `Result<_>` return type

Aperta
#1,989 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
cryptography

Direzione di ricerca

Inizia individuando le definizioni e i siti di chiamata di SignedDataBuilder e SignerInfoBuilder, inclusi i sei metodi nominati. Confronta il loro comportamento con quello degli altri builder CMS ed esamina i test esistenti per le loro API che restituiscono Result. Il lavoro sarà considerato completato quando sarà documentata la superficie dell’API interessata e si sarà raggiunto un accordo su se e come debbano cambiare i tipi di ritorno infallibili.

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

Descrizione

I'm only working with SignedData & SignerInfo, I haven't checked the other builders, but these methods are all infallible, why do they return Result<_>?

  • SignedDataBuilder::add_digest_algorithm
  • SignedDataBuilder::add_certificate
  • SignedDataBuilder::add_crl
  • SignerInfoBuilder::new
  • SignerInfoBuilder::add_signed_attribute
  • SignerInfoBuilder::add_unsigned_attribute

Would you be open to returning the unwrapped types? The current approach strikes me as unnecessary, and creates a lot of boilerplate in my specific use case where I'm using anyhow to catch errors, which relies on the std/core Error trait for ? coercion (not implemented on v0.2, though I can see it in the v0.3 prereleases).

Despite opening a few issues on this repo in a relatively short timeframe, I'd like to emphasise that my experience across several of the RustCrypto crates has been overwhelmingly positive! Everything I've wanted to do has an API/trait, has felt ergonomic, and has worked once it's compiled ❤️

Lingua principale
Rust
Stelle
338
Fork
188
Merge medio
4g 6h
PR unite (30g)
15

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/formats

Tutte le issue di RustCrypto/formats

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.