From 605a3543468438dfce031d401cb68cb717cda60e Mon Sep 17 00:00:00 2001 From: Yegor Bugayenko Date: Mon, 17 Apr 2023 10:02:10 +0300 Subject: [PATCH] #7 clear() --- src/map.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/map.rs b/src/map.rs index 334076f..4a108ff 100644 --- a/src/map.rs +++ b/src/map.rs @@ -181,6 +181,12 @@ impl Map { } None } + + /// Remove all pairs from it, but keep the space intact for future use. + #[inline] + pub fn clear(&mut self) { + self.next = 0; + } } #[cfg(test)] @@ -298,3 +304,12 @@ fn large_map_in_heap() -> Result<()> { assert_eq!(0, m.len()); Ok(()) } + +#[test] +fn clears_it_up() -> Result<()> { + let mut m: Map<&str, i32, 10> = Map::new(); + m.insert("one", 42); + m.clear(); + assert_eq!(0, m.len()); + Ok(()) +}