Open izik1 opened 1 year ago
Yes, we will appreciate documentation improvement PRs.
Related, I couldn't get https://github.com/RustCrypto/hashes?tab=readme-ov-file#examples working correctly, had to use the following:
use sha2::{Sha256, Digest};
// from the example
// no such associated item (E0599)
let digest = Sha256::digest(b"hello");
// my usage
// this works
let digest = <Sha256 as Digest>::digest(b"hello");
@jselig-rigetti works fine here: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=67a52089d26fccb4f956fc397079b343
It's possible you have another trait in scope which defines a digest
method and thus requires you disambiguate
Ah, it could have been, thanks for the link!
For someone new to the ecosystem it might be hard to tell how to use a... For example,
sha3::Keccak256
(https://docs.rs/sha3/latest/sha3/type.Keccak256.html), it's just a type alias with no real info about what it is (other than some nebulous "hasher state") or how to use it. I'd recommend linking to theDigest
trait in the docs as a way of explaining "how to use it"Additionally (if I should move this to a separate issue, let me know and I will do so) I would recommend an example specifically showing how to
sha3::Keccak256::digest(b"a message")
in one go. Finally, the example(s) that useupdate
should add more than one message. This would be so that show new user why you would usenew
and thenupdate
rather thandigest
("because you can add more than one thing").I would be willing to create the examples / documentation if this would be agreeable