diff --git a/Cargo.toml b/Cargo.toml index 8ee4d4c3..72fd151b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ hjson = ["serde-hjson"] [dependencies] lazy_static = "1.0" serde = "^1.0.8" -nom = "^3.2.1" +nom = "4.0.0-beta1" toml = { version = "^0.4.1", optional = true } serde_json = { version = "^1.0.2", optional = true } diff --git a/src/path/parser.rs b/src/path/parser.rs index 76291934..61fa2178 100644 --- a/src/path/parser.rs +++ b/src/path/parser.rs @@ -55,17 +55,17 @@ fn postfix(expr: Expression) -> Box IResult<&[u8], Expression>> { pub fn from_str(input: &str) -> Result { match ident(input.as_bytes()) { - IResult::Done(mut rem, mut expr) => { + Ok((mut rem, mut expr)) => { while !rem.is_empty() { match postfix(expr)(rem) { - IResult::Done(rem_, expr_) => { + Ok((rem_, expr_)) => { rem = rem_; expr = expr_; } // Forward Incomplete and Error result => { - return result.to_result().map_err(|e| e.into_error_kind()); + return result.map(|(_,o)| o).map_err(|e| e.into_error_kind()); } } } @@ -74,7 +74,7 @@ pub fn from_str(input: &str) -> Result { } // Forward Incomplete and Error - result => result.to_result().map_err(|e| e.into_error_kind()), + result => result.map(|(_,o)| o).map_err(|e| e.into_error_kind()), } }