[][src]Crate tiny_multihash_derive

This proc macro derives a MultihashDigest implementation from a list of hashers.

Example

This example deliberately fails to compile
use multihash::derive::Multihash;
use multihash::{Hasher, MultihashDigest};

const FOO: u64 = 0x01;
const BAR: u64 = 0x02;

#[derive(Clone, Debug, Eq, Multihash, PartialEq)]
pub enum Multihash {
    #[mh(code = FOO, hasher = multihash::Sha2_256)]
    Foo(multihash::Sha2Digest<multihash::U32>),
    #[mh(code = BAR, hasher = multihash::Sha2_512)]
    Bar(multihash::Sha2Digest<multihash::U64>),
}

Derive Macros

Multihash