D6593: rust-minor-fixes: remove Deref in favor of explicit methods
Alphare (Raphaël Gomès)
phabricator at mercurial-scm.org
Thu Jul 4 11:00:23 EDT 2019
Alphare updated this revision to Diff 15740.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6593?vs=15729&id=15740
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D6593/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D6593
AFFECTED FILES
rust/hg-core/src/dirstate/dirs_multiset.rs
CHANGE DETAILS
diff --git a/rust/hg-core/src/dirstate/dirs_multiset.rs b/rust/hg-core/src/dirstate/dirs_multiset.rs
--- a/rust/hg-core/src/dirstate/dirs_multiset.rs
+++ b/rust/hg-core/src/dirstate/dirs_multiset.rs
@@ -8,9 +8,8 @@
//! A multiset of directory names.
//!
//! Used to counts the references to directories in a manifest or dirstate.
-use std::collections::hash_map::Entry;
+use std::collections::hash_map::{Entry, Iter};
use std::collections::HashMap;
-use std::ops::Deref;
use {DirsIterable, DirstateEntry, DirstateMapError};
#[derive(PartialEq, Debug)]
@@ -18,14 +17,6 @@
inner: HashMap<Vec<u8>, u32>,
}
-impl Deref for DirsMultiset {
- type Target = HashMap<Vec<u8>, u32>;
-
- fn deref(&self) -> &Self::Target {
- &self.inner
- }
-}
-
impl DirsMultiset {
/// Initializes the multiset from a dirstate or a manifest.
///
@@ -132,6 +123,22 @@
Ok(())
}
+
+ pub fn contains_key(&self, key: &[u8]) -> bool {
+ self.inner.contains_key(key)
+ }
+
+ pub fn iter(&self) -> Iter<Vec<u8>, u32> {
+ self.inner.iter()
+ }
+
+ pub fn len(&self) -> usize {
+ self.inner.len()
+ }
+
+ pub fn get(&self, key: &[u8]) -> Option<&u32> {
+ self.inner.get(key)
+ }
}
#[cfg(test)]
To: Alphare, #hg-reviewers
Cc: durin42, kevincox, mercurial-devel
More information about the Mercurial-devel
mailing list