From e08f97765003b8cd8c58982d65a1e74b51c28dc9 Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Sat, 21 Aug 2021 15:10:27 +0200 Subject: [PATCH] Upgrade to nom 7 --- askama_shared/Cargo.toml | 2 +- askama_shared/src/parser.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/askama_shared/Cargo.toml b/askama_shared/Cargo.toml index 1ffbf1cd2..b4cc8ab7d 100644 --- a/askama_shared/Cargo.toml +++ b/askama_shared/Cargo.toml @@ -19,7 +19,7 @@ yaml = ["serde", "serde_yaml"] [dependencies] askama_escape = { version = "0.10", path = "../askama_escape" } humansize = { version = "1.1.0", optional = true } -nom = { version = "6.2.1", features = ["std"], default-features = false } # Gets us a newer version of bitvec https://github.com/Geal/nom/issues/1311#issuecomment-880902973 +nom = "7" num-traits = { version = "0.2.6", optional = true } proc-macro2 = "1" quote = "1" diff --git a/askama_shared/src/parser.rs b/askama_shared/src/parser.rs index 957c7789c..343d16436 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, Compare, IResult, InputLength, InputTake, error_position}; use std::str; use crate::{CompileError, Syntax}; @@ -126,7 +126,7 @@ pub struct CondTest<'a> { fn ws(mut inner: F) -> impl FnMut(I) -> IResult where F: FnMut(I) -> IResult, - I: InputTake + Clone + PartialEq + for<'a> Compare<&'a [u8; 1]>, + I: InputLength + InputTake + Clone + PartialEq + for<'a> Compare<&'a [u8; 1]>, E: ParseError, { move |i: I| { @@ -388,7 +388,7 @@ fn target(i: &[u8]) -> IResult<&[u8], Target<'_>> { let mut targets = vec![first_target]; let (i, _) = cut(tuple(( - fold_many0(preceded(ws(tag(",")), target), (), |_, target| { + fold_many0(preceded(ws(tag(",")), target), || (), |_, target| { targets.push(target); }), opt(ws(tag(","))),