1#[cfg(test)]
2mod tests;
3
4use {
5 crate::StableMap,
6 core::hash::{BuildHasher, Hash},
7};
8
9impl<'a, K, V, S> Extend<&'a (K, V)> for StableMap<K, V, S>
10where
11 K: Eq + Hash + Clone,
12 V: Clone,
13 S: BuildHasher,
14{
15 fn extend<T: IntoIterator<Item = &'a (K, V)>>(&mut self, iter: T) {
16 for (k, v) in iter {
17 self.insert(k.clone(), v.clone());
18 }
19 }
20}
21
22impl<'a, K, V, S> Extend<(&'a K, &'a V)> for StableMap<K, V, S>
23where
24 K: Eq + Hash + Clone,
25 V: Clone,
26 S: BuildHasher,
27{
28 fn extend<T: IntoIterator<Item = (&'a K, &'a V)>>(&mut self, iter: T) {
29 for (k, v) in iter {
30 self.insert(k.clone(), v.clone());
31 }
32 }
33}
34
35impl<K, V, S> Extend<(K, V)> for StableMap<K, V, S>
36where
37 K: Eq + Hash,
38 S: BuildHasher,
39{
40 fn extend<T: IntoIterator<Item = (K, V)>>(&mut self, iter: T) {
41 for (k, v) in iter {
42 self.insert(k, v);
43 }
44 }
45}