peg-runtime breaking changes
cargo11 curated breaking changes across major versions of peg-runtime. Use this as a migration checklist before bumping dependencies.
- 0.7.0 \u2192 0.8.0breaking
Allow only lifetime, not type, parameters at the grammar level. (type parameters were never properly supported)
- 0.7.0 \u2192 0.8.0breaking
Add `'input` lifetime parameter to `ParseElem` trait so implementations can return tokens by reference. (#268)
- 0.7.0 \u2192 0.8.0breaking
Require `Copy` on `ParseElem::Element` to better represent the expectation that they are cheap to copy/move. --- Contributors: @kevinmehall @zsol @neunenak @fgasperij
- 0.6.3 \u2192 0.7.0breaking
Add required `is_eof()` method to `Parse` trait (#252)
- 0.6.3 \u2192 0.7.0breaking
Certain patterns that would infinite-loop or stack overflow if executed are now a compile-time error
- 0.6.3 \u2192 0.7.0breaking
`mixed_site` hygiene prevents action code from accessing internal parser state variables such as `__input`, `__pos`, etc.
- 0.5.7 \u2192 0.6.0breaking
Replaced build script integration and nightly-only syntax extension with a procedural macro that works on stable Rust. This means that errors both in the PEG grammar and the Rust code embedded from it are reported with source position by rustc. It even works with RLS!
- 0.5.7 \u2192 0.6.0breaking
Add the ability to parse non-`str` input by implementing [traits][peg-traits]. It comes with an implementation for `[T]` (including `[u8]`), but you can define the traits for your own types. In fact, the rust-peg grammar is parsed with rust-peg via an implementation for [token trees from `proc-macro2`][tokens].
- 0.5.7 \u2192 0.6.0breaking
Add `precedence!{}` block for adding a precedence-climbing expression parser integrated with the surrounding PEG source.
- 0.5.7 \u2192 0.6.0breaking
Report errors in left-recursive rules that would cause infinte loops.
- 0.5.7 \u2192 0.6.0breaking
Allow rules to accept value and type parameters, including passing closures to replace the `template` syntax.
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/peg-runtime