Patchwork D7255: rust-matchers: remove default implementations for `Matcher` trait

login
register
mail settings
Submitter phabricator
Date Nov. 11, 2019, 9:17 p.m.
Message ID <8df2d3201bb7792a3e71913b613924f9@localhost.localdomain>
Download mbox | patch
Permalink /patch/43131/
State Not Applicable
Headers show

Comments

phabricator - Nov. 11, 2019, 9:17 p.m.
Closed by commit rHG27c25c0dc967: rust-matchers: remove default implementations for `Matcher` trait (authored by Alphare).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7255?vs=17626&id=18027

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7255/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D7255

AFFECTED FILES
  rust/hg-core/src/matchers.rs

CHANGE DETAILS




To: Alphare, #hg-reviewers, kevincox
Cc: durin42, kevincox, mercurial-devel

Patch

diff --git a/rust/hg-core/src/matchers.rs b/rust/hg-core/src/matchers.rs
--- a/rust/hg-core/src/matchers.rs
+++ b/rust/hg-core/src/matchers.rs
@@ -26,13 +26,9 @@ 
     /// Explicitly listed files
     fn file_set(&self) -> HashSet<&HgPath>;
     /// Returns whether `filename` is in `file_set`
-    fn exact_match(&self, _filename: impl AsRef<HgPath>) -> bool {
-        false
-    }
+    fn exact_match(&self, filename: impl AsRef<HgPath>) -> bool;
     /// Returns whether `filename` is matched by this matcher
-    fn matches(&self, _filename: impl AsRef<HgPath>) -> bool {
-        false
-    }
+    fn matches(&self, filename: impl AsRef<HgPath>) -> bool;
     /// Decides whether a directory should be visited based on whether it
     /// has potential matches in it or one of its subdirectories, and
     /// potentially lists which subdirectories of that directory should be
@@ -71,20 +67,14 @@ 
     /// `VisitChildrenSet::This`).
     fn visit_children_set(
         &self,
-        _directory: impl AsRef<HgPath>,
-    ) -> VisitChildrenSet {
-        VisitChildrenSet::This
-    }
+        directory: impl AsRef<HgPath>,
+    ) -> VisitChildrenSet;
     /// Matcher will match everything and `files_set()` will be empty:
     /// optimization might be possible.
-    fn matches_everything(&self) -> bool {
-        false
-    }
+    fn matches_everything(&self) -> bool;
     /// Matcher will match exactly the files in `files_set()`: optimization
     /// might be possible.
-    fn is_exact(&self) -> bool {
-        false
-    }
+    fn is_exact(&self) -> bool;
 }
 
 /// Matches everything.
@@ -95,11 +85,22 @@ 
     fn file_set(&self) -> HashSet<&HgPath> {
         HashSet::new()
     }
-
+    fn exact_match(&self, _filename: impl AsRef<HgPath>) -> bool {
+        false
+    }
+    fn matches(&self, _filename: impl AsRef<HgPath>) -> bool {
+        true
+    }
     fn visit_children_set(
         &self,
         _directory: impl AsRef<HgPath>,
     ) -> VisitChildrenSet {
         VisitChildrenSet::Recursive
     }
+    fn matches_everything(&self) -> bool {
+        true
+    }
+    fn is_exact(&self) -> bool {
+        false
+    }
 }