aboutsummaryrefslogtreecommitdiffstats
path: root/askama_shared/src/parser.rs
diff options
context:
space:
mode:
authorLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2021-08-21 15:10:27 +0200
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2021-08-21 19:13:38 +0200
commit81429636eb295ec03ef35cf77648d1626970fd4e (patch)
tree622dc2fa4f44a2b72443ca7a941d060898b261ff /askama_shared/src/parser.rs
parent47c6bca8ac0b7bf0ddf879130692029321db7ed9 (diff)
downloadaskama-81429636eb295ec03ef35cf77648d1626970fd4e.tar.gz
askama-81429636eb295ec03ef35cf77648d1626970fd4e.tar.bz2
askama-81429636eb295ec03ef35cf77648d1626970fd4e.zip
Upgrade to nom 7
Diffstat (limited to '')
-rw-r--r--askama_shared/src/parser.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/askama_shared/src/parser.rs b/askama_shared/src/parser.rs
index 957c778..22f9a1e 100644
--- a/askama_shared/src/parser.rs
+++ b/askama_shared/src/parser.rs
@@ -5,7 +5,7 @@ use nom::combinator::{complete, cut, map, opt, recognize, value};
use nom::error::{Error, ParseError};
use nom::multi::{fold_many0, many0, many1, separated_list0, separated_list1};
use nom::sequence::{delimited, pair, preceded, terminated, tuple};
-use nom::{self, error_position, Compare, IResult, InputTake};
+use nom::{self, error_position, Compare, IResult, InputLength, InputTake};
use std::str;
use crate::{CompileError, Syntax};
@@ -126,7 +126,7 @@ pub struct CondTest<'a> {
fn ws<F, I, O, E>(mut inner: F) -> impl FnMut(I) -> IResult<I, O, E>
where
F: FnMut(I) -> IResult<I, O, E>,
- I: InputTake + Clone + PartialEq + for<'a> Compare<&'a [u8; 1]>,
+ I: InputLength + InputTake + Clone + PartialEq + for<'a> Compare<&'a [u8; 1]>,
E: ParseError<I>,
{
move |i: I| {
@@ -388,9 +388,13 @@ fn target(i: &[u8]) -> IResult<&[u8], Target<'_>> {
let mut targets = vec![first_target];
let (i, _) = cut(tuple((
- fold_many0(preceded(ws(tag(",")), target), (), |_, target| {
- targets.push(target);
- }),
+ fold_many0(
+ preceded(ws(tag(",")), target),
+ || (),
+ |_, target| {
+ targets.push(target);
+ },
+ ),
opt(ws(tag(","))),
ws(cut(tag(")"))),
)))(i)?;