Cargo Features

[dependencies]
chumsky = { version = "1.0.0-alpha.7", default-features = false, features = ["std", "nightly", "spill-stack", "memoization", "extension", "label", "sync", "pratt", "unstable", "lexical-numbers", "either", "regex", "serde", "docsrs"] }
default = spill-stack, std

These default features are set whenever chumsky is added without default-features = false somewhere in the dependency tree.

std default spill-stack

Integrate with the standard library.

Enables std of optional regex-automata ^0.3 and optional serde

Affects input::IoInput

nightly

Enable nightly-only features like better compiler diagnostics and a Parser impl for ! (the never type).

Affects combinator::MapGroup, combinator::Flatten, chumsky::Parser.map_group, chumsky::IterParser.flatten

spill-stack default = std

Allows deeper recursion by dynamically spilling stack state on to the heap.

Enables stacker

memoization

Allows parser memoization, speeding up heavily back-tracking parsers and allowing left recursion.

Affects combinator::Memoized, chumsky::Parser.memoized

extension

Allows extending chumsky by writing your own parser implementations.

Affects chumsky::extension

label

Enable support for parser labelling

Affects chumsky::label, chumsky::Parser.labelled

sync = spin

Make builtin parsers such as Boxed use atomic instead of non-atomic internals.

pratt = unstable

Enable Pratt parsing combinator

Affects chumsky::pratt, chumsky::Parser.pratt

unstable lexical-numbers? pratt?

Allow the use of unstable features (aka features where the API is not settled)

Affects chumsky::cache

lexical-numbers = lexical, unstable

Allows use of the Number parser, which is backed by the lexical crate

Affects chumsky::number

either

Adds impl of Parser for either::Either

Enables either

regex

Enables regex combinators

Enables regex-automata ^0.3

Affects chumsky::regex

serde

Enable serde serialization support

Enables serde

docsrs build

Enable dependencies only needed for generation of documentation on docs.rs

Enables vergen =8.1.1

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

spin sync?
lexical lexical-numbers?

Enables lexical ^6.1.1