diff options
Diffstat (limited to 'src/parser.rs')
-rw-r--r-- | src/parser.rs | 15 |
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 } |