Skip to content

Commit 9984a31

Browse files
authoredFeb 3, 2017
Merge pull request rust-num#240 from Kroisse/from-iterator-for-map
Implement FromIterator and Extend for value::Map
2 parents 248df27 + 9286682 commit 9984a31

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed
 

‎json/src/map.rs

+15
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use serde::{ser, de};
22
use std::fmt::{self, Debug};
33
use value::Value;
44
use std::hash::Hash;
5+
use std::iter::FromIterator;
56
use std::borrow::Borrow;
67
use std::ops;
78

@@ -274,6 +275,20 @@ impl de::Deserialize for Map<String, Value> {
274275
}
275276
}
276277

278+
impl FromIterator<(String, Value)> for Map<String, Value> {
279+
fn from_iter<T>(iter: T) -> Self where T: IntoIterator<Item=(String, Value)> {
280+
Map {
281+
map: FromIterator::from_iter(iter)
282+
}
283+
}
284+
}
285+
286+
impl Extend<(String, Value)> for Map<String, Value> {
287+
fn extend<T>(&mut self, iter: T) where T: IntoIterator<Item=(String, Value)> {
288+
self.map.extend(iter);
289+
}
290+
}
291+
277292
macro_rules! delegate_iterator {
278293
(($name:ident $($generics:tt)*) => $item:ty) => {
279294
impl $($generics)* Iterator for $name $($generics)* {

0 commit comments

Comments
 (0)