cedar-policy / cedar

Implementation of the Cedar Policy Language
https://www.cedarpolicy.com
Apache License 2.0
889 stars 80 forks source link

Update lalrpop requirement from 0.21.0 to 0.22.0 #1264

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 1 month ago

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Updates the requirements on lalrpop to permit the latest version.

Changelog

Sourced from lalrpop's changelog.

0.22.0 (2024-09-26)

Breaking changes

  • The lexer feature no longer implies the std feature. Now lexer is usable in no_std environments. In no_std, ParseError only implements the Error trait in rust 1.81 or later (since core::error was stablized in 1.81).

Features

  • Overhaul cfg attributes. You can now include or omit grammar rules and alternatives based on cargo features with not(), any() and all() support

Bugfixes

  • Improvements to error message reporting to improve clarity and suppress extra noise
  • lalrpop_mod!() now handles imports correctly
  • Reenable some warnings on user code for custom lexers

0.21.0 (2024-05-30)

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.

... (truncated)

Commits
  • 49b3c2c Release version 0.22.0 (#953)
  • bb98e93 When encountering naive errors on reduce/reduce conflicts, drop all but (#938)
  • 1b3587d Cfg attibutes on Alternatives (#959)
  • 55d1c3b Add a new error message for ambiguous reductions to the same nonterminal (#927)
  • 2fb8a29 Lock rustversion (#964)
  • d6229c8 Update to ascii-canvas 4.0 and term 1.0 (#963)
  • fb9a945 Support Error with std feature disabled (#957)
  • 2cd9a59 Turn a few warnings back on when we match token values (#961)
  • 0c41809 Kind of unify version.sh regex search (#958)
  • 2498289 Mention the clog-cli prereq in the CONTRIBUTING release process (#954)
  • Additional commits viewable in compare view


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)