Since the last release, a fair number of the commits have been focused on cleaning
up and improving LALRPOP's documentation. Shout out to Yudai Takada, George
White, and Dinu Blanovschi.
Features
LALRPOP now throws an error in more cases where it would previously just write
out an error message and exit.
lalrpop::process_src is now the recommended function to use in build.rs
files. Previously the documentation incorrectly suggested that
lalrpop::process_root looked in ./src instead of .
Bugfixes
A long-standing bug where LALRPOP would throw a "no entry found for key"
exception when trying to handle certain grammars has been resolved.
LALRPOP will stop expanding macros infinitely during build time via a new
macro_expansion_limit.
Compatibility note
Adding a limit to the number of times that LALRPOP will attempt to expand a
macro is technically a breaking change. However, the default limit of 200
should be more than enough for the grammars we are currently aware of (which
almost always need a limit of less than 5). This limit is customizable via Configuration::set_macro_expansion_limit.
If you have a grammar that uses a significant amount of macro expansion steps,
we would be very interested in a PR that adds it to the test suite.
0.20.2 (2024-02-**)
Special thanks to our newest maintainers, Daniel Burgener and Patrick LaFontaine for helping to coordinate this release.
Features
Lalrpop no longer depends on the is-terminal crate (thanks to Kmeakin!)
Better performance with the default lexer using the underlying regex-automata crate (thanks to QuarticCat!)
Allow the catch-all _ case for token matching can now be set to a higher precedence in match (thanks to fpoli!)
Fewer clippy lints triggered in generated code
Lalrpop now traverses symlinks to find .lalrpop files(thanks mbid!)
Lalrpop now supports block comments including nestings(thanks seanbright!)
Bugfixes
Lalrpop now uses the ascii-aware space regex when the unicode feature is not enabled (thanks to QuarticCat!)
Dangling symlinks in crate no longer cause build failure (thanks to legeana
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on lalrpop to permit the latest version.
Changelog
Sourced from lalrpop's changelog.
... (truncated)
Commits
fa15b3e
Cut a 0.21.0 release (#903)d5f12b4
update doc links in README.md (#933)7dde3e3
Process src nits (#929)e8d02fe
Add a new process_src() public helper to look in the source directory. (#911)f7debe8
Fix clippy issues in new nightly 1.82. (#928)a0da94d
Rebase and fix of #670 Fix token_to_integer to not require Copyable (#918)fd0f280
Lint on calls to process::exit() (#923)9c4b4f5
Fix comment about conflict detection (#925)980d601
Don't call exit() in a library, instead return an error to the user (#920)786e2fe
Bump bit-set to 0.6 (#922)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show