From df805ef153799e32fe3fabe6a23683e632d6085b Mon Sep 17 00:00:00 2001 From: DJ_Laser <90146620+DJ-Laser@users.noreply.github.com> Date: Sun, 10 Nov 2024 02:52:12 +0000 Subject: [PATCH] fix up doctests --- src/set.rs | 80 ++++++++++++------------------------------------------ 1 file changed, 17 insertions(+), 63 deletions(-) diff --git a/src/set.rs b/src/set.rs index 303b580..a0a9a32 100644 --- a/src/set.rs +++ b/src/set.rs @@ -4,7 +4,6 @@ use std::collections::hash_map::RandomState; use std::collections::{BTreeSet, HashSet}; use std::hash::{BuildHasher, Hash}; use std::iter::FromIterator; -use std::ops::Index; use stable_deref_trait::StableDeref; @@ -37,7 +36,7 @@ impl FrozenSet { /// /// let set = FrozenSet::new(); /// assert_eq!(set.len(), 0); - /// set.insert(1, Box::new("a")); + /// set.insert("a".to_string()); /// assert_eq!(set.len(), 1); /// ``` pub fn len(&self) -> usize { @@ -58,7 +57,7 @@ impl FrozenSet { /// /// let set = FrozenSet::new(); /// assert_eq!(set.is_empty(), true); - /// set.insert(1, Box::new("a")); + /// set.insert("a".to_string()); /// assert_eq!(set.is_empty(), false); /// ``` pub fn is_empty(&self) -> bool { @@ -100,9 +99,9 @@ impl FrozenSet { /// use elsa::FrozenSet; /// /// let set = FrozenSet::new(); - /// set.insert(1, Box::new("a")); - /// assert_eq!(set.get(&1), Some(&"a")); - /// assert_eq!(set.get(&2), None); + /// set.insert("a".to_string()); + /// assert_eq!(set.get("a"), Some("a")); + /// assert_eq!(set.get("b"), None); /// ``` pub fn get(&self, value: &Q) -> Option<&T::Target> where @@ -131,12 +130,12 @@ impl FrozenSet { /// use elsa::FrozenSet; /// /// let set = FrozenSet::new(); - /// set.insert(1, Box::new("a")); - /// set.insert(2, Box::new("b")); + /// set.insert("a".to_string()); + /// set.insert("b".to_string()); /// let mut tuple_vec = set.into_tuple_vec(); /// tuple_vec.sort(); /// - /// assert_eq!(tuple_vec, vec![(1, Box::new("a")), (2, Box::new("b"))]); + /// assert_eq!(tuple_vec, vec!["a", "b"]); /// ``` pub fn into_tuple_vec(self) -> Vec { self.set.into_inner().into_iter().collect::>() @@ -166,29 +165,6 @@ impl From> for FrozenSet { } } -impl Index<&Q> for FrozenSet -where - Q: Eq + Hash, - T: Eq + Hash + StableDeref + Borrow, - S: BuildHasher, -{ - type Output = T::Target; - - /// # Examples - /// - /// ``` - /// use elsa::FrozenSet; - /// - /// let set = FrozenSet::new(); - /// set.insert(1, Box::new("a")); - /// assert_eq!(set[&1], "a"); - /// ``` - fn index(&self, idx: &Q) -> &T::Target { - self.get(idx) - .expect("attempted to index FrozenSet with unknown key") - } -} - impl FromIterator for FrozenSet { fn from_iter(iter: U) -> Self where @@ -263,7 +239,7 @@ impl FrozenBTreeSet { /// /// let set = FrozenBTreeSet::new(); /// assert_eq!(set.len(), 0); - /// set.insert(1, Box::new("a")); + /// set.insert("a".to_string()); /// assert_eq!(set.len(), 1); /// ``` pub fn len(&self) -> usize { @@ -284,7 +260,7 @@ impl FrozenBTreeSet { /// /// let set = FrozenBTreeSet::new(); /// assert_eq!(set.is_empty(), true); - /// set.insert(1, Box::new("a")); + /// set.insert("a".to_string()); /// assert_eq!(set.is_empty(), false); /// ``` pub fn is_empty(&self) -> bool { @@ -293,7 +269,7 @@ impl FrozenBTreeSet { } impl FrozenBTreeSet { - // these should never return &K or &V + // these should never return &T // these should never delete any entries pub fn insert(&self, value: T) -> &T::Target { assert!(!self.in_use.get()); @@ -325,9 +301,9 @@ impl FrozenBTreeSet { /// use elsa::FrozenBTreeSet; /// /// let set = FrozenBTreeSet::new(); - /// set.insert(1, Box::new("a")); - /// assert_eq!(set.get(&1), Some(&"a")); - /// assert_eq!(set.get(&2), None); + /// set.insert("a".to_string()); + /// assert_eq!(set.get("a"), Some("a")); + /// assert_eq!(set.get("b"), None); /// ``` pub fn get(&self, value: &Q) -> Option<&T::Target> where @@ -356,12 +332,12 @@ impl FrozenBTreeSet { /// use elsa::FrozenBTreeSet; /// /// let set = FrozenBTreeSet::new(); - /// set.insert(1, Box::new("a")); - /// set.insert(2, Box::new("b")); + /// set.insert("a".to_string()); + /// set.insert("b".to_string()); /// let mut tuple_vec = set.into_tuple_vec(); /// tuple_vec.sort(); /// - /// assert_eq!(tuple_vec, vec![(1, Box::new("a")), (2, Box::new("b"))]); + /// assert_eq!(tuple_vec, vec!["a", "b"]); /// ``` pub fn into_tuple_vec(self) -> Vec { self.set.into_inner().into_iter().collect::>() @@ -391,28 +367,6 @@ impl From> for FrozenBTreeSet { } } -impl Index<&Q> for FrozenBTreeSet -where - Q: Ord, - T: Clone + Ord + StableDeref + Borrow, -{ - type Output = T::Target; - - /// # Examples - /// - /// ``` - /// use elsa::FrozenBTreeSet; - /// - /// let set = FrozenBTreeSet::new(); - /// set.insert(1, Box::new("a")); - /// assert_eq!(set[&1], "a"); - /// ``` - fn index(&self, idx: &Q) -> &T::Target { - self.get(idx) - .expect("attempted to index FrozenBTreeSet with unknown key") - } -} - impl FromIterator for FrozenBTreeSet { fn from_iter(iter: U) -> Self where