#[macro_use] | |
extern crate hash32_derive; | |
extern crate hash32; | |
use hash32::{FnvHasher, Hash, Hasher}; | |
#[derive(Hash32)] | |
struct Led { | |
state: bool, | |
} | |
#[derive(Hash32)] | |
struct Ipv4Addr([u8; 4]); | |
#[derive(Hash32)] | |
struct Generic<T> { | |
inner: T, | |
} | |
fn main() { | |
let mut fnv = FnvHasher::default(); | |
Led { state: true }.hash(&mut fnv); | |
Generic { inner: 0 }.hash(&mut fnv); | |
Ipv4Addr([127, 0, 0, 1]).hash(&mut fnv); | |
println!("{}", fnv.finish()) | |
} |