commit 5c47f725b0e1628aab1d6f5b43dc32a493ce58e8 Author: cypherpunks cypherpunks@torproject.org Date: Wed Aug 15 03:23:08 2018 +0000
rust/protover: delete ProtoSet::retain
As the comment noted, it was horribly inefficient. --- src/rust/protover/protoset.rs | 30 ------------------------------ 1 file changed, 30 deletions(-)
diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs index 27c16c700..465b8f285 100644 --- a/src/rust/protover/protoset.rs +++ b/src/rust/protover/protoset.rs @@ -242,36 +242,6 @@ impl ProtoSet { false }
- /// Retain only the `Version`s in this `ProtoSet` for which the predicate - /// `F` returns `true`. - /// - /// # Examples - /// - /// ``` - /// # use protover::errors::ProtoverError; - /// use protover::protoset::ProtoSet; - /// - /// # fn do_test() -> Result<bool, ProtoverError> { - /// let mut protoset: ProtoSet = "1,3-5,9".parse()?; - /// - /// // Keep only versions less than or equal to 8: - /// protoset.retain(|x| x <= &8); - /// - /// assert_eq!(protoset.expand(), vec![1, 3, 4, 5]); - /// # - /// # Ok(true) - /// # } - /// # fn main() { do_test(); } // wrap the test so we can use the ? operator - /// ``` - // XXX we could probably do something more efficient here. —isis - pub fn retain<F>(&mut self, f: F) - where F: FnMut(&Version) -> bool - { - let mut expanded: Vec<Version> = self.clone().expand(); - expanded.retain(f); - *self = expanded.into(); - } - /// Returns all the `Version`s in `self` which are not also in the `other` /// `ProtoSet`. ///
tor-commits@lists.torproject.org