1use crate::prelude::*;
2
3impl<T: StableHash> StableHash for Vec<T> {
4 fn stable_hash<H: StableHasher>(&self, field_address: H::Addr, state: &mut H) {
5 profile_method!(stable_hash);
6
7 (&self[..]).stable_hash(field_address, state)
8 }
9}
10
11impl<'a, T: StableHash> StableHash for &'a [T] {
12 fn stable_hash<H: StableHasher>(&self, field_address: H::Addr, state: &mut H) {
13 profile_method!(stable_hash);
14
15 for (index, item) in self.iter().enumerate() {
16 item.stable_hash(field_address.child(index as u64), state);
17 }
18 self.len().stable_hash(field_address, state);
23 }
24}