Skip to content
This repository has been archived by the owner on Oct 13, 2024. It is now read-only.

fix(deps): update rust crate winnow to 0.6.5 - autoclosed #36

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 6, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
winnow dependencies minor 0.4.7 -> 0.6.5

Release Notes

winnow-rs/winnow (winnow)

v0.6.5

Compare Source

Compatibility
  • Deprecated escaped in favor of take_escaped (rename)
Documentation
  • Fix some bugs in concrete signatures
  • Explain what "Partial version" means
  • When discussing the signature, highlight the most relevant trait for input

v0.6.4

Compare Source

Documentation
  • Provide examples of concrete signatures

v0.6.3

Compare Source

Fixes
  • Make take_until("") consistent between simd or not, with or without empty buffer
Documentation
  • Clarify generic and value parameters
  • Cross reference *until and *till parsers
  • (tutorial) Step through parts more slowly

v0.6.2

Compare Source

v0.6.1

Compare Source

Fixes
  • Fix regression where dec_int / dec_uint didn't parse 0

v0.6.0

Compare Source

v0.5.40

Compare Source

Features
  • Add support to take_until for char needles on &[u8] haystacks

v0.5.39

Compare Source

Fixes
  • Be consistent about inlining slice_len

v0.5.38

Compare Source

Compatibility
  • Deprecate token::tag for token::literal
  • Deprecate binary::bits::tag for binary::bits::pattern
Features
  • Allow a byte (u8) to be a tag
Fixes
  • Clarify name of token::tag as token::literal
  • Clarify name of binary::bits::tag as binary::bits::pattern

v0.5.37

Compare Source

Features
  • Initial support for error recovery behind unstable-recover feature

v0.5.36

Compare Source

Compatibility
  • Deprecate fold_repeat in favor of repeat().fold()
Features
  • Add repeat().fold()

v0.5.35

Compare Source

Compatibility
  • Deprecate success(value) in favor of empty.value(value)
  • Deprecated winnow::trace::trace in favor of the more centrally located winnow::combinator::trace
  • Deprecated take_until0 / take_until1 in favor of take_until
  • Deprecated repeat_till0 in favor of repeat_till
  • Deprecated not_line_ending in favor of till_line_ending
Features
  • Add more general empty combinator
  • Added take_until that can handle any range of tokens to consume
  • Added repeat_till that can handle any range of parsers to repeat
Documentation
  • Made it easier to discover cut_err and how to use it
  • Move trace documentation into the tutorial

v0.5.34

Compare Source

Fixes
  • Don't require Statefuls State to be clone (a leftover from pre &mut input)

v0.5.33

Compare Source

Features
  • Support char with tag parser which is faster than using one_of

v0.5.32

Compare Source

Fixes
  • Parse +/- inf/nan with ascii::float

v0.5.31

Compare Source

Performance
  • Help the optimizer trim unused instructions in any when parsing a complete buffer

v0.5.30

Compare Source

Features
  • Add Parser::default_value

v0.5.29

Compare Source

Features
  • New combinator::seq! for easier initialization of structs/tuples

v0.5.28

Compare Source

Compatibility
  • Deprecate length_data in favor of length_take
  • Deprecate length_value in favor of length_and_then
  • Deprecate length_count in favor of length_repeat

v0.5.27

Compare Source

Fixes
  • Consistently support FnMut for predicates, not just Fn
Documentation
  • Improve nom migration experience

v0.5.26

Compare Source

Documentation
  • Add nom migration guide

v0.5.25

Compare Source

Fixes
  • Correctly point to error location in InputErrors Display for single-line input

v0.5.24

Compare Source

Features
  • Support Accumulate for BTreeSet and HashSet

v0.5.23

Compare Source

Features
  • Add more patterns for token::take_until[01]

v0.5.22

Compare Source

Performance
  • Optimize take_until* when parsing &str

v0.5.21

Compare Source

Features
  • Add take_till ranged parser
Compatibility
  • Deprecated take_till0, take_till1 in favor of take_till

v0.5.20

Compare Source

Features
  • Add Caseless to make it easier to add case insensitivity to any parser.
Compatibility
  • Deprecated tag_no_case in favor of tag(Caseless(...))

v0.5.19

Compare Source

Features
  • Add separated combiantor
Compatibility
  • Deprecated separated0 and separated1 in favor of separated

v0.5.18

Compare Source

Fixes
  • Support Accumulate for HashMap with custom hashers
Compatibility
  • Deprecated Uint impls for signed numbers

v0.5.17

Compare Source

Documentation
  • Provide lexer/parser example with details on handling of custom tokens

v0.5.16

Compare Source

Fixes
  • Correctly calculate offset_from for non-byte slices

v0.5.15

Compare Source

Performance
  • Improve build times with debug when closures are used

v0.5.14

Compare Source

Performance
  • Speed up take_until when simd is enabled

v0.5.13

Compare Source

Performance
  • ErrMode inlining for improving gitoxide

v0.5.12

Compare Source

Performance
  • Try inlining more wrapper functions

v0.5.11

Compare Source

Features
  • Impl Clone for ContextError

v0.5.10

Compare Source

Features
  • Impl Display for StrContext

v0.5.9

Compare Source

Fixes
  • Improve rendering of ErrorKind in other errors

v0.5.8

Compare Source

Features
  • Add TreeError::into_owned
  • impl Error for TreeError
  • Add back in VerboseError to help with migrations

v0.5.7

Compare Source

Features
  • Support Display for TreeError

v0.5.6

Compare Source

Features
  • New TreeError for showing full error path in tests
  • InputError::map_input for making input types nicer for test failures

v0.5.5

Compare Source

Fixes
  • alt([...]) fails, or the errors together, like alt((...))

v0.5.4

Compare Source

Features
  • Add support to take_until for char needles on &[u8] haystacks

v0.5.3

Compare Source

Fixes
  • Be consistent about inlining slice_len

v0.5.2

Compare Source

Features
  • New combinator::seq! for easier initialization of structs/tuples

v0.5.1

Compare Source

Features
  • Add separated combiantor
Compatibility
  • Deprecated separated0 and separated1 in favor of separated

v0.5.0

Compare Source

Migration

Preparation:
0. Upgrade to the latest 0.4 release

  1. Process all deprecation warnings
  2. Replace not-quite deprecated items:
  • Replace winnow::branch with winnow::combinator
  • Replace winnow::bytes with winnow::token
  • Replace Offset::offset_to with Offset::offset_from
  • Replace ParseError with ParserError
  • Replace ContextError with AddContext
  • Replace Error with InputError
  1. Ensure parsers return impl Parser over impl FnMut to reduce the size of the upgrade commit since the FnMut signature will change
  2. When creating errors within your parser,s switch from doing so directly to using ErrModes trait impls to make the code more independent of the current error type
  3. Instrument your parser with winnow::trace::trace to make it easier to debug problems on upgrade
  4. Merge the above

For the actual upgrade, there are two approaches that can be mixed.

Switch to new, imperative APIs

  1. Upgrade to 0.5
  2. Replace IResult<I, O, E> with PResult<O, E> (E is still defaulted but to ContextError)
  3. Replace your parsers I parameter with &mut I
  • For fn(&mut &str) -> PResult<&str>, a lifetime will be needed: fn<'i>(&mut &'i str) -> PResult<&'i str>
  • For embedded closures, move |input| might need to be updated to move |input: &mut _|
  1. Update imperative parsers from expecting parse_next to return (input, output) to output
  • When matching against ErrMode::Backtrace, you might need to input.reset(checkpoint) to revert the parser state
  1. Update error reporting for new error type returned from Parser::parse

Maintain pure-functional APIs

  1. Upgrade to 0.5
  2. Switch to new names for the old APIs
  • Replace Parser::parse_next with Parser::parse_peek
  • Replace Stream::next_token with Stream::peek_token
  • Replace Stream::next_slice with Stream::peek_slice
  1. Wrap calls to FnMut(I) -> IResult<I, O, E> parsers with winnow::unpeek
  2. Update error reporting for new error type returned from Parser::parse

Example: toml_edit:

Example: winnow:

Example: chumskys json bench:

Compatibility
  • Parser::parse_next (and the impl Parser for FnMut) now take &mut I and return PResult
  • Changed error type for Parser::parse to allow quality errors without requiring E to carry I
  • Removed impl ContainsToken for &str (e.g. one_of("abc") since it takes 5x more time leading to easily avoidable slow downs
    • Instead use ['a', 'b', 'c'] or 'a'..='c' (see 08b3e57 for examples)
  • Changed ParserError and FromExternalError from accepting I to &I
  • Renamed ParseError to ParserError
  • Renamed ContextError to AddContext
  • Renamed Error to InputError
  • Removed Offset::offset_to in favor of Offset_offset_from
  • Removed hack from trace that allowed parsers to change input to point to
    a different string (this wasn't present in other parsers relying on
    Offset::offset_from)
  • Removed some Offset bounds, requiring changing a.offset_from(b) to a.offset_from(&b)
  • Renamed bytes to token to clarify its scope
  • Renamed character to ascii to make it agnostic of char tokens
  • Moved all binary-related parsing combinators into the binary module
    • bits -> binary::bits
    • number
    • multi::length_*
  • Moved all generic combinators into combinator
    • sequence
    • branch
    • multi
  • Deprecated parsers were removed
  • Stream trait changed
    • Stream::raw added
    • Stream::next_token renamed to Stream::peek_token
    • Stream::next_slice renamed to Stream::peek_slice
    • New Stream::next_token and Stream::next_slice added
    • Added Stream::finish and Stream::peek_finish
    • Stream::Checkpoint, Stream::checkpoint, and Stream::reset added
    • Offset<Stream::Checkpoint> is a new super trait
Features
  • Added ContextError, a lightweight ParserError that supports AddContext (default for PResult)
  • Added Stream::finish and Stream::peek_finish for making it easier to capture all remaining content
  • Added ErrMode::into_inner for unifying Cut and Backtrack
  • Allow ErrorKind as a ParserError
Fixes
  • Correctly show BStr and Bytes Debug impl, rather than &[u8]
Performance
  • Removed impl ContainsToken for &str (e.g. one_of("abc") since it takes 5x more time leading to easily avoidable slow downs
  • Walk the Stream imperatively with &mut I rather than requiring returning the updating error location
    • i.e. switched parsing from parser(I) -> (I, O) to parser(&mut I) -> O
    • Gains are around 10% in select benchmarks
    • It is believed that this reduced the size of the return type, allowing values to be returned through registers more often (as opposed to the stack), and this gain only shows up in parsers that return large data types, like format preserving parsers

v0.4.11

Compare Source

v0.4.10

Compare Source

v0.4.9

Compare Source

Features
  • Add aliases for renamed APIs in v0.5
    • error::AddContext which wraps error::ContextError
    • error::ParserError which wraps error::ParseError
    • error::InputError which wraps error::Error

v0.4.8

Compare Source

Features
  • Add aliases for renamed APIs in v0.5
    • Parser::parse_peek which wraps Parser::parse_next
    • Stream::peek_token which wraps Stream::next_token
    • Stream::peek_slice which wraps Stream::next_slice
    • Offset::offset_from which wraps Offset::offset_to
  • Add unpeek which is a no-op function in prep for v0.5
Fixes
  • Allow ascii::escaped_transform on core
  • Update ascii::float to correct parse infinity
  • Update special topics to link out to relevant parsers they re-implement

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.4.8 fix(deps): update rust crate winnow to 0.4.9 Jul 8, 2023
@renovate renovate bot force-pushed the renovate/winnow-0.x branch 2 times, most recently from db95fee to 46a1fa2 Compare July 13, 2023 22:19
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.4.9 fix(deps): update rust crate winnow to 0.5.0 Jul 13, 2023
@renovate renovate bot force-pushed the renovate/winnow-0.x branch 4 times, most recently from ef75091 to 7a17c37 Compare July 16, 2023 15:33
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.0 fix(deps): update rust crate winnow to 0.5.1 Jul 24, 2023
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.1 fix(deps): update rust crate winnow to 0.5.2 Jul 30, 2023
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.2 fix(deps): update rust crate winnow to 0.5.3 Aug 2, 2023
@renovate renovate bot force-pushed the renovate/winnow-0.x branch 2 times, most recently from 1421d32 to 97f997b Compare August 5, 2023 15:34
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.3 fix(deps): update rust crate winnow to 0.5.4 Aug 5, 2023
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.4 fix(deps): update rust crate winnow to 0.5.7 Aug 10, 2023
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.7 fix(deps): update rust crate winnow to 0.5.8 Aug 11, 2023
@renovate renovate bot force-pushed the renovate/winnow-0.x branch 2 times, most recently from 7261dac to e09515b Compare August 11, 2023 19:07
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.8 fix(deps): update rust crate winnow to 0.5.9 Aug 11, 2023
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.9 fix(deps): update rust crate winnow to 0.5.10 Aug 11, 2023
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.10 fix(deps): update rust crate winnow to 0.5.11 Aug 15, 2023
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.11 fix(deps): update rust crate winnow to 0.5.12 Aug 16, 2023
@renovate renovate bot force-pushed the renovate/winnow-0.x branch 2 times, most recently from bce8aa8 to 73ba605 Compare August 17, 2023 20:06
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.12 fix(deps): update rust crate winnow to 0.5.13 Aug 17, 2023
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.5.40 fix(deps): update rust crate winnow to 0.6.0 Feb 13, 2024
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.6.0 fix(deps): update rust crate winnow to 0.6.1 Feb 14, 2024
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.6.1 fix(deps): update rust crate winnow to 0.6.2 Feb 19, 2024
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.6.2 fix(deps): update rust crate winnow to 0.6.3 Feb 28, 2024
@renovate renovate bot force-pushed the renovate/winnow-0.x branch 9 times, most recently from 63eb9b7 to a07e5cc Compare February 28, 2024 21:23
@zharinov zharinov added bug Something isn't working and removed bug Something isn't working labels Feb 29, 2024
@zharinov zharinov assigned zharinov and unassigned zharinov Feb 29, 2024
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.6.3 fix(deps): update rust crate winnow to 0.6.4 Feb 29, 2024
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.6.4 fix(deps): update rust crate winnow to 0.6.5 Feb 29, 2024
@renovate renovate bot changed the title fix(deps): update rust crate winnow to 0.6.5 fix(deps): update rust crate winnow to 0.6.5 - autoclosed Mar 1, 2024
@renovate renovate bot closed this Mar 1, 2024
@renovate renovate bot deleted the renovate/winnow-0.x branch March 1, 2024 16:03
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant