Skip to content

Commit 1a2670e

Browse files
committed
Fixup merge / add true merge macro for maps
1 parent 164669a commit 1a2670e

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/persistent_list_map.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,18 @@ macro_rules! conj {
7979
};
8080
}
8181

82-
/// merge!(base_meta(name, ns), map_entry!("key1", "value1"), map_entry!("key2", "value2"));
82+
/// merge!(persistent_list_map!{"a" => 1 "b" => 2}
83+
/// persistent_list_map!{"b" => 3}
84+
/// persistent_list_map!{"d" => 5 "e" => 7}
85+
/// ), ;
8386
#[macro_export]
84-
macro_rules! merge_maps {
85-
( $plistmap:expr, $($kv:expr), *) => {
87+
macro_rules! merge {
88+
( $plistmap:expr, $($map:expr), *) => {
8689
{
8790
let mut temp_plistmap_as_vec = $plistmap.clone().iter().collect::<Vec<MapEntry>>();
8891
$(
89-
temp_plistmap_as_vec.push($kv);
92+
let next_map_as_vec = $map.clone().iter().collect::<Vec<MapEntry>>();
93+
temp_plistmap_as_vec.extend_from_slice(&next_map_as_vec);
9094
)*
9195
temp_plistmap_as_vec.into_iter().collect::<PersistentListMap>()
9296
}

0 commit comments

Comments
 (0)