Skip to content

Commit c7a2acd

Browse files
committed
Keymap::insert now takes the item by reference rather than by value
1 parent 7bb67d1 commit c7a2acd

File tree

2 files changed

+27
-27
lines changed

2 files changed

+27
-27
lines changed

packages/storage/src/append_store.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -375,29 +375,29 @@ mod tests {
375375
let append_store: AppendStore<i32> = AppendStore::new(b"test");
376376

377377
assert!(append_store.length.lock().unwrap().eq(&None));
378-
assert_eq!(append_store.get_len(&mut storage)?, 0);
378+
assert_eq!(append_store.get_len(&storage)?, 0);
379379
assert!(append_store.length.lock().unwrap().eq(&Some(0)));
380380

381381
append_store.push(&mut storage, &1234)?;
382382
append_store.push(&mut storage, &2143)?;
383383
append_store.push(&mut storage, &3412)?;
384384
append_store.push(&mut storage, &4321)?;
385385
assert!(append_store.length.lock().unwrap().eq(&Some(4)));
386-
assert_eq!(append_store.get_len(&mut storage)?, 4);
386+
assert_eq!(append_store.get_len(&storage)?, 4);
387387

388388
assert_eq!(append_store.pop(&mut storage), Ok(4321));
389389
assert_eq!(append_store.pop(&mut storage), Ok(3412));
390390
assert!(append_store.length.lock().unwrap().eq(&Some(2)));
391-
assert_eq!(append_store.get_len(&mut storage)?, 2);
391+
assert_eq!(append_store.get_len(&storage)?, 2);
392392

393393
assert_eq!(append_store.pop(&mut storage), Ok(2143));
394394
assert_eq!(append_store.pop(&mut storage), Ok(1234));
395395
assert!(append_store.length.lock().unwrap().eq(&Some(0)));
396-
assert_eq!(append_store.get_len(&mut storage)?, 0);
396+
assert_eq!(append_store.get_len(&storage)?, 0);
397397

398398
assert!(append_store.pop(&mut storage).is_err());
399399
assert!(append_store.length.lock().unwrap().eq(&Some(0)));
400-
assert_eq!(append_store.get_len(&mut storage)?, 0);
400+
assert_eq!(append_store.get_len(&storage)?, 0);
401401

402402
Ok(())
403403
}

packages/storage/src/keymap.rs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -249,12 +249,12 @@ impl<'a, K: Serialize + DeserializeOwned, T: Serialize + DeserializeOwned, Ser:
249249
}
250250

251251
/// user facing insert function
252-
pub fn insert<S: Storage>(&self, storage: &mut S, key: &K, item: T) -> StdResult<()> {
252+
pub fn insert<S: Storage>(&self, storage: &mut S, key: &K, item: &T) -> StdResult<()> {
253253
let key_vec = self.serialize_key(key)?;
254254
match self.may_load_impl(storage, &key_vec)? {
255255
Some(existing_internal_item) => {
256256
// if item already exists
257-
let new_internal_item = InternalItem::new(existing_internal_item.index_pos, &item)?;
257+
let new_internal_item = InternalItem::new(existing_internal_item.index_pos, item)?;
258258
self.save_impl(storage, &key_vec, &new_internal_item)
259259
}
260260
None => {
@@ -263,7 +263,7 @@ impl<'a, K: Serialize + DeserializeOwned, T: Serialize + DeserializeOwned, Ser:
263263
self.set_len(storage, pos + 1)?;
264264
let page = _page_from_position(pos);
265265
// save the item
266-
let internal_item = InternalItem::new(pos, &item)?;
266+
let internal_item = InternalItem::new(pos, item)?;
267267
self.save_impl(storage, &key_vec, &internal_item)?;
268268
// add index
269269
let mut indexes = self._get_indexes(storage, page)?;
@@ -1143,7 +1143,7 @@ mod tests {
11431143

11441144
for i in 0..total_items {
11451145
let key: Vec<u8> = (i as i32).to_be_bytes().to_vec();
1146-
keymap.insert(&mut storage, &key, i)?;
1146+
keymap.insert(&mut storage, &key, &i)?;
11471147
}
11481148

11491149
assert_eq!(keymap.get_len(&storage)?, 1000);
@@ -1160,7 +1160,7 @@ mod tests {
11601160
let keymap: Keymap<i32, i32> = Keymap::new(b"test");
11611161

11621162
for i in 0..total_items {
1163-
keymap.insert(&mut storage, &i, i)?;
1163+
keymap.insert(&mut storage, &i, &i)?;
11641164
}
11651165

11661166
for i in 0..total_items {
@@ -1182,7 +1182,7 @@ mod tests {
11821182

11831183
for i in 0..total_items {
11841184
let key: Vec<u8> = (i as i32).to_be_bytes().to_vec();
1185-
keymap.insert(&mut storage, &key, i)?;
1185+
keymap.insert(&mut storage, &key, &i)?;
11861186
}
11871187

11881188
for i in 0..((total_items / page_size) - 1) {
@@ -1210,7 +1210,7 @@ mod tests {
12101210
let keymap: Keymap<i32, u32> = Keymap::new(b"test");
12111211

12121212
for i in 0..total_items {
1213-
keymap.insert(&mut storage, &(i as i32), i)?;
1213+
keymap.insert(&mut storage, &(i as i32), &i)?;
12141214
}
12151215

12161216
let values = keymap.paging_keys(&storage, 0, page_size)?;
@@ -1238,8 +1238,8 @@ mod tests {
12381238
number: 1111,
12391239
};
12401240

1241-
keymap.insert(&mut storage, &b"key1".to_vec(), foo1.clone())?;
1242-
keymap.insert(&mut storage, &b"key2".to_vec(), foo2.clone())?;
1241+
keymap.insert(&mut storage, &b"key1".to_vec(), &foo1)?;
1242+
keymap.insert(&mut storage, &b"key2".to_vec(), &foo2)?;
12431243

12441244
let read_foo1 = keymap.get(&storage, &b"key1".to_vec()).unwrap();
12451245
let read_foo2 = keymap.get(&storage, &b"key2".to_vec()).unwrap();
@@ -1259,10 +1259,10 @@ mod tests {
12591259
number: 1111,
12601260
};
12611261

1262-
keymap.insert(&mut storage, &b"key1".to_vec(), foo1)?;
1262+
keymap.insert(&mut storage, &b"key1".to_vec(), &foo1)?;
12631263
let contains_k1 = keymap.contains(&storage, &b"key1".to_vec());
12641264

1265-
assert_eq!(contains_k1, true);
1265+
assert!(contains_k1);
12661266

12671267
Ok(())
12681268
}
@@ -1281,8 +1281,8 @@ mod tests {
12811281
number: 1111,
12821282
};
12831283

1284-
keymap.insert(&mut storage, &b"key1".to_vec(), foo1.clone())?;
1285-
keymap.insert(&mut storage, &b"key2".to_vec(), foo2.clone())?;
1284+
keymap.insert(&mut storage, &b"key1".to_vec(), &foo1)?;
1285+
keymap.insert(&mut storage, &b"key2".to_vec(), &foo2)?;
12861286

12871287
let mut x = keymap.iter(&storage)?;
12881288
let (len, _) = x.size_hint();
@@ -1312,8 +1312,8 @@ mod tests {
13121312
let key1 = "key1".to_string();
13131313
let key2 = "key2".to_string();
13141314

1315-
keymap.insert(&mut storage, &key1, foo1)?;
1316-
keymap.insert(&mut storage, &key2, foo2)?;
1315+
keymap.insert(&mut storage, &key1, &foo1)?;
1316+
keymap.insert(&mut storage, &key2, &foo2)?;
13171317

13181318
let mut x = keymap.iter_keys(&storage)?;
13191319
let (len, _) = x.size_hint();
@@ -1340,8 +1340,8 @@ mod tests {
13401340
number: 2222,
13411341
};
13421342

1343-
keymap.insert(&mut storage, &b"key1".to_vec(), foo1)?;
1344-
keymap.insert(&mut storage, &b"key1".to_vec(), foo2.clone())?;
1343+
keymap.insert(&mut storage, &b"key1".to_vec(), &foo1)?;
1344+
keymap.insert(&mut storage, &b"key1".to_vec(), &foo2)?;
13451345

13461346
let foo3 = keymap.get(&storage, &b"key1".to_vec()).unwrap();
13471347

@@ -1364,8 +1364,8 @@ mod tests {
13641364
string: "string one".to_string(),
13651365
number: 1111,
13661366
};
1367-
keymap.insert(&mut storage, &"key1".to_string(), foo1.clone())?;
1368-
keymap.insert(&mut storage, &"key2".to_string(), foo2.clone())?;
1367+
keymap.insert(&mut storage, &"key1".to_string(), &foo1)?;
1368+
keymap.insert(&mut storage, &"key2".to_string(), &foo2)?;
13691369

13701370
let read_foo1 = keymap.get(&storage, &"key1".to_string()).unwrap();
13711371
let read_foo2 = keymap.get(&storage, &"key2".to_string()).unwrap();
@@ -1415,12 +1415,12 @@ mod tests {
14151415
let key1 = "k1".to_string();
14161416
let key2 = "k2".to_string();
14171417

1418-
keymap.insert(&mut storage, &key1, foo1.clone())?;
1418+
keymap.insert(&mut storage, &key1, &foo1)?;
14191419
assert_eq!(keymap.get_len(&storage)?, 1);
14201420
assert!(keymap.length.lock().unwrap().eq(&Some(1)));
14211421

14221422
// add another item
1423-
keymap.insert(&mut storage, &key2, foo2)?;
1423+
keymap.insert(&mut storage, &key2, &foo2)?;
14241424
assert_eq!(keymap.get_len(&storage)?, 2);
14251425
assert!(keymap.length.lock().unwrap().eq(&Some(2)));
14261426

@@ -1430,7 +1430,7 @@ mod tests {
14301430
assert!(keymap.length.lock().unwrap().eq(&Some(1)));
14311431

14321432
// override item (should not change length)
1433-
keymap.insert(&mut storage, &key2, foo1)?;
1433+
keymap.insert(&mut storage, &key2, &foo1)?;
14341434
assert_eq!(keymap.get_len(&storage)?, 1);
14351435
assert!(keymap.length.lock().unwrap().eq(&Some(1)));
14361436

0 commit comments

Comments
 (0)