summaryrefslogtreecommitdiff
path: root/src/cli/runtime/PersistentHashtableIdentityMap.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cli/runtime/PersistentHashtableIdentityMap.cs')
-rw-r--r--src/cli/runtime/PersistentHashtableIdentityMap.cs18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/cli/runtime/PersistentHashtableIdentityMap.cs b/src/cli/runtime/PersistentHashtableIdentityMap.cs
index 51078d0a..5ea01457 100644
--- a/src/cli/runtime/PersistentHashtableIdentityMap.cs
+++ b/src/cli/runtime/PersistentHashtableIdentityMap.cs
@@ -85,16 +85,22 @@ internal class Iter2 : IEnumerator
internal override IPersistentMap create(int capacity) {
- return new PersistentHashtableIdentityMap(capacity);
-}
+ PersistentHashtableIdentityMap ret = new PersistentHashtableIdentityMap(capacity);
+ ret._meta = _meta;
+ return ret;
+ }
internal override IPersistentMap create(int count, PersistentArray array) {
- return new PersistentHashtableIdentityMap(count, array);
-}
+ PersistentHashtableIdentityMap ret = new PersistentHashtableIdentityMap(count, array);
+ ret._meta = _meta;
+ return ret;
+ }
internal override IPersistentMap create(int i, PersistentArray newArray, int growAtCount){
-return new PersistentHashtableIdentityMap(i, newArray, growAtCount);
-}
+ PersistentHashtableIdentityMap ret = new PersistentHashtableIdentityMap(i, newArray, growAtCount);
+ ret._meta = _meta;
+ return ret;
+ }
internal override IPersistentMap createListMap(Object key, Object val){
return PersistentListIdentityMap.create(key,val);