lalrpop/lalrpop (lalrpop)
### [`v0.22.0`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0220-2024-09-26)
[Compare Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.21.0...0.22.0)
##### 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
### [`v0.21.0`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0210-2024-05-30)
[Compare Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.20.2...0.21.0)
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.
### [`v0.20.2`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0202-2024-02-)
[Compare Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.20.1...0.20.2)
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
for the report!)
- Unicode is now set as a default feature in lalrpop-util to align with
lalrpop's defaults
##### Compatibility note
- MSRV increased to `1.70`.
- `process_root_unconditionally` now correctly lints as having been deprecated.
- Internal types which lead with a `__` and should not be relied upon are no longer publicly exposed (thanks to arnaudgolfouse!)
- Lalrpop files containing a space in their name now return an error.
### [`v0.20.1`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0201-2024-02-)
[Compare Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.20.0...0.20.1)
Yanked
maciejhirsz/logos (logos)
### [`v0.14.2`](https://redirect.github.com/maciejhirsz/logos/releases/tag/v0.14.2): - Optional `forbid_unsafe` feature, fuzzing, book, and more!
[Compare Source](https://redirect.github.com/maciejhirsz/logos/compare/v0.14.1...v0.14.2)
#### What's Changed
- chore(book): added link to Rust's reference by [@CommanderStorm](https://redirect.github.com/CommanderStorm) in [https://github.com/maciejhirsz/logos/pull/411](https://redirect.github.com/maciejhirsz/logos/pull/411)
- feat: impl Source for T: Deref in no_std by [@yjhmelody](https://redirect.github.com/yjhmelody) in [https://github.com/maciejhirsz/logos/pull/406](https://redirect.github.com/maciejhirsz/logos/pull/406)
- fix(codegen/regex): allow vec growth on parse by [@LeoDog896](https://redirect.github.com/LeoDog896) in [https://github.com/maciejhirsz/logos/pull/405](https://redirect.github.com/maciejhirsz/logos/pull/405)
- test: basic fuzzing by [@LeoDog896](https://redirect.github.com/LeoDog896) in [https://github.com/maciejhirsz/logos/pull/407](https://redirect.github.com/maciejhirsz/logos/pull/407)
- feat(lib): add `forbid_unsafe` feature to disable unsafe code by [@davidkern](https://redirect.github.com/davidkern) in [https://github.com/maciejhirsz/logos/pull/413](https://redirect.github.com/maciejhirsz/logos/pull/413)
- chore(version): release v0.14.2 by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/422](https://redirect.github.com/maciejhirsz/logos/pull/422)
#### New Contributors
- [@CommanderStorm](https://redirect.github.com/CommanderStorm) made their first contribution in [https://github.com/maciejhirsz/logos/pull/411](https://redirect.github.com/maciejhirsz/logos/pull/411)
- [@yjhmelody](https://redirect.github.com/yjhmelody) made their first contribution in [https://github.com/maciejhirsz/logos/pull/406](https://redirect.github.com/maciejhirsz/logos/pull/406)
- [@davidkern](https://redirect.github.com/davidkern) made their first contribution in [https://github.com/maciejhirsz/logos/pull/413](https://redirect.github.com/maciejhirsz/logos/pull/413)
**Full Changelog**: https://github.com/maciejhirsz/logos/compare/v0.14.1...v0.14.2
### [`v0.14.1`](https://redirect.github.com/maciejhirsz/logos/releases/tag/v0.14.1): 0.14.1 - Debug feature and fixes
#### What's Changed
- fix(doc): reset logos2 to logos by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/372](https://redirect.github.com/maciejhirsz/logos/pull/372)
- chore(book): add JSON-borrowed parser example by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/373](https://redirect.github.com/maciejhirsz/logos/pull/373)
- Add Rc and Arc sources by [@InfiniteCoder01](https://redirect.github.com/InfiniteCoder01) in [https://github.com/maciejhirsz/logos/pull/340](https://redirect.github.com/maciejhirsz/logos/pull/340)
- Fix unicode dot by [@RustyYato](https://redirect.github.com/RustyYato) in [https://github.com/maciejhirsz/logos/pull/376](https://redirect.github.com/maciejhirsz/logos/pull/376)
- chore(docs): cleanup examples by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/381](https://redirect.github.com/maciejhirsz/logos/pull/381)
- chore(lib): add debug feature by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/382](https://redirect.github.com/maciejhirsz/logos/pull/382)
- Cleanup unused Source features by [@kmicklas](https://redirect.github.com/kmicklas) in [https://github.com/maciejhirsz/logos/pull/335](https://redirect.github.com/maciejhirsz/logos/pull/335)
- chore(deps): bump peaceiris/actions-mdbook from 1 to 2 by [@dependabot](https://redirect.github.com/dependabot) in [https://github.com/maciejhirsz/logos/pull/387](https://redirect.github.com/maciejhirsz/logos/pull/387)
- Fix `Lexer::clone` leak and UB + tests by [@Jakobeha](https://redirect.github.com/Jakobeha) in [https://github.com/maciejhirsz/logos/pull/390](https://redirect.github.com/maciejhirsz/logos/pull/390)
- fix(lib): correctly handle miss for loop in loop by [@lukas-code](https://redirect.github.com/lukas-code) in [https://github.com/maciejhirsz/logos/pull/393](https://redirect.github.com/maciejhirsz/logos/pull/393)
- chore(lib): remove error branch from LUT if it is unreachable by [@RustyYato](https://redirect.github.com/RustyYato) in [https://github.com/maciejhirsz/logos/pull/386](https://redirect.github.com/maciejhirsz/logos/pull/386)
- fix(docs): typo by [@joerivanruth](https://redirect.github.com/joerivanruth) in [https://github.com/maciejhirsz/logos/pull/396](https://redirect.github.com/maciejhirsz/logos/pull/396)
- chore(docs): Adds graph debug documentation to book by [@afreeland](https://redirect.github.com/afreeland) in [https://github.com/maciejhirsz/logos/pull/379](https://redirect.github.com/maciejhirsz/logos/pull/379)
- chore: drop python linting frmo pre-commit-config by [@LeoDog896](https://redirect.github.com/LeoDog896) in [https://github.com/maciejhirsz/logos/pull/403](https://redirect.github.com/maciejhirsz/logos/pull/403)
- refactor: don't use deprecated max_value() method by [@LeoDog896](https://redirect.github.com/LeoDog896) in [https://github.com/maciejhirsz/logos/pull/404](https://redirect.github.com/maciejhirsz/logos/pull/404)
- chore(version): bump logos version to 0.14.1 by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/409](https://redirect.github.com/maciejhirsz/logos/pull/409)
- fix(docs): change old 0.14.0 by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/410](https://redirect.github.com/maciejhirsz/logos/pull/410)
#### New Contributors
- [@InfiniteCoder01](https://redirect.github.com/InfiniteCoder01) made their first contribution in [https://github.com/maciejhirsz/logos/pull/340](https://redirect.github.com/maciejhirsz/logos/pull/340)
- [@RustyYato](https://redirect.github.com/RustyYato) made their first contribution in [https://github.com/maciejhirsz/logos/pull/376](https://redirect.github.com/maciejhirsz/logos/pull/376)
- [@Jakobeha](https://redirect.github.com/Jakobeha) made their first contribution in [https://github.com/maciejhirsz/logos/pull/390](https://redirect.github.com/maciejhirsz/logos/pull/390)
- [@lukas-code](https://redirect.github.com/lukas-code) made their first contribution in [https://github.com/maciejhirsz/logos/pull/393](https://redirect.github.com/maciejhirsz/logos/pull/393)
- [@joerivanruth](https://redirect.github.com/joerivanruth) made their first contribution in [https://github.com/maciejhirsz/logos/pull/396](https://redirect.github.com/maciejhirsz/logos/pull/396)
- [@afreeland](https://redirect.github.com/afreeland) made their first contribution in [https://github.com/maciejhirsz/logos/pull/379](https://redirect.github.com/maciejhirsz/logos/pull/379)
- [@LeoDog896](https://redirect.github.com/LeoDog896) made their first contribution in [https://github.com/maciejhirsz/logos/pull/403](https://redirect.github.com/maciejhirsz/logos/pull/403)
**Full Changelog**: https://github.com/maciejhirsz/logos/compare/v0.14...v0.14.1
rust-lang/rust (rust)
### [`v1.81.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1810-2024-09-05)
[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.80.1...1.81.0)
\==========================
## Language
- [Abort on uncaught panics in `extern "C"` functions.](https://redirect.github.com/rust-lang/rust/pull/116088/)
- [Fix ambiguous cases of multiple `&` in elided self lifetimes.](https://redirect.github.com/rust-lang/rust/pull/117967/)
- [Stabilize `#[expect]` for lints (RFC 2383),](https://redirect.github.com/rust-lang/rust/pull/120924/) like `#[allow]` with a warning if the lint is *not* fulfilled.
- [Change method resolution to constrain hidden types instead of rejecting method candidates.](https://redirect.github.com/rust-lang/rust/pull/123962/)
- [Bump `elided_lifetimes_in_associated_constant` to deny.](https://redirect.github.com/rust-lang/rust/pull/124211/)
- [`offset_from`: always allow pointers to point to the same address.](https://redirect.github.com/rust-lang/rust/pull/124921/)
- [Allow constraining opaque types during subtyping in the trait system.](https://redirect.github.com/rust-lang/rust/pull/125447/)
- [Allow constraining opaque types during various unsizing casts.](https://redirect.github.com/rust-lang/rust/pull/125610/)
- [Deny keyword lifetimes pre-expansion.](https://redirect.github.com/rust-lang/rust/pull/126762/)
## Compiler
- [Make casts of pointers to trait objects stricter.](https://redirect.github.com/rust-lang/rust/pull/120248/)
- [Check alias args for well-formedness even if they have escaping bound vars.](https://redirect.github.com/rust-lang/rust/pull/123737/)
- [Deprecate no-op codegen option `-Cinline-threshold=...`.](https://redirect.github.com/rust-lang/rust/pull/124712/)
- [Re-implement a type-size based limit.](https://redirect.github.com/rust-lang/rust/pull/125507/)
- [Properly account for alignment in `transmute` size checks.](https://redirect.github.com/rust-lang/rust/pull/125740/)
- [Remove the `box_pointers` lint.](https://redirect.github.com/rust-lang/rust/pull/126018/)
- [Ensure the interpreter checks bool/char for validity when they are used in a cast.](https://redirect.github.com/rust-lang/rust/pull/126265/)
- [Improve coverage instrumentation for functions containing nested items.](https://redirect.github.com/rust-lang/rust/pull/127199/)
- Target changes:
- [Add Tier 3 `no_std` Xtensa targets:](https://redirect.github.com/rust-lang/rust/pull/125141/) `xtensa-esp32-none-elf`, `xtensa-esp32s2-none-elf`, `xtensa-esp32s3-none-elf`
- [Add Tier 3 `std` Xtensa targets:](https://redirect.github.com/rust-lang/rust/pull/126380/) `xtensa-esp32-espidf`, `xtensa-esp32s2-espidf`, `xtensa-esp32s3-espidf`
- [Add Tier 3 i686 Redox OS target:](https://redirect.github.com/rust-lang/rust/pull/126192/) `i686-unknown-redox`
- [Promote `arm64ec-pc-windows-msvc` to Tier 2.](https://redirect.github.com/rust-lang/rust/pull/126039/)
- [Promote `loongarch64-unknown-linux-musl` to Tier 2 with host tools.](https://redirect.github.com/rust-lang/rust/pull/126298/)
- [Enable full tools and profiler for LoongArch Linux targets.](https://redirect.github.com/rust-lang/rust/pull/127078/)
- [Unconditionally warn on usage of `wasm32-wasi`.](https://redirect.github.com/rust-lang/rust/pull/126662/) (see compatibility note below)
- Refer to Rust's \[platform support page]\[platform-support-doc] for more information on Rust's tiered platform support.
## Libraries
- [Split core's `PanicInfo` and std's `PanicInfo`.](https://redirect.github.com/rust-lang/rust/pull/115974/) (see compatibility note below)
- [Generalize `{Rc,Arc}::make_mut()` to unsized types.](https://redirect.github.com/rust-lang/rust/pull/116113/)
- [Replace sort implementations with stable `driftsort` and unstable `ipnsort`.](https://redirect.github.com/rust-lang/rust/pull/124032/) All `slice::sort*` and `slice::select_nth*` methods are expected to see significant performance improvements. See the [research project](https://redirect.github.com/Voultapher/sort-research-rs) for more details.
- [Document behavior of `create_dir_all` with respect to empty paths.](https://redirect.github.com/rust-lang/rust/pull/125112/)
- [Fix interleaved output in the default panic hook when multiple threads panic simultaneously.](https://redirect.github.com/rust-lang/rust/pull/127397/)
## Stabilized APIs
- [`core::error`](https://doc.rust-lang.org/stable/core/error/index.html)
- [`hint::assert_unchecked`](https://doc.rust-lang.org/stable/core/hint/fn.assert_unchecked.html)
- [`fs::exists`](https://doc.rust-lang.org/stable/std/fs/fn.exists.html)
- [`AtomicBool::fetch_not`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicBool.html#method.fetch_not)
- [`Duration::abs_diff`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.abs_diff)
- [`IoSlice::advance`](https://doc.rust-lang.org/stable/std/io/struct.IoSlice.html#method.advance)
- [`IoSlice::advance_slices`](https://doc.rust-lang.org/stable/std/io/struct.IoSlice.html#method.advance_slices)
- [`IoSliceMut::advance`](https://doc.rust-lang.org/stable/std/io/struct.IoSliceMut.html#method.advance)
- [`IoSliceMut::advance_slices`](https://doc.rust-lang.org/stable/std/io/struct.IoSliceMut.html#method.advance_slices)
- [`PanicHookInfo`](https://doc.rust-lang.org/stable/std/panic/struct.PanicHookInfo.html)
- [`PanicInfo::message`](https://doc.rust-lang.org/stable/core/panic/struct.PanicInfo.html#method.message)
- [`PanicMessage`](https://doc.rust-lang.org/stable/core/panic/struct.PanicMessage.html)
These APIs are now stable in const contexts:
- [`char::from_u32_unchecked`](https://doc.rust-lang.org/stable/core/char/fn.from_u32\_unchecked.html) (function)
- [`char::from_u32_unchecked`](https://doc.rust-lang.org/stable/core/primitive.char.html#method.from_u32\_unchecked) (method)
- [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
- [`CStr::from_ptr`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.from_ptr)
## Cargo
- [Generated `.cargo_vcs_info.json` is always included, even when `--allow-dirty` is passed.](https://redirect.github.com/rust-lang/cargo/pull/13960/)
- [Disallow `package.license-file` and `package.readme` pointing to non-existent files during packaging.](https://redirect.github.com/rust-lang/cargo/pull/13921/)
- [Disallow passing `--release`/`--debug` flag along with the `--profile` flag.](https://redirect.github.com/rust-lang/cargo/pull/13971/)
- [Remove `lib.plugin` key support in `Cargo.toml`. Rust plugin support has been deprecated for four years and was removed in 1.75.0.](https://redirect.github.com/rust-lang/cargo/pull/13902/)
## Compatibility Notes
- Usage of the `wasm32-wasi` target will now issue a compiler warning and request users switch to the `wasm32-wasip1` target instead. Both targets are the same, `wasm32-wasi` is only being renamed, and this [change to the WASI target](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html) is being done to enable removing `wasm32-wasi` in January 2025.
- We have renamed `std::panic::PanicInfo` to `std::panic::PanicHookInfo`. The old name will continue to work as an alias, but will result in a deprecation warning starting in Rust 1.82.0.
`core::panic::PanicInfo` will remain unchanged, however, as this is now a *different type*.
The reason is that these types have different roles: `std::panic::PanicHookInfo` is the argument to the [panic hook](https://doc.rust-lang.org/stable/std/panic/fn.set_hook.html) in std context (where panics can have an arbitrary payload), while `core::panic::PanicInfo` is the argument to the [`#[panic_handler]`](https://doc.rust-lang.org/nomicon/panic-handler.html) in no_std context (where panics always carry a formatted *message*). Separating these types allows us to add more useful methods to these types, such as `std::panic::PanicHookInfo::payload_as_str()` and `core::panic::PanicInfo::message()`.
- The new sort implementations may panic if a type's implementation of [`Ord`](https://doc.rust-lang.org/std/cmp/trait.Ord.html) (or the given comparison function) does not implement a [total order](https://en.wikipedia.org/wiki/Total_order) as the trait requires. `Ord`'s supertraits (`PartialOrd`, `Eq`, and `PartialEq`) must also be consistent. The previous implementations would not "notice" any problem, but the new implementations have a good chance of detecting inconsistencies, throwing a panic rather than returning knowingly unsorted data.
- [In very rare cases, a change in the internal evaluation order of the trait
solver may result in new fatal overflow errors.](https://redirect.github.com/rust-lang/rust/pull/126128)
## Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
- [Add a Rust-for Linux `auto` CI job to check kernel builds.](https://redirect.github.com/rust-lang/rust/pull/125209/)
### [`v1.80.1`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1801-2024-08-08)
[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.80.0...1.80.1)
\===========================
- [Fix miscompilation in the jump threading MIR optimization when comparing floats](https://redirect.github.com/rust-lang/rust/pull/128271)
- [Revert changes to the `dead_code` lint from 1.80.0](https://redirect.github.com/rust-lang/rust/pull/128618)
rust-analyzer/smol_str (smol_str)
### [`v0.3.1`](https://redirect.github.com/rust-analyzer/smol_str/blob/HEAD/CHANGELOG.md#031---2024-09-04)
[Compare Source](https://redirect.github.com/rust-analyzer/smol_str/compare/v0.3.0...v0.3.1)
- Fix `SmolStrBuilder` leaking implementation details
### [`v0.3.0`](https://redirect.github.com/rust-analyzer/smol_str/blob/HEAD/CHANGELOG.md#030---2024-09-04)
[Compare Source](https://redirect.github.com/rust-analyzer/smol_str/compare/v0.2.2...v0.3.0)
- Remove deprecated `SmolStr::new_inline_from_ascii` function
- Remove `SmolStr::to_string` in favor of `ToString::to_string`
- Add `impl AsRef<[u8]> for SmolStr` impl
- Add `impl AsRef for SmolStr` impl
- Add `impl AsRef for SmolStr` impl
- Add `SmolStrBuilder`
Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
0.20.0
->0.22.0
0.20.0
->0.22.0
0.12
->0.14
1.80.0
->1.81.0
0.2
->0.3
Release Notes
lalrpop/lalrpop (lalrpop)
### [`v0.22.0`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0220-2024-09-26) [Compare Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.21.0...0.22.0) ##### 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 ### [`v0.21.0`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0210-2024-05-30) [Compare Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.20.2...0.21.0) 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. ### [`v0.20.2`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0202-2024-02-) [Compare Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.20.1...0.20.2) 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 for the report!) - Unicode is now set as a default feature in lalrpop-util to align with lalrpop's defaults ##### Compatibility note - MSRV increased to `1.70`. - `process_root_unconditionally` now correctly lints as having been deprecated. - Internal types which lead with a `__` and should not be relied upon are no longer publicly exposed (thanks to arnaudgolfouse!) - Lalrpop files containing a space in their name now return an error. ### [`v0.20.1`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0201-2024-02-) [Compare Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.20.0...0.20.1) Yankedmaciejhirsz/logos (logos)
### [`v0.14.2`](https://redirect.github.com/maciejhirsz/logos/releases/tag/v0.14.2): - Optional `forbid_unsafe` feature, fuzzing, book, and more! [Compare Source](https://redirect.github.com/maciejhirsz/logos/compare/v0.14.1...v0.14.2) #### What's Changed - chore(book): added link to Rust's reference by [@CommanderStorm](https://redirect.github.com/CommanderStorm) in [https://github.com/maciejhirsz/logos/pull/411](https://redirect.github.com/maciejhirsz/logos/pull/411) - feat: impl Source for T: Deref in no_std by [@yjhmelody](https://redirect.github.com/yjhmelody) in [https://github.com/maciejhirsz/logos/pull/406](https://redirect.github.com/maciejhirsz/logos/pull/406) - fix(codegen/regex): allow vec growth on parse by [@LeoDog896](https://redirect.github.com/LeoDog896) in [https://github.com/maciejhirsz/logos/pull/405](https://redirect.github.com/maciejhirsz/logos/pull/405) - test: basic fuzzing by [@LeoDog896](https://redirect.github.com/LeoDog896) in [https://github.com/maciejhirsz/logos/pull/407](https://redirect.github.com/maciejhirsz/logos/pull/407) - feat(lib): add `forbid_unsafe` feature to disable unsafe code by [@davidkern](https://redirect.github.com/davidkern) in [https://github.com/maciejhirsz/logos/pull/413](https://redirect.github.com/maciejhirsz/logos/pull/413) - chore(version): release v0.14.2 by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/422](https://redirect.github.com/maciejhirsz/logos/pull/422) #### New Contributors - [@CommanderStorm](https://redirect.github.com/CommanderStorm) made their first contribution in [https://github.com/maciejhirsz/logos/pull/411](https://redirect.github.com/maciejhirsz/logos/pull/411) - [@yjhmelody](https://redirect.github.com/yjhmelody) made their first contribution in [https://github.com/maciejhirsz/logos/pull/406](https://redirect.github.com/maciejhirsz/logos/pull/406) - [@davidkern](https://redirect.github.com/davidkern) made their first contribution in [https://github.com/maciejhirsz/logos/pull/413](https://redirect.github.com/maciejhirsz/logos/pull/413) **Full Changelog**: https://github.com/maciejhirsz/logos/compare/v0.14.1...v0.14.2 ### [`v0.14.1`](https://redirect.github.com/maciejhirsz/logos/releases/tag/v0.14.1): 0.14.1 - Debug feature and fixes #### What's Changed - fix(doc): reset logos2 to logos by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/372](https://redirect.github.com/maciejhirsz/logos/pull/372) - chore(book): add JSON-borrowed parser example by [@jeertmans](https://redirect.github.com/jeertmans) in [https://github.com/maciejhirsz/logos/pull/373](https://redirect.github.com/maciejhirsz/logos/pull/373) - Add Rcrust-lang/rust (rust)
### [`v1.81.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1810-2024-09-05) [Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.80.1...1.81.0) \========================== ## Language - [Abort on uncaught panics in `extern "C"` functions.](https://redirect.github.com/rust-lang/rust/pull/116088/) - [Fix ambiguous cases of multiple `&` in elided self lifetimes.](https://redirect.github.com/rust-lang/rust/pull/117967/) - [Stabilize `#[expect]` for lints (RFC 2383),](https://redirect.github.com/rust-lang/rust/pull/120924/) like `#[allow]` with a warning if the lint is *not* fulfilled. - [Change method resolution to constrain hidden types instead of rejecting method candidates.](https://redirect.github.com/rust-lang/rust/pull/123962/) - [Bump `elided_lifetimes_in_associated_constant` to deny.](https://redirect.github.com/rust-lang/rust/pull/124211/) - [`offset_from`: always allow pointers to point to the same address.](https://redirect.github.com/rust-lang/rust/pull/124921/) - [Allow constraining opaque types during subtyping in the trait system.](https://redirect.github.com/rust-lang/rust/pull/125447/) - [Allow constraining opaque types during various unsizing casts.](https://redirect.github.com/rust-lang/rust/pull/125610/) - [Deny keyword lifetimes pre-expansion.](https://redirect.github.com/rust-lang/rust/pull/126762/) ## Compiler - [Make casts of pointers to trait objects stricter.](https://redirect.github.com/rust-lang/rust/pull/120248/) - [Check alias args for well-formedness even if they have escaping bound vars.](https://redirect.github.com/rust-lang/rust/pull/123737/) - [Deprecate no-op codegen option `-Cinline-threshold=...`.](https://redirect.github.com/rust-lang/rust/pull/124712/) - [Re-implement a type-size based limit.](https://redirect.github.com/rust-lang/rust/pull/125507/) - [Properly account for alignment in `transmute` size checks.](https://redirect.github.com/rust-lang/rust/pull/125740/) - [Remove the `box_pointers` lint.](https://redirect.github.com/rust-lang/rust/pull/126018/) - [Ensure the interpreter checks bool/char for validity when they are used in a cast.](https://redirect.github.com/rust-lang/rust/pull/126265/) - [Improve coverage instrumentation for functions containing nested items.](https://redirect.github.com/rust-lang/rust/pull/127199/) - Target changes: - [Add Tier 3 `no_std` Xtensa targets:](https://redirect.github.com/rust-lang/rust/pull/125141/) `xtensa-esp32-none-elf`, `xtensa-esp32s2-none-elf`, `xtensa-esp32s3-none-elf` - [Add Tier 3 `std` Xtensa targets:](https://redirect.github.com/rust-lang/rust/pull/126380/) `xtensa-esp32-espidf`, `xtensa-esp32s2-espidf`, `xtensa-esp32s3-espidf` - [Add Tier 3 i686 Redox OS target:](https://redirect.github.com/rust-lang/rust/pull/126192/) `i686-unknown-redox` - [Promote `arm64ec-pc-windows-msvc` to Tier 2.](https://redirect.github.com/rust-lang/rust/pull/126039/) - [Promote `loongarch64-unknown-linux-musl` to Tier 2 with host tools.](https://redirect.github.com/rust-lang/rust/pull/126298/) - [Enable full tools and profiler for LoongArch Linux targets.](https://redirect.github.com/rust-lang/rust/pull/127078/) - [Unconditionally warn on usage of `wasm32-wasi`.](https://redirect.github.com/rust-lang/rust/pull/126662/) (see compatibility note below) - Refer to Rust's \[platform support page]\[platform-support-doc] for more information on Rust's tiered platform support. ## Libraries - [Split core's `PanicInfo` and std's `PanicInfo`.](https://redirect.github.com/rust-lang/rust/pull/115974/) (see compatibility note below) - [Generalize `{Rc,Arc}::make_mut()` to unsized types.](https://redirect.github.com/rust-lang/rust/pull/116113/) - [Replace sort implementations with stable `driftsort` and unstable `ipnsort`.](https://redirect.github.com/rust-lang/rust/pull/124032/) All `slice::sort*` and `slice::select_nth*` methods are expected to see significant performance improvements. See the [research project](https://redirect.github.com/Voultapher/sort-research-rs) for more details. - [Document behavior of `create_dir_all` with respect to empty paths.](https://redirect.github.com/rust-lang/rust/pull/125112/) - [Fix interleaved output in the default panic hook when multiple threads panic simultaneously.](https://redirect.github.com/rust-lang/rust/pull/127397/) ## Stabilized APIs - [`core::error`](https://doc.rust-lang.org/stable/core/error/index.html) - [`hint::assert_unchecked`](https://doc.rust-lang.org/stable/core/hint/fn.assert_unchecked.html) - [`fs::exists`](https://doc.rust-lang.org/stable/std/fs/fn.exists.html) - [`AtomicBool::fetch_not`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicBool.html#method.fetch_not) - [`Duration::abs_diff`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.abs_diff) - [`IoSlice::advance`](https://doc.rust-lang.org/stable/std/io/struct.IoSlice.html#method.advance) - [`IoSlice::advance_slices`](https://doc.rust-lang.org/stable/std/io/struct.IoSlice.html#method.advance_slices) - [`IoSliceMut::advance`](https://doc.rust-lang.org/stable/std/io/struct.IoSliceMut.html#method.advance) - [`IoSliceMut::advance_slices`](https://doc.rust-lang.org/stable/std/io/struct.IoSliceMut.html#method.advance_slices) - [`PanicHookInfo`](https://doc.rust-lang.org/stable/std/panic/struct.PanicHookInfo.html) - [`PanicInfo::message`](https://doc.rust-lang.org/stable/core/panic/struct.PanicInfo.html#method.message) - [`PanicMessage`](https://doc.rust-lang.org/stable/core/panic/struct.PanicMessage.html) These APIs are now stable in const contexts: - [`char::from_u32_unchecked`](https://doc.rust-lang.org/stable/core/char/fn.from_u32\_unchecked.html) (function) - [`char::from_u32_unchecked`](https://doc.rust-lang.org/stable/core/primitive.char.html#method.from_u32\_unchecked) (method) - [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes) - [`CStr::from_ptr`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.from_ptr) ## Cargo - [Generated `.cargo_vcs_info.json` is always included, even when `--allow-dirty` is passed.](https://redirect.github.com/rust-lang/cargo/pull/13960/) - [Disallow `package.license-file` and `package.readme` pointing to non-existent files during packaging.](https://redirect.github.com/rust-lang/cargo/pull/13921/) - [Disallow passing `--release`/`--debug` flag along with the `--profile` flag.](https://redirect.github.com/rust-lang/cargo/pull/13971/) - [Remove `lib.plugin` key support in `Cargo.toml`. Rust plugin support has been deprecated for four years and was removed in 1.75.0.](https://redirect.github.com/rust-lang/cargo/pull/13902/) ## Compatibility Notes - Usage of the `wasm32-wasi` target will now issue a compiler warning and request users switch to the `wasm32-wasip1` target instead. Both targets are the same, `wasm32-wasi` is only being renamed, and this [change to the WASI target](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html) is being done to enable removing `wasm32-wasi` in January 2025. - We have renamed `std::panic::PanicInfo` to `std::panic::PanicHookInfo`. The old name will continue to work as an alias, but will result in a deprecation warning starting in Rust 1.82.0. `core::panic::PanicInfo` will remain unchanged, however, as this is now a *different type*. The reason is that these types have different roles: `std::panic::PanicHookInfo` is the argument to the [panic hook](https://doc.rust-lang.org/stable/std/panic/fn.set_hook.html) in std context (where panics can have an arbitrary payload), while `core::panic::PanicInfo` is the argument to the [`#[panic_handler]`](https://doc.rust-lang.org/nomicon/panic-handler.html) in no_std context (where panics always carry a formatted *message*). Separating these types allows us to add more useful methods to these types, such as `std::panic::PanicHookInfo::payload_as_str()` and `core::panic::PanicInfo::message()`. - The new sort implementations may panic if a type's implementation of [`Ord`](https://doc.rust-lang.org/std/cmp/trait.Ord.html) (or the given comparison function) does not implement a [total order](https://en.wikipedia.org/wiki/Total_order) as the trait requires. `Ord`'s supertraits (`PartialOrd`, `Eq`, and `PartialEq`) must also be consistent. The previous implementations would not "notice" any problem, but the new implementations have a good chance of detecting inconsistencies, throwing a panic rather than returning knowingly unsorted data. - [In very rare cases, a change in the internal evaluation order of the trait solver may result in new fatal overflow errors.](https://redirect.github.com/rust-lang/rust/pull/126128) ## Internal Changes These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools. - [Add a Rust-for Linux `auto` CI job to check kernel builds.](https://redirect.github.com/rust-lang/rust/pull/125209/) ### [`v1.80.1`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1801-2024-08-08) [Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.80.0...1.80.1) \=========================== - [Fix miscompilation in the jump threading MIR optimization when comparing floats](https://redirect.github.com/rust-lang/rust/pull/128271) - [Revert changes to the `dead_code` lint from 1.80.0](https://redirect.github.com/rust-lang/rust/pull/128618)rust-analyzer/smol_str (smol_str)
### [`v0.3.1`](https://redirect.github.com/rust-analyzer/smol_str/blob/HEAD/CHANGELOG.md#031---2024-09-04) [Compare Source](https://redirect.github.com/rust-analyzer/smol_str/compare/v0.3.0...v0.3.1) - Fix `SmolStrBuilder` leaking implementation details ### [`v0.3.0`](https://redirect.github.com/rust-analyzer/smol_str/blob/HEAD/CHANGELOG.md#030---2024-09-04) [Compare Source](https://redirect.github.com/rust-analyzer/smol_str/compare/v0.2.2...v0.3.0) - Remove deprecated `SmolStr::new_inline_from_ascii` function - Remove `SmolStr::to_string` in favor of `ToString::to_string` - Add `impl AsRef<[u8]> for SmolStr` impl - Add `impl AsRefConfiguration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.