summary refs log tree commit diff stats
path: root/src/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.rs')
-rw-r--r--src/parser.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/parser.rs b/src/parser.rs
index eb54c86..8f8c200 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -20,7 +20,6 @@ use std::borrow::Borrow;
 use std::collections::BTreeMap;
 use std::mem::ManuallyDrop;
 
-use boolinator::Boolinator;
 use regex::Regex;
 
 use crate::PatternTypes;
@@ -88,7 +87,7 @@ impl<'r, 's, P: Borrow<str> + Ord, O: Borrow<str> + Ord, T: PatternTypes> Subtre
         }
     }
 
-    fn commit(mut self) -> usize {
+    fn commit(self) -> usize {
         let mut self_ = ManuallyDrop::new(self);
         let proto = self_.root.consts.protos.pop().unwrap();
         let id = self_.root.closed_subtrees.next().unwrap();
@@ -132,7 +131,7 @@ impl<'r, 's, P: Borrow<str> + Ord, O: Borrow<str> + Ord, T: PatternTypes> TagHel
         }
     }
 
-    fn commit(mut self) {
+    fn commit(self) {
         std::mem::forget(self)
     }
 }
@@ -439,7 +438,7 @@ impl<'s, P: Borrow<str> + Ord, O: Borrow<str> + Ord, T: PatternTypes> Parser<'s,
                 Ok,
             )?;
             let proto = self.consts.protos.last_mut().expect("protos");
-            proto.push(PatternElement::ApplyPredicate(id, skippable, std::marker::PhantomData));
+            proto.push(PatternElement::ApplyPredicate(id, skippable));
             self.sp(&mut cursor);
             *s = cursor;
             true
@@ -582,8 +581,9 @@ pub(crate) fn parse<'s, P, O, T>(
     };
 
     let mut parsed = input;
-    parser.pattern(&mut parsed)?.expect("");
+    let matched = parser.pattern(&mut parsed)?;
 
+    assert!(matched);
     assert_eq!(parsed, "");
     assert_eq!(parser.closed_subtrees.next().unwrap(), parser.consts.protos.len());
 
@@ -607,6 +607,7 @@ mod tests {
         fn pairs<'b>(
             item: RefOwn<'b, Self::Ref, Self::Own>
         ) -> Option<Box<dyn Iterator<Item=KVPair<'b, Self>> + 'b>> {
+            let _ = item;
             None
         }
 
@@ -614,6 +615,8 @@ mod tests {
             item: RefOwn<'b, Self::Ref, Self::Own>,
             key: RefOwn<'a, Self::Ref, Self::Own>
         ) -> Option<Option<KVPair<'b, Self>>> {
+            let _ = item;
+            let _ = key;
             None
         }
 
@@ -621,6 +624,8 @@ mod tests {
             left: RefOwn<'_, Self::Ref, Self::Own>,
             right: RefOwn<'_, Self::Ref, Self::Own>
         ) -> bool {
+            let _ = left;
+            let _ = right;
             false
         }