diff --git a/Cargo.lock b/Cargo.lock index bdfdef1a..4a332d99 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1248,9 +1248,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.4.9" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a2094c43cc94775293eaa0e499fbc30048a6d824ac82c0351a8c0bf9112529" +checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" dependencies = [ "memchr", ] diff --git a/crates/toml_edit/Cargo.toml b/crates/toml_edit/Cargo.toml index b51d2fc5..f7356616 100644 --- a/crates/toml_edit/Cargo.toml +++ b/crates/toml_edit/Cargo.toml @@ -38,7 +38,7 @@ unbounded = [] [dependencies] indexmap = { version = "2.0.0", features = ["std"] } -winnow = "0.4.9" +winnow = "0.5.0" serde = { version = "1.0.145", optional = true } kstring = { version = "2.0.0", features = ["max_inline"], optional = true } toml_datetime = { version = "0.6.3", path = "../toml_datetime" } diff --git a/crates/toml_edit/src/parser/array.rs b/crates/toml_edit/src/parser/array.rs index f37191d2..e3b1f3f5 100644 --- a/crates/toml_edit/src/parser/array.rs +++ b/crates/toml_edit/src/parser/array.rs @@ -13,8 +13,8 @@ use crate::parser::prelude::*; // ;; Array // array = array-open array-values array-close -pub(crate) fn array<'i>(check: RecursionCheck) -> impl Parser, Array, ContextError<'i>> { - trace("array", move |input| { +pub(crate) fn array<'i>(check: RecursionCheck) -> impl Parser, Array, ContextError> { + trace("array", move |input: &mut Input<'i>| { delimited( ARRAY_OPEN, cut_err(array_values(check)), @@ -40,8 +40,8 @@ const ARRAY_SEP: u8 = b','; // array-value / ws-comment-newline ] pub(crate) fn array_values<'i>( check: RecursionCheck, -) -> impl Parser, Array, ContextError<'i>> { - move |input| { +) -> impl Parser, Array, ContextError> { + move |input: &mut Input<'i>| { let check = check.recursing(input)?; ( opt( @@ -68,8 +68,8 @@ pub(crate) fn array_values<'i>( pub(crate) fn array_value<'i>( check: RecursionCheck, -) -> impl Parser, Value, ContextError<'i>> { - move |input| { +) -> impl Parser, Value, ContextError> { + move |input: &mut Input<'i>| { ( ws_comment_newline.span(), value(check), diff --git a/crates/toml_edit/src/parser/datetime.rs b/crates/toml_edit/src/parser/datetime.rs index 0ab7ca22..6e89b977 100644 --- a/crates/toml_edit/src/parser/datetime.rs +++ b/crates/toml_edit/src/parser/datetime.rs @@ -21,7 +21,7 @@ use winnow::trace::trace; // local-date = full-date // local-time = partial-time // full-time = partial-time time-offset -pub(crate) fn date_time(input: Input<'_>) -> IResult, Datetime, ContextError<'_>> { +pub(crate) fn date_time(input: &mut Input<'_>) -> PResult { trace( "date-time", alt(( @@ -52,7 +52,7 @@ pub(crate) fn date_time(input: Input<'_>) -> IResult, Datetime, Contex } // full-date = date-fullyear "-" date-month "-" date-mday -pub(crate) fn full_date(input: Input<'_>) -> IResult, Date, ContextError<'_>> { +pub(crate) fn full_date(input: &mut Input<'_>) -> PResult { trace( "full-date", (date_fullyear, b'-', cut_err((date_month, b'-', date_mday))) @@ -62,7 +62,7 @@ pub(crate) fn full_date(input: Input<'_>) -> IResult, Date, ContextErr } // partial-time = time-hour ":" time-minute ":" time-second [time-secfrac] -pub(crate) fn partial_time(input: Input<'_>) -> IResult, Time, ContextError<'_>> { +pub(crate) fn partial_time(input: &mut Input<'_>) -> PResult