Skip to content

Update Rust crate chumsky to 0.13#39

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/chumsky-0.x
Open

Update Rust crate chumsky to 0.13#39
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/chumsky-0.x

Conversation

@renovate
Copy link
Copy Markdown

@renovate renovate Bot commented May 2, 2026

This PR contains the following updates:

Package Type Update Change
chumsky dependencies minor 0.100.13

Release Notes

zesterer/chumsky (chumsky)

v0.13.0

Added
  • select! and select_ref! now support cfg attributes.
  • You can now call as_terminal and as_non_terminal on labels that will hide the internals for the debug info
  • RichReason can now be provided with an arbitrary RichReason::Custom type parameter
  • Implemented ConfigParser for OneOf
  • Rich::map_span
  • Parser::map_err_with
  • Parser::filter_map
Removed
  • Unused spin and sync feature flags
Changed
  • Debug info now uses the Display impl to render labels with instead of Debug
  • Migrated to Codeberg, updated links accordingly
  • Removed the unstable Cache API due to soundness issues
  • Added DefaultExpected::NothingElse to allow parsers that can never succeed to generate correct errors
  • Removed the Container trait in favour of std's FromIterator, allowing .collect() to work with a greater range of types
Fixed
  • Labelled -> LabelledWith conversion now carries over the proper debug settings
  • Fixed crash when using memoisation with certain kinds of error generation
  • DefaultExpected::into_owned now has more permissive lifetime constraints

v0.12.0

Added
  • MapExtra::emit, which allows emitting secondary errors during mapping operations
  • InputRef::emit, which allows emitting secondary errors within custom parsers
  • labelled_with, which avoids the need to implement Clone for labels
  • Input::split_token_span, a convenience function for splitting (Token, Span) inputs so that chumsky can understand them
  • Input::split_spanned, which does the same as above, but for implementors of WrappingSpan
  • spanned, a combinator which automatically annotates a parser output with a span
  • Experimental:
    • IterParser::parse_iter, a way to turn an IterParser (like x.repeated()) into an iterator
    • Parser::debug, which provides access to various parser debugging utilities.
Changed
  • Made nested_in more flexible by allowing it to map between different input types instead of requiring the same input as the outer parser
Fixed
  • A prioritisation bug with nested_in

v0.11.2

Added
  • Implement Default, PartialOrd, and Ord for SimpleSpan
  • Implement PartialOrd and Ord for Rich

v0.11.1

Fixed
  • Patched compilation error that only appeared in release builds

v0.11.0

Added
  • The set(...) combinator, which may be used to conveniently parse a set of patterns, in any order
  • Support for non-associative infix operators are now supported by the .pratt(...) combinator
  • Parser::try_foldl, allowing folding operations to short-circuit in a manner similar to Parser::try_map
  • Parser::contextual, which allows a parser to be disabled or enabled in a context-sensitive manner
  • Implemented ValueInput for IterInput, which was previously missing
  • More types that implement the State trait:
    • RollbackState, which reverts parser state when a parser rewinds and may be used to, for example, count the number of times a pattern appears in the input
    • TruncateState, which truncates a vector when a parser rewinds, and may be used to implement an arena allocator for AST nodes
  • Implemented IterParser for a.then(b) when both a and b are both IterParsers that produce the same output type
Changed
  • Made lifetime bounds on recursive and ParserExtra more permissive
  • Improved support for grapheme parsing
  • Text parsers now report labels
  • Parser::filter now generates a DefaultExpected::SomethingElse label instead of nothing (this can be overridden with the .labelled(...) function)
  • Improved areas of documentation
  • Make whitespace parsers reject codepoints that are vulnerable to CVE-2021-42574
  • Maybe the select! parser more permissive, accepting any implementor of Input instead of requiring ValueInput too
Fixed
  • Many minor incorrect debug-only sanity checks have been fixed
  • Many minor span and error prioritisation behavioural problems have been fixed (most notably, Parser::try_map)
  • The .rewind() parser no longer rewinds any secondary error that were encountered
  • Accidental text::ascii::keyword lifetime regression

Configuration

📅 Schedule: (UTC)

  • 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/chumsky-0.x branch 3 times, most recently from d60d40d to c03664b Compare May 6, 2026 08:36
@renovate renovate Bot changed the title Update Rust crate chumsky to 0.12 Update Rust crate chumsky to 0.13 May 6, 2026
@renovate renovate Bot force-pushed the renovate/chumsky-0.x branch from c03664b to 6d9e923 Compare May 18, 2026 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants