From 9ba7114515db355ca36065d2730e3ee6c84cd6d1 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Thu, 31 Jan 2013 17:28:37 -0500 Subject: [PATCH] implement container::Mutable for SmallIntMap --- src/libstd/smallintmap.rs | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/libstd/smallintmap.rs b/src/libstd/smallintmap.rs index 381aa3b7963..59ae9f68d6e 100644 --- a/src/libstd/smallintmap.rs +++ b/src/libstd/smallintmap.rs @@ -95,6 +95,10 @@ impl SmallIntMap: Container { pure fn is_empty(&self) -> bool { self.len() == 0 } } +impl SmallIntMap: Mutable { + fn clear(&mut self) { self.v.set(~[]) } +} + /// Implements the map::map interface for smallintmap impl SmallIntMap { #[inline(always)] @@ -111,9 +115,6 @@ impl SmallIntMap { self.v.set_elt(key, None); old.is_some() } - fn clear() { - self.v.set(~[]); - } pure fn contains_key(key: uint) -> bool { contains_key(self, key) } @@ -191,6 +192,19 @@ mod tests { assert !map.is_empty(); } + #[test] + fn test_clear() { + let mut map = mk(); + map.insert(5, 20); + map.insert(11, 12); + map.insert(14, 22); + map.clear(); + assert map.is_empty(); + assert map.find(5).is_none(); + assert map.find(11).is_none(); + assert map.find(14).is_none(); + } + #[test] fn test_insert_with_key() { let map: SmallIntMap = mk();