diff --git a/lib/Cargo.toml b/lib/Cargo.toml index b77847ac..f4d0ef55 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -37,7 +37,8 @@ rio_api = "0.5" rio_turtle = "0.5" rio_xml = "0.5" hex = "0.4" -nom = "5" +nom = "6" +funty="=1.1.0" peg = "0.6" siphasher = "0.3" lasso = {version="0.4", features=["multi-threaded", "inline-more"]} diff --git a/lib/src/model/xsd/parser.rs b/lib/src/model/xsd/parser.rs index 2db2b6c8..3c4abd8b 100644 --- a/lib/src/model/xsd/parser.rs +++ b/lib/src/model/xsd/parser.rs @@ -146,7 +146,7 @@ const OVERFLOW_ERROR: XsdParseError = XsdParseError { }; pub fn parse_value<'a, T>( - f: impl Fn(&'a str) -> XsdResult<'a, T>, + mut f: impl FnMut(&'a str) -> XsdResult<'a, T>, input: &'a str, ) -> Result { let (left, result) = f(input)?; @@ -529,9 +529,9 @@ fn parsed_u8_range(input: &str, min: u8, max: u8) -> Result { } fn map_res<'a, O1, O2, E2: Into>( - first: impl Fn(&'a str) -> XsdResult<'a, O1>, - second: impl Fn(O1) -> Result, -) -> impl Fn(&'a str) -> XsdResult<'a, O2> { + mut first: impl FnMut(&'a str) -> XsdResult<'a, O1>, + mut second: impl FnMut(O1) -> Result, +) -> impl FnMut(&'a str) -> XsdResult<'a, O2> { move |input| { let (input, o1) = first(input)?; Ok((input, second(o1).map_err(|e| Err::Error(e.into()))?)) diff --git a/lib/src/store/sophia.rs b/lib/src/store/sophia.rs index 18f42dc6..2eb0ed04 100644 --- a/lib/src/store/sophia.rs +++ b/lib/src/store/sophia.rs @@ -620,7 +620,7 @@ mod rocksdb { } // helper functions - +#[allow(clippy::unnecessary_wraps)] fn infallible_quad_map<'a>(q: Quad) -> Result, Infallible> { let q: SophiaQuad = q.into(); Ok(StreamedQuad::by_value(q))