diff --git a/meta/src/validator.rs b/meta/src/validator.rs index eff89969..937fa2de 100644 --- a/meta/src/validator.rs +++ b/meta/src/validator.rs @@ -667,7 +667,7 @@ fn left_recursion<'a, 'i: 'a>(rules: HashMap>) -> Vec None } ParserExpr::Seq(ref lhs, ref rhs) => { - if is_non_failing(&lhs.expr, rules, &mut vec![trace.last().unwrap().clone()]) { + if is_non_failing(&lhs.expr, rules, &mut vec![trace.last().unwrap().clone()]) || is_non_progressing(&lhs.expr, rules, &mut vec![trace.last().unwrap().clone()]){ check_expr(rhs, rules, trace) } else { check_expr(lhs, rules, trace)