summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index acf2dcc..7c1bbcc 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -262,7 +262,10 @@ where
};
let rest = match self.delimiter.check(rest.clone()) {
- Ok((rest, _)) => rest,
+ Ok((rest, _)) => match self.parser.check(rest.clone()) {
+ Ok(_) => rest,
+ Err(_) => return Some(Err(EM::bind(|| rest))),
+ },
_ => rest,
};
@@ -1030,6 +1033,20 @@ mod test {
}
#[test]
+ fn test_separated_list_with_trailing_delimiter() {
+ let input = "1.0.";
+ let it = InputIter::new(input);
+
+ assert!(
+ numeric1()
+ .separated_by(tag("."))
+ .at_least(1)
+ .check_finished(it)
+ .is_err()
+ );
+ }
+
+ #[test]
fn test_find() {
let input = "hello world";
let it = InputIter::new(input);