Skip to content

Commit dbeef1d

Browse files
committed
remove the LinearMap get_copy method
This isn't simpler (or faster) than just doing the copy in the caller, and it doesn't work for types that can be cloned but not copied.
1 parent 45c9f6a commit dbeef1d

File tree

1 file changed

+9
-17
lines changed

1 file changed

+9
-17
lines changed

src/libcore/hashmap.rs

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -413,14 +413,6 @@ pub mod linear {
413413
}
414414
}
415415
}
416-
417-
pure fn get_copy(&const self, k: &K) -> V {
418-
let value = self.find_copy(k);
419-
if value.is_none() {
420-
fail fmt!("No entry found for key: %?", k);
421-
}
422-
option::unwrap(move value)
423-
}
424416
}
425417

426418
impl<K:Hash IterBytes Eq, V: Eq> LinearMap<K, V>: Eq {
@@ -503,17 +495,17 @@ pub mod test {
503495
let mut m = ~LinearMap();
504496
assert m.insert(1, 2);
505497
assert m.insert(2, 4);
506-
assert m.get_copy(&1) == 2;
507-
assert m.get_copy(&2) == 4;
498+
assert *m.get(&1) == 2;
499+
assert *m.get(&2) == 4;
508500
}
509501

510502
#[test]
511503
pub fn overwrite() {
512504
let mut m = ~LinearMap();
513505
assert m.insert(1, 2);
514-
assert m.get_copy(&1) == 2;
506+
assert *m.get(&1) == 2;
515507
assert !m.insert(1, 3);
516-
assert m.get_copy(&1) == 3;
508+
assert *m.get(&1) == 3;
517509
}
518510

519511
#[test]
@@ -522,9 +514,9 @@ pub mod test {
522514
assert m.insert(1, 2);
523515
assert m.insert(5, 3);
524516
assert m.insert(9, 4);
525-
assert m.get_copy(&9) == 4;
526-
assert m.get_copy(&5) == 3;
527-
assert m.get_copy(&1) == 2;
517+
assert *m.get(&9) == 4;
518+
assert *m.get(&5) == 3;
519+
assert *m.get(&1) == 2;
528520
}
529521

530522
#[test]
@@ -534,8 +526,8 @@ pub mod test {
534526
assert m.insert(5, 3);
535527
assert m.insert(9, 4);
536528
assert m.remove(&1);
537-
assert m.get_copy(&9) == 4;
538-
assert m.get_copy(&5) == 3;
529+
assert *m.get(&9) == 4;
530+
assert *m.get(&5) == 3;
539531
}
540532

541533
#[test]

0 commit comments

Comments
 (0)