usecore::hash::{Hash, Hasher};usestd::collections::hash_map::DefaultHasher;pubfnhash<T: Hash>(expr:&T)->u64{// There is no way to reset a hasher's state, so we create a new one each time.
letmut hasher =DefaultHasher::new();
expr.hash(&mut hasher);
hasher.finish()}