renovate[bot]
a3161b6482
chore(deps): Update dependency maturin to >=1.9,<1.10
2025-07-01 01:56:17 +00:00
Ed Page
392b78fe18
chore: Release
v1.34.0
2025-06-30 09:31:17 -05:00
Ed Page
34b60f1f88
chore: Release
typos-dict-v0.12.14
varcon-core-v5.0.3
2025-06-30 09:30:27 -05:00
Ed Page
8b9670a614
docs: Update changelog
2025-06-30 09:30:07 -05:00
Ed Page
a6e61180eb
Merge pull request #1332 from epage/juune
...
feat(dict): June 2025 updates
2025-06-30 09:28:12 -05:00
Ed Page
92f481e38a
feat(dict): June 2025 updates
...
Fixes #1309
2025-06-30 09:17:35 -05:00
renovate[bot]
fb1f645959
chore(deps): Update Rust Stable to v1.88 ( #1330 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust ) | minor | `1.87`
-> `1.88` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.88`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1880-2025-06-26 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.87.0...1.88.0 )
\==========================
<a id="1.88.0-Language"></a>
## Language
- [Stabilize `#![feature(let_chains)]` in the 2024
edition.](https://redirect.github.com/rust-lang/rust/pull/132833 )
This feature allows `&&`-chaining `let` statements inside `if` and
`while`, allowing intermixture with boolean expressions. The patterns
inside the `let` sub-expressions can be irrefutable or refutable.
- [Stabilize
`#![feature(naked_functions)]`.](https://redirect.github.com/rust-lang/rust/pull/134213 )
Naked functions allow writing functions with no compiler-generated
epilogue and prologue, allowing full control over the generated assembly
for a particular function.
- [Stabilize
`#![feature(cfg_boolean_literals)]`.](https://redirect.github.com/rust-lang/rust/pull/138632 )
This allows using boolean literals as `cfg` predicates, e.g.
`#[cfg(true)]` and `#[cfg(false)]`.
- [Fully de-stabilize the `#[bench]`
attribute](https://redirect.github.com/rust-lang/rust/pull/134273 ).
Usage of `#[bench]` without `#![feature(custom_test_frameworks)]`
already triggered a deny-by-default future-incompatibility lint since
Rust 1.77, but will now become a hard error.
- [Add warn-by-default `dangerous_implicit_autorefs` lint against
implicit autoref of raw pointer
dereference.](https://redirect.github.com/rust-lang/rust/pull/123239 )
The lint [will be bumped to
deny-by-default](https://redirect.github.com/rust-lang/rust/pull/141661 )
in the next version of Rust.
- [Add `invalid_null_arguments` lint to prevent invalid usage of null
pointers.](https://redirect.github.com/rust-lang/rust/pull/119220 )
This lint is uplifted from `clippy::invalid_null_ptr_usage`.
- [Change trait impl candidate preference for builtin impls and trivial
where-clauses.](https://redirect.github.com/rust-lang/rust/pull/138176 )
- [Check types of generic const parameter
defaults](https://redirect.github.com/rust-lang/rust/pull/139646 )
<a id="1.88.0-Compiler"></a>
## Compiler
- [Stabilize `-Cdwarf-version` for selecting the version of DWARF debug
information to
generate.](https://redirect.github.com/rust-lang/rust/pull/136926 )
<a id="1.88.0-Platform-Support"></a>
## Platform Support
- [Demote `i686-pc-windows-gnu` to Tier
2.](https://blog.rust-lang.org/2025/05/26/demoting-i686-pc-windows-gnu/ )
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html
<a id="1.88.0-Libraries"></a>
## Libraries
- [Remove backticks from `#[should_panic]` test failure
message.](https://redirect.github.com/rust-lang/rust/pull/136160 )
- [Guarantee that `[T; N]::from_fn` is generated in order of increasing
indices.](https://redirect.github.com/rust-lang/rust/pull/139099 ), for
those passing it a stateful closure.
- [The libtest flag `--nocapture` is deprecated in favor of the more
consistent `--no-capture`
flag.](https://redirect.github.com/rust-lang/rust/pull/139224 )
- [Guarantee that `{float}::NAN` is a quiet
NaN.](https://redirect.github.com/rust-lang/rust/pull/139483 )
<a id="1.88.0-Stabilized-APIs"></a>
## Stabilized APIs
-
[`Cell::update`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.update )
- [`impl Default for *const
T`](https://doc.rust-lang.org/nightly/std/primitive.pointer.html#impl-Default-for-*const+T )
- [`impl Default for *mut
T`](https://doc.rust-lang.org/nightly/std/primitive.pointer.html#impl-Default-for-*mut+T )
-
[`HashMap::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.extract_if )
-
[`HashSet::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.extract_if )
-
[`proc_macro::Span::line`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.line )
-
[`proc_macro::Span::column`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.column )
-
[`proc_macro::Span::start`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.start )
-
[`proc_macro::Span::end`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.end )
-
[`proc_macro::Span::file`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.file )
-
[`proc_macro::Span::local_file`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.local_file )
These previously stable APIs are now stable in const contexts:
-
[`NonNull<T>::replace`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.replace )
- [`<*mut
T>::replace`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.replace )
-
[`std::ptr::swap_nonoverlapping`](https://redirect.github.com/rust-lang/rust/pull/137280 )
- [`Cell::{replace, get, get_mut, from_mut,
as_slice_of_cells}`](https://redirect.github.com/rust-lang/rust/pull/137928 )
<a id="1.88.0-Cargo"></a>
## Cargo
- [Stabilize automatic garbage
collection.](https://redirect.github.com/rust-lang/cargo/pull/14287/ )
- [use `zlib-rs` for gzip compression in rust
code](https://redirect.github.com/rust-lang/cargo/pull/15417/ )
<a id="1.88.0-Rustdoc"></a>
## Rustdoc
- [Doctests can be ignored based on target names using `ignore-*`
attributes.](https://redirect.github.com/rust-lang/rust/pull/137096 )
- [Stabilize the `--test-runtool` and `--test-runtool-arg` CLI options
to specify a program (like qemu) and its arguments to run a
doctest.](https://redirect.github.com/rust-lang/rust/pull/137096 )
<a id="1.88.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Finish changing the internal representation of pasted
tokens](https://redirect.github.com/rust-lang/rust/pull/124141 ). Certain
invalid declarative macros that were previously accepted in obscure
circumstances are now correctly rejected by the compiler. Use of a `tt`
fragment specifier can often fix these macros.
- [Fully de-stabilize the `#[bench]`
attribute](https://redirect.github.com/rust-lang/rust/pull/134273 ).
Usage of `#[bench]` without `#![feature(custom_test_frameworks)]`
already triggered a deny-by-default future-incompatibility lint since
Rust 1.77, but will now become a hard error.
- [Fix borrow checking some always-true
patterns.](https://redirect.github.com/rust-lang/rust/pull/139042 )
The borrow checker was overly permissive in some cases, allowing
programs that shouldn't have compiled.
- [Update the minimum external LLVM to
19.](https://redirect.github.com/rust-lang/rust/pull/139275 )
- [Make it a hard error to use a vector type with a non-Rust ABI without
enabling the required target
feature.](https://redirect.github.com/rust-lang/rust/pull/139309 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/crate-ci/typos ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 19:16:45 +00:00
Ed Page
ebc6aac34e
Merge pull request #1327 from not-my-profile/fix-typo-in-error
...
fix(cli): Correct config field reference in error message
2025-06-19 06:19:25 -05:00
Martin Fischer
e359d71a7f
fix(cli): Correct config field reference in error message
2025-06-19 10:59:55 +02:00
Ed Page
022bdbe8ce
chore(ci): Update from windows-2019
2025-06-09 11:09:35 -05:00
Ed Page
ed74f4ebbb
chore(ci): Update from windows-2019
2025-06-09 11:08:54 -05:00
Ed Page
aa4f86f568
Merge pull request #1316 from epage/template
...
chore: Update from _rust/main template
2025-06-05 10:31:58 -05:00
Ed Page
4f9bc3a331
fix(varcon): Expose ParseError
2025-06-05 10:21:44 -05:00
Ed Page
37c62d07ec
chore: Update from _rust/main template
2025-06-05 09:58:22 -05:00
Ed Page
271edc6a4c
chore: Add zlib license
2025-06-03 12:32:48 -05:00
renovate[bot]
6acb890d7a
chore(deps): Update Rust crate automod to v1.0.15 ( #27 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [automod](https://redirect.github.com/dtolnay/automod ) |
dev-dependencies | patch | `1.0.14` -> `1.0.15` |
---
### Release Notes
<details>
<summary>dtolnay/automod (automod)</summary>
###
[`v1.0.15`](https://redirect.github.com/dtolnay/automod/releases/tag/1.0.15 )
[Compare
Source](https://redirect.github.com/dtolnay/automod/compare/1.0.14...1.0.15 )
- Documentation improvements
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 5am on the first day of the
month" (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/epage/_rust ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 21:20:42 +00:00
Ed Page
b1ae8d918b
chore: Release
typos-dict-v0.12.13
v1.33.1
2025-06-02 12:51:58 -05:00
Ed Page
6c5d17de8e
docs: Update changelog
2025-06-02 12:51:46 -05:00
Ed Page
0a237ba81a
Merge pull request #1311 from epage/wasn
...
fix(dict): Don't correct `wasn't`
2025-06-02 12:40:59 -05:00
renovate[bot]
b8a7ea49d9
chore(deps): Update Rust Stable to v1.87 ( #18 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust ) | minor | `1.76`
-> `1.87` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.87`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1870-2025-05-15 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.86.0...1.87.0 )
\==========================
<a id="1.87.0-Language"></a>
## Language
- [Stabilize `asm_goto`
feature](https://redirect.github.com/rust-lang/rust/pull/133870 )
- [Allow parsing open beginning ranges (`..EXPR`) after unary operators
`!`, `-`, and
`*`](https://redirect.github.com/rust-lang/rust/pull/134900 ).
- [Don't require method impls for methods with `Self: Sized` bounds in
`impl`s for unsized
types](https://redirect.github.com/rust-lang/rust/pull/135480 )
- [Stabilize `feature(precise_capturing_in_traits)` allowing `use<...>`
bounds on return position `impl Trait` in
`trait`s](https://redirect.github.com/rust-lang/rust/pull/138128 )
<a id="1.87.0-Compiler"></a>
## Compiler
- [x86: make SSE2 required for i686 targets and use it to pass SIMD
types](https://redirect.github.com/rust-lang/rust/pull/135408 )
<a id="1.87.0-Platform-Support"></a>
## Platform Support
- [Remove `i586-pc-windows-msvc`
target](https://redirect.github.com/rust-lang/rust/pull/137957 )
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html
<a id="1.87.0-Libraries"></a>
## Libraries
- [Stabilize the anonymous pipe
API](https://redirect.github.com/rust-lang/rust/issues/127154 )
- [Add support for unbounded left/right shift
operations](https://redirect.github.com/rust-lang/rust/issues/129375 )
- [Print pointer metadata in `Debug` impl of raw
pointers](https://redirect.github.com/rust-lang/rust/pull/135080 )
- [`Vec::with_capacity` guarantees it allocates with the amount
requested, even if `Vec::capacity` returns a different
number.](https://redirect.github.com/rust-lang/rust/pull/135933 )
- Most `std::arch` intrinsics which don't take pointer arguments can now
be called from safe code if the caller has the appropriate target
features already enabled
([https://github.com/rust-lang/stdarch/pull/1714 ](https://redirect.github.com/rust-lang/stdarch/pull/1714 ),
[https://github.com/rust-lang/stdarch/pull/1716 ](https://redirect.github.com/rust-lang/stdarch/pull/1716 ),
[https://github.com/rust-lang/stdarch/pull/1717 ](https://redirect.github.com/rust-lang/stdarch/pull/1717 ))
- [Undeprecate
`env::home_dir`](https://redirect.github.com/rust-lang/rust/pull/137327 )
- [Denote `ControlFlow` as
`#[must_use]`](https://redirect.github.com/rust-lang/rust/pull/137449 )
- [Macros such as `assert_eq!` and `vec!` now support `const {...}`
expressions](https://redirect.github.com/rust-lang/rust/pull/138162 )
<a id="1.87.0-Stabilized-APIs"></a>
## Stabilized APIs
-
[`Vec::extract_if`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.extract_if )
-
[`vec::ExtractIf`](https://doc.rust-lang.org/stable/std/vec/struct.ExtractIf.html )
-
[`LinkedList::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.LinkedList.html#method.extract_if )
-
[`linked_list::ExtractIf`](https://doc.rust-lang.org/stable/std/collections/linked_list/struct.ExtractIf.html )
-
[`<[T]>::split_off`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off )
-
[`<[T]>::split_off_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_mut )
-
[`<[T]>::split_off_first`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_first )
-
[`<[T]>::split_off_first_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_first_mut )
-
[`<[T]>::split_off_last`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_last )
-
[`<[T]>::split_off_last_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_last_mut )
-
[`String::extend_from_within`](https://doc.rust-lang.org/stable/alloc/string/struct.String.html#method.extend_from_within )
-
[`os_str::Display`](https://doc.rust-lang.org/stable/std/ffi/os_str/struct.Display.html )
-
[`OsString::display`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.display )
-
[`OsStr::display`](https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.display )
- [`io::pipe`](https://doc.rust-lang.org/stable/std/io/fn.pipe.html )
-
[`io::PipeReader`](https://doc.rust-lang.org/stable/std/io/struct.PipeReader.html )
-
[`io::PipeWriter`](https://doc.rust-lang.org/stable/std/io/struct.PipeWriter.html )
- [`impl From<PipeReader> for
OwnedHandle`](https://doc.rust-lang.org/stable/std/os/windows/io/struct.OwnedHandle.html#impl-From%3CPipeReader%3E-for-OwnedHandle )
- [`impl From<PipeWriter> for
OwnedHandle`](https://doc.rust-lang.org/stable/std/os/windows/io/struct.OwnedHandle.html#impl-From%3CPipeWriter%3E-for-OwnedHandle )
- [`impl From<PipeReader> for
Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html )
- [`impl From<PipeWriter> for
Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CPipeWriter%3E-for-Stdio )
- [`impl From<PipeReader> for
OwnedFd`](https://doc.rust-lang.org/stable/std/os/fd/struct.OwnedFd.html#impl-From%3CPipeReader%3E-for-OwnedFd )
- [`impl From<PipeWriter> for
OwnedFd`](https://doc.rust-lang.org/stable/std/os/fd/struct.OwnedFd.html#impl-From%3CPipeWriter%3E-for-OwnedFd )
-
[`Box<MaybeUninit<T>>::write`](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#method.write )
- [`impl TryFrom<Vec<u8>> for
String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-TryFrom%3CVec%3Cu8%3E%3E-for-String )
- [`<*const
T>::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from_unsigned )
- [`<*const
T>::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.byte_offset_from_unsigned )
- [`<*mut
T>::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from_unsigned-1 )
- [`<*mut
T>::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.byte_offset_from_unsigned-1 )
-
[`NonNull::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.offset_from_unsigned )
-
[`NonNull::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.byte_offset_from_unsigned )
-
[`<uN>::cast_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.cast_signed )
-
[`NonZero::<uN>::cast_signed`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.cast_signed-5 ).
-
[`<iN>::cast_unsigned`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.cast_unsigned ).
-
[`NonZero::<iN>::cast_unsigned`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.cast_unsigned-5 ).
-
[`<uN>::is_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.is_multiple_of )
-
[`<uN>::unbounded_shl`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unbounded_shl )
-
[`<uN>::unbounded_shr`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unbounded_shr )
-
[`<iN>::unbounded_shl`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unbounded_shl )
-
[`<iN>::unbounded_shr`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unbounded_shr )
-
[`<iN>::midpoint`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.midpoint )
-
[`<str>::from_utf8`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8 )
-
[`<str>::from_utf8_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_mut )
-
[`<str>::from_utf8_unchecked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_unchecked )
-
[`<str>::from_utf8_unchecked_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_unchecked_mut )
These previously stable APIs are now stable in const contexts:
-
[`core::str::from_utf8_mut`](https://doc.rust-lang.org/stable/std/str/fn.from_utf8\_mut.html )
-
[`<[T]>::copy_from_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.copy_from_slice )
-
[`SocketAddr::set_ip`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.set_ip )
-
[`SocketAddr::set_port`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.set_port ),
-
[`SocketAddrV4::set_ip`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.set_ip )
-
[`SocketAddrV4::set_port`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.set_port ),
-
[`SocketAddrV6::set_ip`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_ip )
-
[`SocketAddrV6::set_port`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_port )
-
[`SocketAddrV6::set_flowinfo`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_flowinfo )
-
[`SocketAddrV6::set_scope_id`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_scope_id )
-
[`char::is_digit`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_digit )
-
[`char::is_whitespace`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_whitespace )
- [`<[[T;
N]]>::as_flattened`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_flattened )
- [`<[[T;
N]]>::as_flattened_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_flattened_mut )
-
[`String::into_bytes`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.into_bytes )
-
[`String::as_str`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_str )
-
[`String::capacity`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.capacity )
-
[`String::as_bytes`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_bytes )
-
[`String::len`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.len )
-
[`String::is_empty`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.is_empty )
-
[`String::as_mut_str`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_mut_str )
-
[`String::as_mut_vec`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_mut_vec )
-
[`Vec::as_ptr`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_ptr )
-
[`Vec::as_slice`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_slice )
-
[`Vec::capacity`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.capacity )
-
[`Vec::len`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.len )
-
[`Vec::is_empty`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.is_empty )
-
[`Vec::as_mut_slice`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_mut_slice )
-
[`Vec::as_mut_ptr`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_mut_ptr )
<a id="1.87.0-Cargo"></a>
## Cargo
- [Add terminal integration via ANSI OSC 9;4
sequences](https://redirect.github.com/rust-lang/cargo/pull/14615/ )
- [chore: bump openssl to
v3](https://redirect.github.com/rust-lang/cargo/pull/15232/ )
- [feat(package): add --exclude-lockfile
flag](https://redirect.github.com/rust-lang/cargo/pull/15234/ )
<a id="1.87.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Rust now raises an error for macro invocations inside the
`#![crate_name]`
attribute](https://redirect.github.com/rust-lang/rust/pull/127581 )
- [Unstable fields are now always considered to be
inhabited](https://redirect.github.com/rust-lang/rust/pull/133889 )
- [Macro arguments of unary operators followed by open beginning ranges
may now be matched
differently](https://redirect.github.com/rust-lang/rust/pull/134900 )
- [Make `Debug` impl of raw pointers print metadata if
present](https://redirect.github.com/rust-lang/rust/pull/135080 )
- [Warn against function pointers using unsupported ABI strings in
dependencies](https://redirect.github.com/rust-lang/rust/pull/135767 )
- [Associated types on `dyn` types are no longer
deduplicated](https://redirect.github.com/rust-lang/rust/pull/136458 )
- [Forbid attributes on `..` inside of struct patterns (`let Struct {
#[attribute] .. })
=`](https://redirect.github.com/rust-lang/rust/pull/136490 )
- [Make `ptr_cast_add_auto_to_object` lint into hard
error](https://redirect.github.com/rust-lang/rust/pull/136764 )
- Many `std::arch` intrinsics are now safe to call in some contexts,
there may now be new `unused_unsafe` warnings in existing codebases.
- [Limit `width` and `precision` formatting options to 16 bits on all
targets](https://redirect.github.com/rust-lang/rust/pull/136932 )
- [Turn order dependent trait objects future incompat warning into a
hard error](https://redirect.github.com/rust-lang/rust/pull/136968 )
- [Denote `ControlFlow` as
`#[must_use]`](https://redirect.github.com/rust-lang/rust/pull/137449 )
- [Windows: The standard library no longer links `advapi32`, except on
win7.](https://redirect.github.com/rust-lang/rust/pull/138233 ) Code such
as C libraries that were relying on this assumption may need to
explicitly link advapi32.
- [Proc macros can no longer observe expanded `cfg(true)`
attributes.](https://redirect.github.com/rust-lang/rust/pull/138844 )
- [Start changing the internal representation of pasted
tokens](https://redirect.github.com/rust-lang/rust/pull/124141 ). Certain
invalid declarative macros that were previously accepted in obscure
circumstances are now correctly rejected by the compiler. Use of a `tt`
fragment specifier can often fix these macros.
- [Don't allow flattened format_args in
const.](https://redirect.github.com/rust-lang/rust/pull/139624 )
<a id="1.87.0-Internal-Changes"></a>
## 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.
- [Update to LLVM
20](https://redirect.github.com/rust-lang/rust/pull/135763 )
###
[`v1.86`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1860-2025-04-03 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.85.0...1.86.0 )
\==========================
<a id="1.86.0-Language"></a>
## Language
- [Stabilize upcasting trait objects to
supertraits.](https://redirect.github.com/rust-lang/rust/pull/134367 )
- [Allow safe functions to be marked with the `#[target_feature]`
attribute.](https://redirect.github.com/rust-lang/rust/pull/134090 )
- [The `missing_abi` lint now
warns-by-default.](https://redirect.github.com/rust-lang/rust/pull/132397 )
- Rust now lints about double negations, to catch cases that might have
intended to be a prefix decrement operator (`--x`) as written in other
languages. This was previously a clippy lint, `clippy::double_neg`, and
is [now available directly in Rust as
`double_negations`.](https://redirect.github.com/rust-lang/rust/pull/126604 )
- [More pointers are now detected as definitely not-null based on their
alignment in const
eval.](https://redirect.github.com/rust-lang/rust/pull/133700 )
- [Empty `repr()` attribute applied to invalid items are now correctly
rejected.](https://redirect.github.com/rust-lang/rust/pull/133925 )
- [Inner attributes `#![test]` and `#![rustfmt::skip]` are no longer
accepted in more places than
intended.](https://redirect.github.com/rust-lang/rust/pull/134276 )
<a id="1.86.0-Compiler"></a>
## Compiler
- [Debug-assert that raw pointers are non-null on
access.](https://redirect.github.com/rust-lang/rust/pull/134424 )
- [Change `-O` to mean `-C opt-level=3` instead of `-C opt-level=2` to
match Cargo's
defaults.](https://redirect.github.com/rust-lang/rust/pull/135439 )
- [Fix emission of `overflowing_literals` under certain macro
environments.](https://redirect.github.com/rust-lang/rust/pull/136393 )
<a id="1.86.0-Platform-Support"></a>
## Platform Support
- [Replace `i686-unknown-redox` target with
`i586-unknown-redox`.](https://redirect.github.com/rust-lang/rust/pull/136698 )
- [Increase baseline CPU of `i686-unknown-hurd-gnu` to Pentium
4.](https://redirect.github.com/rust-lang/rust/pull/136700 )
- New tier 3 targets:
-
[`{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock`](https://redirect.github.com/rust-lang/rust/pull/133631 ).
For supporting Neutrino QNX 7.1 with `io-socket` network stack.
-
[`{aarch64-unknown,x86_64-pc}-nto-qnx800`](https://redirect.github.com/rust-lang/rust/pull/133631 ).
For supporting Neutrino QNX 8.0 (`no_std`-only).
-
[`{x86_64,i686}-win7-windows-gnu`](https://redirect.github.com/rust-lang/rust/pull/134609 ).
Intended for backwards compatibility with Windows 7.
`{x86_64,i686}-win7-windows-msvc` are the Windows MSVC counterparts that
already exist as Tier 3 targets.
-
[`amdgcn-amd-amdhsa`](https://redirect.github.com/rust-lang/rust/pull/134740 ).
-
[`x86_64-pc-cygwin`](https://redirect.github.com/rust-lang/rust/pull/134999 ).
-
[`{mips,mipsel}-mti-none-elf`](https://redirect.github.com/rust-lang/rust/pull/135074 ).
Initial bare-metal support.
-
[`m68k-unknown-none-elf`](https://redirect.github.com/rust-lang/rust/pull/135085 ).
- [`armv7a-nuttx-{eabi,eabihf}`, `aarch64-unknown-nuttx`, and
`thumbv7a-nuttx-{eabi,eabihf}`](https://redirect.github.com/rust-lang/rust/pull/135757 ).
Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.
<a id="1.86.0-Libraries"></a>
## Libraries
- The type of `FromBytesWithNulError` in
`CStr::from_bytes_with_nul(bytes: &[u8]) -> Result<&Self,
FromBytesWithNulError>` was [changed from an opaque struct to an
enum](https://redirect.github.com/rust-lang/rust/pull/134143 ), allowing
users to examine why the conversion failed.
- [Remove `RustcDecodable` and
`RustcEncodable`.](https://redirect.github.com/rust-lang/rust/pull/134272 )
- [Deprecate libtest's `--logfile`
option.](https://redirect.github.com/rust-lang/rust/pull/134283 )
- [On recent versions of Windows, `std::fs::remove_file` will now remove
read-only
files.](https://redirect.github.com/rust-lang/rust/pull/134679 )
<a id="1.86.0-Stabilized-APIs"></a>
## Stabilized APIs
-
[`{float}::next_down`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_down )
-
[`{float}::next_up`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_up )
-
[`<[_]>::get_disjoint_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_mut )
-
[`<[_]>::get_disjoint_unchecked_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_unchecked_mut )
-
[`slice::GetDisjointMutError`](https://doc.rust-lang.org/stable/std/slice/enum.GetDisjointMutError.html )
-
[`HashMap::get_disjoint_mut`](https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_mut )
-
[`HashMap::get_disjoint_unchecked_mut`](https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_unchecked_mut )
-
[`NonZero::count_ones`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.count_ones )
-
[`Vec::pop_if`](https://doc.rust-lang.org/std/vec/struct.Vec.html#method.pop_if )
-
[`sync::Once::wait`](https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait )
-
[`sync::Once::wait_force`](https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait_force )
-
[`sync::OnceLock::wait`](https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.wait )
These APIs are now stable in const contexts:
-
[`hint::black_box`](https://doc.rust-lang.org/stable/std/hint/fn.black_box.html )
-
[`io::Cursor::get_mut`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_mut )
-
[`io::Cursor::set_position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.set_position )
-
[`str::is_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.is_char_boundary )
-
[`str::split_at`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at )
-
[`str::split_at_checked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_checked )
-
[`str::split_at_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut )
-
[`str::split_at_mut_checked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut_checked )
<a id="1.86.0-Cargo"></a>
## Cargo
- [When merging, replace rather than combine configuration keys that
refer to a program path and its
arguments.](https://redirect.github.com/rust-lang/cargo/pull/15066/ )
- [Error if both `--package` and `--workspace` are passed but the
requested package is
missing.](https://redirect.github.com/rust-lang/cargo/pull/15071/ ) This
was previously silently ignored, which was considered a bug since
missing packages should be reported.
- [Deprecate the token argument in `cargo login` to avoid shell history
leaks.](https://redirect.github.com/rust-lang/cargo/pull/15057/ )
- [Simplify the implementation of `SourceID`
comparisons.](https://redirect.github.com/rust-lang/cargo/pull/14980/ )
This may potentially change behavior if the canonicalized URL compares
differently in alternative registries.
<a id="1.86.0-Rustdoc"></a>
## Rustdoc
- [Add a sans-serif font
setting.](https://redirect.github.com/rust-lang/rust/pull/133636 )
<a id="1.86.0-Compatibility-Notes"></a>
## Compatibility Notes
- [The `wasm_c_abi` future compatibility warning is now a hard
error.](https://redirect.github.com/rust-lang/rust/pull/133951 )
Users of `wasm-bindgen` should upgrade to at least version 0.2.89,
otherwise compilation will fail.
- [Remove long-deprecated no-op attributes `#![no_start]` and
`#![crate_id]`.](https://redirect.github.com/rust-lang/rust/pull/134300 )
- [The future incompatibility lint `cenum_impl_drop_cast` has been made
into a hard
error.](https://redirect.github.com/rust-lang/rust/pull/135964 ) This
means it is now an error to cast a field-less enum to an integer if the
enum implements `Drop`.
- [SSE2 is now required for "i686" 32-bit x86 hard-float targets;
disabling it causes a warning that will become a hard error
eventually.](https://redirect.github.com/rust-lang/rust/pull/137037 )
To compile for pre-SSE2 32-bit x86, use a "i586" target instead.
<a id="1.86.0-Internal-Changes"></a>
## 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.
- [Build the rustc on AArch64 Linux with ThinLTO +
PGO.](https://redirect.github.com/rust-lang/rust/pull/133807 )
The ARM 64-bit compiler (AArch64) on Linux is now optimized with ThinLTO
and PGO, similar to the optimizations we have already performed for the
x86-64 compiler on Linux. This should make it up to 30% faster.
###
[`v1.85`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1851-2025-03-18 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.84.0...1.85.0 )
\==========================
<a id="1.85.1"></a>
- [Fix the doctest-merging feature of the 2024
Edition.](https://redirect.github.com/rust-lang/rust/pull/137899/ )
- [Relax some `target_feature` checks when generating
docs.](https://redirect.github.com/rust-lang/rust/pull/137632/ )
- [Fix errors in `std::fs::rename` on Windows 10, version
1607.](https://redirect.github.com/rust-lang/rust/pull/137528/ )
- [Downgrade bootstrap `cc` to fix custom
targets.](https://redirect.github.com/rust-lang/rust/pull/137460/ )
- [Skip submodule updates when building Rust from a source
tarball.](https://redirect.github.com/rust-lang/rust/pull/137338/ )
###
[`v1.84`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1841-2025-01-30 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.83.0...1.84.0 )
\==========================
<a id="1.84.1"></a>
- [Fix ICE 132920 in duplicate-crate
diagnostics.](https://redirect.github.com/rust-lang/rust/pull/133304/ )
- [Fix errors for overlapping impls in incremental
rebuilds.](https://redirect.github.com/rust-lang/rust/pull/133828/ )
- [Fix slow compilation related to the next-generation trait
solver.](https://redirect.github.com/rust-lang/rust/pull/135618/ )
- [Fix debuginfo when LLVM's location discriminator value limit is
exceeded.](https://redirect.github.com/rust-lang/rust/pull/135643/ )
- Fixes for building Rust from source:
- [Only try to distribute `llvm-objcopy` if llvm tools are
enabled.](https://redirect.github.com/rust-lang/rust/pull/134240/ )
- [Add Profile Override for Non-Git
Sources.](https://redirect.github.com/rust-lang/rust/pull/135433/ )
- [Resolve symlinks of LLVM tool binaries before copying
them.](https://redirect.github.com/rust-lang/rust/pull/135585/ )
- [Make it possible to use ci-rustc on tarball
sources.](https://redirect.github.com/rust-lang/rust/pull/135722/ )
###
[`v1.83`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1830-2024-11-28 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.82.0...1.83.0 )
\==========================
<a id="1.83.0-Language"></a>
## Language
- [Stabilize `&mut`, `*mut`, `&Cell`, and `*const Cell` in
const.](https://redirect.github.com/rust-lang/rust/pull/129195 )
- [Allow creating references to statics in `const`
initializers.](https://redirect.github.com/rust-lang/rust/pull/129759 )
- [Implement raw lifetimes and labels
(`'r#ident`).](https://redirect.github.com/rust-lang/rust/pull/126452 )
- [Define behavior when atomic and non-atomic reads
race.](https://redirect.github.com/rust-lang/rust/pull/128778 )
- [Non-exhaustive structs may now be
empty.](https://redirect.github.com/rust-lang/rust/pull/128934 )
- [Disallow implicit coercions from places of type
`!`](https://redirect.github.com/rust-lang/rust/pull/129392 )
- [`const extern` functions can now be defined for other calling
conventions.](https://redirect.github.com/rust-lang/rust/pull/129753 )
- [Stabilize `expr_2021` macro fragment specifier in all
editions.](https://redirect.github.com/rust-lang/rust/pull/129972 )
- [The `non_local_definitions` lint now fires on less code and warns by
default.](https://redirect.github.com/rust-lang/rust/pull/127117 )
<a id="1.83.0-Compiler"></a>
## Compiler
- [Deprecate unsound `-Csoft-float`
flag.](https://redirect.github.com/rust-lang/rust/pull/129897 )
- Add many new tier 3 targets:
-
[`aarch64_unknown_nto_qnx700`](https://redirect.github.com/rust-lang/rust/pull/127897 )
-
[`arm64e-apple-tvos`](https://redirect.github.com/rust-lang/rust/pull/130614 )
-
[`armv7-rtems-eabihf`](https://redirect.github.com/rust-lang/rust/pull/127021 )
-
[`loongarch64-unknown-linux-ohos`](https://redirect.github.com/rust-lang/rust/pull/130750 )
- [`riscv32-wrs-vxworks` and
`riscv64-wrs-vxworks`](https://redirect.github.com/rust-lang/rust/pull/130549 )
-
[`riscv32{e|em|emc}-unknown-none-elf`](https://redirect.github.com/rust-lang/rust/pull/130555 )
-
[`x86_64-unknown-hurd-gnu`](https://redirect.github.com/rust-lang/rust/pull/128345 )
-
[`x86_64-unknown-trusty`](https://redirect.github.com/rust-lang/rust/pull/130453 )
Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.
<a id="1.83.0-Libraries"></a>
## Libraries
- [Implement `PartialEq` for
`ExitCode`.](https://redirect.github.com/rust-lang/rust/pull/127633 )
- [Document that `catch_unwind` can deal with foreign exceptions without
UB, although the exact behavior is
unspecified.](https://redirect.github.com/rust-lang/rust/pull/128321 )
- [Implement `Default` for `HashMap`/`HashSet` iterators that don't
already have
it.](https://redirect.github.com/rust-lang/rust/pull/128711 )
- [Bump Unicode to version
16.0.0.](https://redirect.github.com/rust-lang/rust/pull/130183 )
- [Change documentation of `ptr::add`/`sub` to not claim equivalence
with `offset`.](https://redirect.github.com/rust-lang/rust/pull/130229 )
<a id="1.83.0-Stabilized-APIs"></a>
## Stabilized APIs
-
[`BufRead::skip_until`](https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#method.skip_until )
-
[`ControlFlow::break_value`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.break_value )
-
[`ControlFlow::continue_value`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.continue_value )
-
[`ControlFlow::map_break`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_break )
-
[`ControlFlow::map_continue`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_continue )
-
[`DebugList::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugList.html#method.finish_non_exhaustive )
-
[`DebugMap::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugMap.html#method.finish_non_exhaustive )
-
[`DebugSet::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugSet.html#method.finish_non_exhaustive )
-
[`DebugTuple::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugTuple.html#method.finish_non_exhaustive )
-
[`ErrorKind::ArgumentListTooLong`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ArgumentListTooLong )
-
[`ErrorKind::Deadlock`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.Deadlock )
-
[`ErrorKind::DirectoryNotEmpty`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.DirectoryNotEmpty )
-
[`ErrorKind::ExecutableFileBusy`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ExecutableFileBusy )
-
[`ErrorKind::FileTooLarge`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.FileTooLarge )
-
[`ErrorKind::HostUnreachable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.HostUnreachable )
-
[`ErrorKind::IsADirectory`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.IsADirectory )
-
[`ErrorKind::NetworkDown`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkDown )
-
[`ErrorKind::NetworkUnreachable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkUnreachable )
-
[`ErrorKind::NotADirectory`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotADirectory )
-
[`ErrorKind::NotSeekable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotSeekable )
-
[`ErrorKind::ReadOnlyFilesystem`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ReadOnlyFilesystem )
-
[`ErrorKind::ResourceBusy`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ResourceBusy )
-
[`ErrorKind::StaleNetworkFileHandle`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StaleNetworkFileHandle )
-
[`ErrorKind::StorageFull`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StorageFull )
-
[`ErrorKind::TooManyLinks`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.TooManyLinks )
-
[`Option::get_or_insert_default`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.get_or_insert_default )
-
[`Waker::data`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.data )
-
[`Waker::new`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.new )
-
[`Waker::vtable`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.vtable )
-
[`char::MIN`](https://doc.rust-lang.org/stable/core/primitive.char.html#associatedconstant.MIN )
-
[`hash_map::Entry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/hash_map/enum.Entry.html#method.insert_entry )
-
[`hash_map::VacantEntry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/hash_map/struct.VacantEntry.html#method.insert_entry )
These APIs are now stable in const contexts:
-
[`Cell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.Cell.html#method.into_inner )
-
[`Duration::as_secs_f32`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f32 )
-
[`Duration::as_secs_f64`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f64 )
-
[`Duration::div_duration_f32`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f32 )
-
[`Duration::div_duration_f64`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f64 )
-
[`MaybeUninit::as_mut_ptr`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.as_mut_ptr )
-
[`NonNull::as_mut`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_mut )
-
[`NonNull::copy_from`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from )
-
[`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from_nonoverlapping )
-
[`NonNull::copy_to`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to )
-
[`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to_nonoverlapping )
-
[`NonNull::slice_from_raw_parts`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.slice_from_raw_parts )
-
[`NonNull::write`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write )
-
[`NonNull::write_bytes`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_bytes )
-
[`NonNull::write_unaligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_unaligned )
-
[`OnceCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.OnceCell.html#method.into_inner )
-
[`Option::as_mut`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut )
-
[`Option::expect`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.expect )
-
[`Option::replace`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.replace )
-
[`Option::take`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.take )
-
[`Option::unwrap`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap )
-
[`Option::unwrap_unchecked`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap_unchecked )
-
[`Option::<&_>::copied`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied )
- [`Option::<&mut
_>::copied`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied-1 )
-
[`Option::<Option<_>>::flatten`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.flatten )
- [`Option::<Result<_,
_>>::transpose`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.transpose )
-
[`RefCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.RefCell.html#method.into_inner )
-
[`Result::as_mut`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.as_mut )
- [`Result::<&_,
_>::copied`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied )
- [`Result::<&mut _,
_>::copied`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied-1 )
- [`Result::<Option<_>,
_>::transpose`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.transpose )
-
[`UnsafeCell::get_mut`](https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.get_mut )
-
[`UnsafeCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.into_inner )
-
[`array::from_mut`](https://doc.rust-lang.org/stable/core/array/fn.from_mut.html )
-
[`char::encode_utf8`](https://doc.rust-lang.org/stable/core/primitive.char.html#method.encode_utf8 )
-
[`{float}::classify`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.classify )
-
[`{float}::is_finite`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_finite )
-
[`{float}::is_infinite`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_infinite )
-
[`{float}::is_nan`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_nan )
-
[`{float}::is_normal`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_normal )
-
[`{float}::is_sign_negative`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_negative )
-
[`{float}::is_sign_positive`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_positive )
-
[`{float}::is_subnormal`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_subnormal )
-
[`{float}::from_bits`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_bits )
-
[`{float}::from_be_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_be_bytes )
-
[`{float}::from_le_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_le_bytes )
-
[`{float}::from_ne_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_ne_bytes )
-
[`{float}::to_bits`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_bits )
-
[`{float}::to_be_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_be_bytes )
-
[`{float}::to_le_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_le_bytes )
-
[`{float}::to_ne_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_ne_bytes )
-
[`mem::replace`](https://doc.rust-lang.org/stable/core/mem/fn.replace.html )
-
[`ptr::replace`](https://doc.rust-lang.org/stable/core/ptr/fn.replace.html )
-
[`ptr::slice_from_raw_parts_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.slice_from_raw_parts_mut.html )
-
[`ptr::write`](https://doc.rust-lang.org/stable/core/ptr/fn.write.html )
-
[`ptr::write_unaligned`](https://doc.rust-lang.org/stable/core/ptr/fn.write_unaligned.html )
- [`<*const
_>::copy_to`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to )
- [`<*const
_>::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping )
- [`<*mut
_>::copy_from`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from )
- [`<*mut
_>::copy_from_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from_nonoverlapping )
- [`<*mut
_>::copy_to`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to-1 )
- [`<*mut
_>::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping-1 )
- [`<*mut
_>::write`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write )
- [`<*mut
_>::write_bytes`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_bytes )
- [`<*mut
_>::write_unaligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_unaligned )
-
[`slice::from_mut`](https://doc.rust-lang.org/stable/core/slice/fn.from_mut.html )
-
[`slice::from_raw_parts_mut`](https://doc.rust-lang.org/stable/core/slice/fn.from_raw_parts_mut.html )
-
[`<[_]>::first_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_mut )
-
[`<[_]>::last_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_mut )
-
[`<[_]>::first_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_chunk_mut )
-
[`<[_]>::last_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_chunk_mut )
-
[`<[_]>::split_at_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut )
-
[`<[_]>::split_at_mut_checked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_checked )
-
[`<[_]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked )
-
[`<[_]>::split_first_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_mut )
-
[`<[_]>::split_last_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_mut )
-
[`<[_]>::split_first_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_chunk_mut )
-
[`<[_]>::split_last_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_chunk_mut )
-
[`str::as_bytes_mut`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_bytes_mut )
-
[`str::as_mut_ptr`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_mut_ptr )
-
[`str::from_utf8_unchecked_mut`](https://doc.rust-lang.org/stable/core/str/fn.from_utf8\_unchecked_mut.html )
<a id="1.83.0-Cargo"></a>
## Cargo
- [Introduced a new `CARGO_MANIFEST_PATH` environment variable, similar
to `CARGO_MANIFEST_DIR` but pointing directly to the manifest
file.](https://redirect.github.com/rust-lang/cargo/pull/14404/ )
- [Added `package.autolib` to the manifest, allowing `[lib]`
auto-discovery to be
disabled.](https://redirect.github.com/rust-lang/cargo/pull/14591/ )
- [Declare support level for each crate in Cargo's Charter / crate
docs.](https://redirect.github.com/rust-lang/cargo/pull/14600/ )
- [Declare new Intentional Artifacts as 'small'
changes.](https://redirect.github.com/rust-lang/cargo/pull/14599/ )
<a id="1.83-Rustdoc"></a>
## Rustdoc
- [The sidebar / hamburger menu table of contents now includes the `#
headers` from the main item's doc
comment](https://redirect.github.com/rust-lang/rust/pull/120736 ). This
is similar to a third-party feature provided by the
rustdoc-search-enhancements browser extension.
<a id="1.83.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Warn against function pointers using unsupported ABI
strings.](https://redirect.github.com/rust-lang/rust/pull/128784 )
- [Check well-formedness of the source type's signature in fn pointer
casts.](https://redirect.github.com/rust-lang/rust/pull/129021 ) This
partly closes a soundness hole that comes when casting a function item
to function pointer
- [Use equality instead of subtyping when resolving type dependent
paths.](https://redirect.github.com/rust-lang/rust/pull/129073 )
- Linking on macOS now correctly includes Rust's default deployment
target. Due to a linker bug, you might have to pass
`MACOSX_DEPLOYMENT_TARGET` or fix your `#[link]` attributes to point to
the correct frameworks. See
[#​129369](https://redirect.github.com/rust-lang/rust/pull/129369 ).
- [Rust will now correctly raise an error for `repr(Rust)` written on
non-`struct`/`enum`/`union` items, since it previous did not have any
effect.](https://redirect.github.com/rust-lang/rust/pull/129422 )
- The future incompatibility lint `deprecated_cfg_attr_crate_type_name`
[has been made into a hard
error](https://redirect.github.com/rust-lang/rust/pull/129670 ). It was
used to deny usage of `#![crate_type]` and `#![crate_name]` attributes
in `#![cfg_attr]`, which required a hack in the compiler to be able to
change the used crate type and crate name after cfg expansion.
Users can use `--crate-type` instead of `#![cfg_attr(..., crate_type =
"...")]` and `--crate-name` instead of `#![cfg_attr(..., crate_name =
"...")]` when running `rustc`/`cargo rustc` on the command line.
Use of those two attributes outside of `#![cfg_attr]` continue to be
fully supported.
- Until now, paths into the sysroot were always prefixed with
`/rustc/$hash` in diagnostics, codegen, backtrace, e.g.
thread 'main' panicked at 'hello world', map-panic.rs:2:50
stack backtrace:
0: std::panicking::begin_panic
at
/rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:616:12
1: map_panic::main::{{closure}}
at ./map-panic.rs:2:50
2: core::option::Option<T>::map
at
/rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/option.rs:929:29
3: map_panic::main
at ./map-panic.rs:2:30
4: core::ops::function::FnOnce::call_once
at
/rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/ops/function.rs:248:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a
verbose backtrace.
[RFC 3127
said](https://rust-lang.github.io/rfcs/3127-trim-paths.html#changing-handling-of-sysroot-path-in-rustc )
> We want to change this behaviour such that, when `rust-src` source
files can be discovered, the virtual path is discarded and therefore the
local path will be embedded, unless there is a `--remap-path-prefix`
that causes this local path to be remapped in the usual way.
[#​129687](https://redirect.github.com/rust-lang/rust/pull/129687 )
implements this behaviour, when `rust-src` is present at compile time,
`rustc` replaces `/rustc/$hash` with a real path into the local
`rust-src` component with best effort.
To sanitize this, users must explicitly supply
`--remap-path-prefix=<path to rust-src>=foo` or not have the `rust-src`
component installed.
- The allow-by-default `missing_docs` lint used to disable itself when
invoked through `rustc --test`/`cargo test`, resulting in
`#[expect(missing_docs)]` emitting false positives due to the
expectation being wrongly unfulfilled. This behavior [has now been
removed](https://redirect.github.com/rust-lang/rust/pull/130025 ), which
allows `#[expect(missing_docs)]` to be fulfilled in all scenarios, but
will also report new `missing_docs` diagnostics for publicly reachable
`#[cfg(test)]` items, [integration
test](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#integration-tests )
crate-level documentation, and publicly reachable items in integration
tests.
- [The `armv8r-none-eabihf` target now uses the Armv8-R required set of
floating-point
features.](https://redirect.github.com/rust-lang/rust/pull/130295 )
- [Fix a soundness bug where rustc wouldn't detect unconstrained
higher-ranked lifetimes in a `dyn Trait`'s associated types that occur
due to
supertraits.](https://redirect.github.com/rust-lang/rust/pull/130367 )
- [Update the minimum external LLVM version to
18.](https://redirect.github.com/rust-lang/rust/pull/130487 )
- [Remove `aarch64-fuchsia` and `x86_64-fuchsia` target aliases in favor
of `aarch64-unknown-fuchsia` and `x86_64-unknown-fuchsia`
respectively.](https://redirect.github.com/rust-lang/rust/pull/130657 )
- [The ABI-level exception class of a Rust panic is now encoded with
native-endian bytes, so it is legible in hex
dumps.](https://redirect.github.com/rust-lang/rust/pull/130897 )
- [Visual Studio 2013 is no longer supported for MSVC
targets.](https://redirect.github.com/rust-lang/rust/pull/131070 )
- [The sysroot no longer contains the `std` dynamic library in its
top-level `lib/`
dir.](https://redirect.github.com/rust-lang/rust/pull/131188 )
###
[`v1.82`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1820-2024-10-17 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.81.0...1.82.0 )
\==========================
<a id="1.82.0-Language"></a>
## Language
- [Don't make statement nonterminals match pattern
nonterminals](https://redirect.github.com/rust-lang/rust/pull/120221/ )
- [Patterns matching empty types can now be omitted in common
cases](https://redirect.github.com/rust-lang/rust/pull/122792 )
- [Enforce supertrait outlives obligations when using trait
impls](https://redirect.github.com/rust-lang/rust/pull/124336 )
- [`addr_of(_mut)!` macros and the newly stabilized `&raw (const|mut)`
are now safe to use with all static
items](https://redirect.github.com/rust-lang/rust/pull/125834 )
- [size_of_val_raw: for length 0 this is safe to
call](https://redirect.github.com/rust-lang/rust/pull/126152/ )
- [Reorder trait bound modifiers *after* `for<...>` binder in trait
bounds](https://redirect.github.com/rust-lang/rust/pull/127054/ )
- [Stabilize `+ use<'lt>` opaque type precise capturing (RFC
3617)](https://redirect.github.com/rust-lang/rust/pull/127672 )
- [Stabilize `&raw const` and `&raw mut` operators (RFC
2582)](https://redirect.github.com/rust-lang/rust/pull/127679 )
- [Stabilize unsafe extern blocks (RFC
3484)](https://redirect.github.com/rust-lang/rust/pull/127921 )
- [Stabilize nested field access in
`offset_of!`](https://redirect.github.com/rust-lang/rust/pull/128284 )
- [Do not require `T` to be live when dropping `[T;
0]`](https://redirect.github.com/rust-lang/rust/pull/128438 )
- [Stabilize `const` operands in inline
assembly](https://redirect.github.com/rust-lang/rust/pull/128570 )
- [Stabilize floating-point arithmetic in `const
fn`](https://redirect.github.com/rust-lang/rust/pull/128596 )
- [Stabilize explicit opt-in to unsafe
attributes](https://redirect.github.com/rust-lang/rust/pull/128771 )
- [Document NaN bit patterns
guarantees](https://redirect.github.com/rust-lang/rust/pull/129559 )
<a id="1.82.0-Compiler"></a>
## Compiler
- [Promote riscv64gc-unknown-linux-musl to tier
2](https://redirect.github.com/rust-lang/rust/pull/122049 )
- [Promote Mac Catalyst targets `aarch64-apple-ios-macabi` and
`x86_64-apple-ios-macabi` to Tier 2, and ship them with
rustup](https://redirect.github.com/rust-lang/rust/pull/126450 )
- [Add tier 3 NuttX based targets for RISC-V and
ARM](https://redirect.github.com/rust-lang/rust/pull/127755 )
- [Add tier 3 powerpc-unknown-linux-muslspe
target](https://redirect.github.com/rust-lang/rust/pull/127905 )
- [Improved diagnostics to explain why a pattern is
unreachable](https://redirect.github.com/rust-lang/rust/pull/128034 )
- [The compiler now triggers the unreachable code warning properly for
async functions that don't return/are `->
!`](https://redirect.github.com/rust-lang/rust/pull/128443 )
- [Promote `aarch64-apple-darwin` to Tier
1](https://redirect.github.com/rust-lang/rust/pull/128592 )
- [Add Trusty OS target `aarch64-unknown-trusty` and
`armv7-unknown-trusty` as tier 3
targets](https://redirect.github.com/rust-lang/rust/pull/129490 )
- [Promote `wasm32-wasip2` to Tier
2.](https://redirect.github.com/rust-lang/rust/pull/126967/ )
<a id="1.82.0-Libraries"></a>
## Libraries
- [Generalize `{Rc,Arc}::make_mut()` to `Path`, `OsStr`, and
`CStr`.](https://redirect.github.com/rust-lang/rust/pull/126877 )
<a id="1.82.0-Stabilized-APIs"></a>
## Stabilized APIs
-
[`std::thread::Builder::spawn_unchecked`](https://doc.rust-lang.org/stable/std/thread/struct.Builder.html#method.spawn_unchecked )
-
[`std::str::CharIndices::offset`](https://doc.rust-lang.org/nightly/std/str/struct.CharIndices.html#method.offset )
-
[`std::option::Option::is_none_or`](https://doc.rust-lang.org/nightly/std/option/enum.Option.html#method.is_none_or )
-
[`[T]::is_sorted`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted )
-
[`[T]::is_sorted_by`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted_by )
-
[`[T]::is_sorted_by_key`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted_by_key )
-
[`Iterator::is_sorted`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted )
-
[`Iterator::is_sorted_by`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted_by )
-
[`Iterator::is_sorted_by_key`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted_by_key )
-
[`std::future::Ready::into_inner`](https://doc.rust-lang.org/nightly/std/future/struct.Ready.html#method.into_inner )
-
[`std::iter::repeat_n`](https://doc.rust-lang.org/nightly/std/iter/fn.repeat_n.html )
- [`impl<T: Clone> DoubleEndedIterator for
Take<Repeat<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-DoubleEndedIterator-for-Take%3CRepeat%3CT%3E%3E )
- [`impl<T: Clone> ExactSizeIterator for
Take<Repeat<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-ExactSizeIterator-for-Take%3CRepeat%3CT%3E%3E )
- [`impl<T: Clone> ExactSizeIterator for
Take<RepeatWith<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-ExactSizeIterator-for-Take%3CRepeatWith%3CF%3E%3E )
- [`impl Default for
std::collections::binary_heap::Iter`](https://doc.rust-lang.org/nightly/std/collections/binary_heap/struct.Iter.html#impl-Default-for-Iter%3C'\_,+T%3E )
- [`impl Default for
std::collections::btree_map::RangeMut`](https://doc.rust-lang.org/nightly/std/collections/btree_map/struct.RangeMut.html#impl-Default-for-RangeMut%3C'\_,+K,+V%3E )
- [`impl Default for
std::collections::btree_map::ValuesMut`](https://doc.rust-lang.org/nightly/std/collections/btree_map/struct.ValuesMut.html#impl-Default-for-ValuesMut%3C'\_,+K,+V%3E )
- [`impl Default for
std::collections::vec_deque::Iter`](https://doc.rust-lang.org/nightly/std/collections/vec_deque/struct.Iter.html#impl-Default-for-Iter%3C'\_,+T%3E )
- [`impl Default for
std::collections::vec_deque::IterMut`](https://doc.rust-lang.org/nightly/std/collections/vec_deque/struct.IterMut.html#impl-Default-for-IterMut%3C'\_,+T%3E )
-
[`Rc<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.new_uninit )
-
[`Rc<MaybeUninit<T>>::assume_init`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.assume_init )
-
[`Rc<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.new_uninit_slice )
-
[`Rc<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.assume_init-1 )
-
[`Arc<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.new_uninit )
-
[`Arc<MaybeUninit<T>>::assume_init`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.assume_init )
-
[`Arc<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.new_uninit_slice )
-
[`Arc<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.assume_init-1 )
-
[`Box<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.new_uninit )
-
[`Box<MaybeUninit<T>>::assume_init`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.assume_init )
-
[`Box<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.new_uninit_slice )
-
[`Box<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.assume_init-1 )
-
[`core::arch::x86_64::_bextri_u64`](https://doc.rust-lang.org/stable/core/arch/x86\_64/fn.\_bextri_u64.html )
-
[`core::arch::x86_64::_bextri_u32`](https://doc.rust-lang.org/stable/core/arch/x86\_64/fn.\_bextri_u32.html )
-
[`core::arch::x86::_mm_broadcastsi128_si256`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_broadcastsi128\_si256.html )
-
[`core::arch::x86::_mm256_stream_load_si256`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm256\_stream_load_si256.html )
-
[`core::arch::x86::_tzcnt_u16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_tzcnt_u16.html )
-
[`core::arch::x86::_mm_extracti_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_extracti_si64.html )
-
[`core::arch::x86::_mm_inserti_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_inserti_si64.html )
-
[`core::arch::x86::_mm_storeu_si16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si16.html )
-
[`core::arch::x86::_mm_storeu_si32`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si32.html )
-
[`core::arch::x86::_mm_storeu_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si64.html )
-
[`core::arch::x86::_mm_loadu_si16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_loadu_si16.html )
-
[`core::arch::x86::_mm_loadu_si32`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_loadu_si32.html )
-
[`core::arch::wasm32::u8x16_relaxed_swizzle`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u8x16\_relaxed_swizzle.html )
-
[`core::arch::wasm32::i8x16_relaxed_swizzle`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i8x16\_relaxed_swizzle.html )
-
[`core::arch::wasm32::i32x4_relaxed_trunc_f32x4`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_trunc_f32x4.html )
-
[`core::arch::wasm32::u32x4_relaxed_trunc_f32x4`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_trunc_f32x4.html )
-
[`core::arch::wasm32::i32x4_relaxed_trunc_f64x2_zero`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_trunc_f64x2\_zero.html )
-
[`core::arch::wasm32::u32x4_relaxed_trunc_f64x2_zero`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_trunc_f64x2\_zero.html )
-
[`core::arch::wasm32::f32x4_relaxed_madd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_madd.html )
-
[`core::arch::wasm32::f32x4_relaxed_nmadd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_nmadd.html )
-
[`core::arch::wasm32::f64x2_relaxed_madd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_madd.html )
-
[`core::arch::wasm32::f64x2_relaxed_nmadd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_nmadd.html )
-
[`core::arch::wasm32::i8x16_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i8x16\_relaxed_laneselect.html )
-
[`core::arch::wasm32::u8x16_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u8x16\_relaxed_laneselect.html )
-
[`core::arch::wasm32::i16x8_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i16x8\_relaxed_laneselect.html )
-
[`core::arch::wasm32::u16x8_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u16x8\_relaxed_laneselect.html )
-
[`core::arch::wasm32::i32x4_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_laneselect.html )
-
[`core::arch::wasm32::u32x4_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_laneselect.html )
-
[`core::arch::wasm32::i64x2_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i64x2\_relaxed_laneselect.html )
-
[`core::arch::wasm32::u64x2_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u64x2\_relaxed_laneselect.html )
-
[`core::arch::wasm32::f32x4_relaxed_min`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_min.htm
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/epage/_rust ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjQwLjExLjE4IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 17:31:33 +00:00
Ed Page
f9842b3b3f
chore: Avoid MSRV problems out of the box
2025-06-02 12:27:10 -05:00
Ed Page
79920cf069
fix(dict): Don't correct wasn't
...
Pulled a contraction list from https://editorsmanual.com/articles/contractions-list/
2025-06-02 12:24:09 -05:00
Ed Page
e99b2b47d9
chore: Release
v1.33.0
2025-06-02 12:07:35 -05:00
Ed Page
2afc152754
chore: Release
typos-dict-v0.12.12
2025-06-02 12:05:29 -05:00
Ed Page
544a19b4ae
docs: Update changelog
2025-06-02 12:05:10 -05:00
Ed Page
2e0ca28a95
Merge pull request #1310 from epage/may
...
feat(dict): May 2025 updates
2025-06-02 12:04:39 -05:00
Ed Page
94eb4e7b40
feat(dict): May 2025 updates
...
Fixes #1290
2025-06-02 11:44:54 -05:00
Ed Page
a4cce4ca70
Merge pull request #1308 from crate-ci/renovate/schemars-0.x
...
chore(deps): Update Rust crate schemars to 0.9.0
2025-06-02 11:24:57 -05:00
renovate[bot]
5f12462ccc
chore(deps): Update compatible ( #1307 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [ahash](https://redirect.github.com/tkaitchuck/ahash ) | dependencies |
patch | `0.8.11` -> `0.8.12` |
| [anstream](https://redirect.github.com/rust-cli/anstyle ) |
dependencies | patch | `0.6.18` -> `0.6.18` |
| [anstyle](https://redirect.github.com/rust-cli/anstyle ) | dependencies
| patch | `1.0.10` -> `1.0.10` |
| [assert_fs](https://redirect.github.com/assert-rs/assert_fs ) |
dev-dependencies | patch | `1.1.2` -> `1.1.3` |
| [clap](https://redirect.github.com/clap-rs/clap ) | dependencies |
patch | `4.5.37` -> `4.5.39` |
|
[clap-verbosity-flag](https://redirect.github.com/clap-rs/clap-verbosity-flag )
| dependencies | patch | `3.0.2` -> `3.0.3` |
| [colorchoice-clap](https://redirect.github.com/rust-cli/anstyle ) |
dependencies | patch | `1.0.6` -> `1.0.6` |
| [derive_setters](https://redirect.github.com/Lymia/derive_setters ) |
dependencies | patch | `0.1.6` -> `0.1.7` |
| [divan](https://redirect.github.com/nvzqz/divan ) | dev-dependencies |
patch | `0.1.21` -> `0.1.21` |
| [encoding_rs](https://docs.rs/encoding_rs/ )
([source](https://redirect.github.com/hsivonen/encoding_rs )) |
dependencies | patch | `0.8.35` -> `0.8.35` |
|
[globset](https://redirect.github.com/BurntSushi/ripgrep/tree/master/crates/globset )
([source](https://redirect.github.com/BurntSushi/ripgrep/tree/HEAD/crates/globset ))
| dependencies | patch | `0.4.16` -> `0.4.16` |
| [human-panic](https://redirect.github.com/rust-cli/human-panic ) |
dependencies | patch | `2.0.2` -> `2.0.2` |
| [indexmap](https://redirect.github.com/indexmap-rs/indexmap ) |
dev-dependencies | patch | `2.9.0` -> `2.9.0` |
| [kstring](https://redirect.github.com/cobalt-org/kstring ) |
dependencies | patch | `2.0.2` -> `2.0.2` |
| [phf](https://redirect.github.com/rust-phf/rust-phf ) | dependencies |
patch | `0.11.3` -> `0.11.3` |
| [regex](https://redirect.github.com/rust-lang/regex ) | dependencies |
patch | `1.11.1` -> `1.11.1` |
| [simdutf8](https://redirect.github.com/rusticstuff/simdutf8 ) |
dependencies | patch | `0.1.5` -> `0.1.5` |
|
[snapbox](https://redirect.github.com/assert-rs/trycmd/tree/main/crates/snapbox )
([source](https://redirect.github.com/assert-rs/snapbox )) |
dev-dependencies | patch | `0.6.21` -> `0.6.21` |
| [toml](https://redirect.github.com/toml-rs/toml ) | dependencies |
patch | `0.8.22` -> `0.8.22` |
| [trycmd](https://redirect.github.com/assert-rs/trycmd )
([source](https://redirect.github.com/assert-rs/snapbox )) |
dev-dependencies | patch | `0.15.9` -> `0.15.9` |
|
[unicode-segmentation](https://redirect.github.com/unicode-rs/unicode-segmentation )
| dependencies | patch | `1.12.0` -> `1.12.0` |
| [unicode-xid](https://redirect.github.com/unicode-rs/unicode-xid ) |
dependencies | patch | `0.2.6` -> `0.2.6` |
| [winnow](https://redirect.github.com/winnow-rs/winnow ) | dependencies
| patch | `0.7.7` -> `0.7.10` |
---
### Release Notes
<details>
<summary>assert-rs/assert_fs (assert_fs)</summary>
###
[`v1.1.3`](https://redirect.github.com/assert-rs/assert_fs/blob/HEAD/CHANGELOG.md#113---2025-05-02 )
[Compare
Source](https://redirect.github.com/assert-rs/assert_fs/compare/v1.1.2...v1.1.3 )
##### Features
- Add `TempDir::new_in/with_prefix/with_prefix_in`
</details>
<details>
<summary>clap-rs/clap (clap)</summary>
###
[`v4.5.39`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4539---2025-05-27 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.38...v4.5.39 )
##### Fixes
- *(help)* Show short flag aliases before long
- *(help)* Merge the short and long flag alias lists
###
[`v4.5.38`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4538---2025-05-11 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.37...v4.5.38 )
##### Fixes
- *(help)* When showing aliases, include leading `--` or `-`
</details>
<details>
<summary>clap-rs/clap-verbosity-flag (clap-verbosity-flag)</summary>
###
[`v3.0.3`](https://redirect.github.com/clap-rs/clap-verbosity-flag/blob/HEAD/CHANGELOG.md#303---2025-05-20 )
[Compare
Source](https://redirect.github.com/clap-rs/clap-verbosity-flag/compare/v3.0.2...v3.0.3 )
</details>
<details>
<summary>winnow-rs/winnow (winnow)</summary>
###
[`v0.7.10`](https://redirect.github.com/winnow-rs/winnow/blob/HEAD/CHANGELOG.md#0710---2025-05-06 )
[Compare
Source](https://redirect.github.com/winnow-rs/winnow/compare/v0.7.9...v0.7.10 )
##### Compatibility
- Deprecated `Stream::raw`
##### Features
- Added `Stream::trace` for better customization of `trace` parsers
##### Fixes
- Remove `initial` from `TokenSlice` / `LocatingSlice`s Debug impl
- `Stream::trace` prints non-pretty output for `&[T]` and
`TokenSlice<T>`
###
[`v0.7.9`](https://redirect.github.com/winnow-rs/winnow/blob/HEAD/CHANGELOG.md#079---2025-05-02 )
[Compare
Source](https://redirect.github.com/winnow-rs/winnow/compare/v0.7.8...v0.7.9 )
##### Features
- Add `ContextError::extend`
- Add `Parser::context_with`
###
[`v0.7.8`](https://redirect.github.com/winnow-rs/winnow/blob/HEAD/CHANGELOG.md#078---2025-05-01 )
[Compare
Source](https://redirect.github.com/winnow-rs/winnow/compare/v0.7.7...v0.7.8 )
##### Features
- Add `ContextError::push`
- Add `Parser::map_err`
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 5am on the first day of the
month" (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](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/crate-ci/typos ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4zMy42IiwidXBkYXRlZEluVmVyIjoiNDAuMzMuNiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-01 01:44:40 +00:00
renovate[bot]
836559779b
chore(deps): Update Rust crate schemars to 0.9.0
2025-06-01 01:31:08 +00:00
Ed Page
5e85d6859d
chore: Strip benches on publish
2025-05-27 09:01:17 -05:00
Ed Page
7a72bd0e0d
chore(pre-commit): Ensure commit-msg hook is installed
2025-05-20 15:04:41 -05:00
Ed Page
65fdcf65ba
chore(pre-commit): Update hooks
2025-05-20 15:03:11 -05:00
Ed Page
a7bfa220ca
chore(pre-commit): Use default stages
2025-05-20 15:00:06 -05:00
Ed Page
cf166e316a
chore(pre-commit): Update default stages
2025-05-20 14:58:07 -05:00
renovate[bot]
d1a6f2cfc4
chore(deps): Update Rust Stable to v1.87 ( #1299 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust ) | minor | `1.86`
-> `1.87` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.87`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1870-2025-05-15 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.86.0...1.87.0 )
\==========================
<a id="1.87.0-Language"></a>
## Language
- [Stabilize `asm_goto`
feature](https://redirect.github.com/rust-lang/rust/pull/133870 )
- [Allow parsing open beginning ranges (`..EXPR`) after unary operators
`!`, `-`, and
`*`](https://redirect.github.com/rust-lang/rust/pull/134900 ).
- [Don't require method impls for methods with `Self: Sized` bounds in
`impl`s for unsized
types](https://redirect.github.com/rust-lang/rust/pull/135480 )
- [Stabilize `feature(precise_capturing_in_traits)` allowing `use<...>`
bounds on return position `impl Trait` in
`trait`s](https://redirect.github.com/rust-lang/rust/pull/138128 )
<a id="1.87.0-Compiler"></a>
## Compiler
- [x86: make SSE2 required for i686 targets and use it to pass SIMD
types](https://redirect.github.com/rust-lang/rust/pull/135408 )
<a id="1.87.0-Platform-Support"></a>
## Platform Support
- [Remove `i586-pc-windows-msvc`
target](https://redirect.github.com/rust-lang/rust/pull/137957 )
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html
<a id="1.87.0-Libraries"></a>
## Libraries
- [Stabilize the anonymous pipe
API](https://redirect.github.com/rust-lang/rust/issues/127154 )
- [Add support for unbounded left/right shift
operations](https://redirect.github.com/rust-lang/rust/issues/129375 )
- [Print pointer metadata in `Debug` impl of raw
pointers](https://redirect.github.com/rust-lang/rust/pull/135080 )
- [`Vec::with_capacity` guarantees it allocates with the amount
requested, even if `Vec::capacity` returns a different
number.](https://redirect.github.com/rust-lang/rust/pull/135933 )
- Most `std::arch` intrinsics which don't take pointer arguments can now
be called from safe code if the caller has the appropriate target
features already enabled
([https://github.com/rust-lang/stdarch/pull/1714 ](https://redirect.github.com/rust-lang/stdarch/pull/1714 ),
[https://github.com/rust-lang/stdarch/pull/1716 ](https://redirect.github.com/rust-lang/stdarch/pull/1716 ),
[https://github.com/rust-lang/stdarch/pull/1717 ](https://redirect.github.com/rust-lang/stdarch/pull/1717 ))
- [Undeprecate
`env::home_dir`](https://redirect.github.com/rust-lang/rust/pull/137327 )
- [Denote `ControlFlow` as
`#[must_use]`](https://redirect.github.com/rust-lang/rust/pull/137449 )
- [Macros such as `assert_eq!` and `vec!` now support `const {...}`
expressions](https://redirect.github.com/rust-lang/rust/pull/138162 )
<a id="1.87.0-Stabilized-APIs"></a>
## Stabilized APIs
-
[`Vec::extract_if`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.extract_if )
-
[`vec::ExtractIf`](https://doc.rust-lang.org/stable/std/vec/struct.ExtractIf.html )
-
[`LinkedList::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.LinkedList.html#method.extract_if )
-
[`linked_list::ExtractIf`](https://doc.rust-lang.org/stable/std/collections/linked_list/struct.ExtractIf.html )
-
[`<[T]>::split_off`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off )
-
[`<[T]>::split_off_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_mut )
-
[`<[T]>::split_off_first`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_first )
-
[`<[T]>::split_off_first_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_first_mut )
-
[`<[T]>::split_off_last`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_last )
-
[`<[T]>::split_off_last_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_off_last_mut )
-
[`String::extend_from_within`](https://doc.rust-lang.org/stable/alloc/string/struct.String.html#method.extend_from_within )
-
[`os_str::Display`](https://doc.rust-lang.org/stable/std/ffi/os_str/struct.Display.html )
-
[`OsString::display`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.display )
-
[`OsStr::display`](https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.display )
- [`io::pipe`](https://doc.rust-lang.org/stable/std/io/fn.pipe.html )
-
[`io::PipeReader`](https://doc.rust-lang.org/stable/std/io/struct.PipeReader.html )
-
[`io::PipeWriter`](https://doc.rust-lang.org/stable/std/io/struct.PipeWriter.html )
- [`impl From<PipeReader> for
OwnedHandle`](https://doc.rust-lang.org/stable/std/os/windows/io/struct.OwnedHandle.html#impl-From%3CPipeReader%3E-for-OwnedHandle )
- [`impl From<PipeWriter> for
OwnedHandle`](https://doc.rust-lang.org/stable/std/os/windows/io/struct.OwnedHandle.html#impl-From%3CPipeWriter%3E-for-OwnedHandle )
- [`impl From<PipeReader> for
Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html )
- [`impl From<PipeWriter> for
Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CPipeWriter%3E-for-Stdio )
- [`impl From<PipeReader> for
OwnedFd`](https://doc.rust-lang.org/stable/std/os/fd/struct.OwnedFd.html#impl-From%3CPipeReader%3E-for-OwnedFd )
- [`impl From<PipeWriter> for
OwnedFd`](https://doc.rust-lang.org/stable/std/os/fd/struct.OwnedFd.html#impl-From%3CPipeWriter%3E-for-OwnedFd )
-
[`Box<MaybeUninit<T>>::write`](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#method.write )
- [`impl TryFrom<Vec<u8>> for
String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-TryFrom%3CVec%3Cu8%3E%3E-for-String )
- [`<*const
T>::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from_unsigned )
- [`<*const
T>::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.byte_offset_from_unsigned )
- [`<*mut
T>::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset_from_unsigned-1 )
- [`<*mut
T>::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.byte_offset_from_unsigned-1 )
-
[`NonNull::offset_from_unsigned`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.offset_from_unsigned )
-
[`NonNull::byte_offset_from_unsigned`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.byte_offset_from_unsigned )
-
[`<uN>::cast_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.cast_signed )
-
[`NonZero::<uN>::cast_signed`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.cast_signed-5 ).
-
[`<iN>::cast_unsigned`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.cast_unsigned ).
-
[`NonZero::<iN>::cast_unsigned`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.cast_unsigned-5 ).
-
[`<uN>::is_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.is_multiple_of )
-
[`<uN>::unbounded_shl`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unbounded_shl )
-
[`<uN>::unbounded_shr`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unbounded_shr )
-
[`<iN>::unbounded_shl`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unbounded_shl )
-
[`<iN>::unbounded_shr`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unbounded_shr )
-
[`<iN>::midpoint`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.midpoint )
-
[`<str>::from_utf8`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8 )
-
[`<str>::from_utf8_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_mut )
-
[`<str>::from_utf8_unchecked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_unchecked )
-
[`<str>::from_utf8_unchecked_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.from_utf8\_unchecked_mut )
These previously stable APIs are now stable in const contexts:
-
[`core::str::from_utf8_mut`](https://doc.rust-lang.org/stable/std/str/fn.from_utf8\_mut.html )
-
[`<[T]>::copy_from_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.copy_from_slice )
-
[`SocketAddr::set_ip`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.set_ip )
-
[`SocketAddr::set_port`](https://doc.rust-lang.org/stable/std/net/enum.SocketAddr.html#method.set_port ),
-
[`SocketAddrV4::set_ip`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.set_ip )
-
[`SocketAddrV4::set_port`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV4.html#method.set_port ),
-
[`SocketAddrV6::set_ip`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_ip )
-
[`SocketAddrV6::set_port`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_port )
-
[`SocketAddrV6::set_flowinfo`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_flowinfo )
-
[`SocketAddrV6::set_scope_id`](https://doc.rust-lang.org/stable/std/net/struct.SocketAddrV6.html#method.set_scope_id )
-
[`char::is_digit`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_digit )
-
[`char::is_whitespace`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_whitespace )
- [`<[[T;
N]]>::as_flattened`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_flattened )
- [`<[[T;
N]]>::as_flattened_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_flattened_mut )
-
[`String::into_bytes`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.into_bytes )
-
[`String::as_str`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_str )
-
[`String::capacity`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.capacity )
-
[`String::as_bytes`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_bytes )
-
[`String::len`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.len )
-
[`String::is_empty`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.is_empty )
-
[`String::as_mut_str`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_mut_str )
-
[`String::as_mut_vec`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.as_mut_vec )
-
[`Vec::as_ptr`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_ptr )
-
[`Vec::as_slice`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_slice )
-
[`Vec::capacity`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.capacity )
-
[`Vec::len`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.len )
-
[`Vec::is_empty`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.is_empty )
-
[`Vec::as_mut_slice`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_mut_slice )
-
[`Vec::as_mut_ptr`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.as_mut_ptr )
<a id="1.87.0-Cargo"></a>
## Cargo
- [Add terminal integration via ANSI OSC 9;4
sequences](https://redirect.github.com/rust-lang/cargo/pull/14615/ )
- [chore: bump openssl to
v3](https://redirect.github.com/rust-lang/cargo/pull/15232/ )
- [feat(package): add --exclude-lockfile
flag](https://redirect.github.com/rust-lang/cargo/pull/15234/ )
<a id="1.87.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Rust now raises an error for macro invocations inside the
`#![crate_name]`
attribute](https://redirect.github.com/rust-lang/rust/pull/127581 )
- [Unstable fields are now always considered to be
inhabited](https://redirect.github.com/rust-lang/rust/pull/133889 )
- [Macro arguments of unary operators followed by open beginning ranges
may now be matched
differently](https://redirect.github.com/rust-lang/rust/pull/134900 )
- [Make `Debug` impl of raw pointers print metadata if
present](https://redirect.github.com/rust-lang/rust/pull/135080 )
- [Warn against function pointers using unsupported ABI strings in
dependencies](https://redirect.github.com/rust-lang/rust/pull/135767 )
- [Associated types on `dyn` types are no longer
deduplicated](https://redirect.github.com/rust-lang/rust/pull/136458 )
- [Forbid attributes on `..` inside of struct patterns (`let Struct {
#[attribute] .. })
=`](https://redirect.github.com/rust-lang/rust/pull/136490 )
- [Make `ptr_cast_add_auto_to_object` lint into hard
error](https://redirect.github.com/rust-lang/rust/pull/136764 )
- Many `std::arch` intrinsics are now safe to call in some contexts,
there may now be new `unused_unsafe` warnings in existing codebases.
- [Limit `width` and `precision` formatting options to 16 bits on all
targets](https://redirect.github.com/rust-lang/rust/pull/136932 )
- [Turn order dependent trait objects future incompat warning into a
hard error](https://redirect.github.com/rust-lang/rust/pull/136968 )
- [Denote `ControlFlow` as
`#[must_use]`](https://redirect.github.com/rust-lang/rust/pull/137449 )
- [Windows: The standard library no longer links `advapi32`, except on
win7.](https://redirect.github.com/rust-lang/rust/pull/138233 ) Code such
as C libraries that were relying on this assumption may need to
explicitly link advapi32.
- [Proc macros can no longer observe expanded `cfg(true)`
attributes.](https://redirect.github.com/rust-lang/rust/pull/138844 )
- [Start changing the internal representation of pasted
tokens](https://redirect.github.com/rust-lang/rust/pull/124141 ). Certain
invalid declarative macros that were previously accepted in obscure
circumstances are now correctly rejected by the compiler. Use of a `tt`
fragment specifier can often fix these macros.
- [Don't allow flattened format_args in
const.](https://redirect.github.com/rust-lang/rust/pull/139624 )
<a id="1.87.0-Internal-Changes"></a>
## 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.
- [Update to LLVM
20](https://redirect.github.com/rust-lang/rust/pull/135763 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/crate-ci/typos ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS4xOCIsInVwZGF0ZWRJblZlciI6IjQwLjExLjE4IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-16 16:43:55 +00:00
Ed Page
afd0dce180
style: Make clippy happy
2025-05-16 08:35:05 -05:00
Ed Page
8c5c6ad69f
chore: Fix regex for renovatebot
2025-05-07 14:06:57 -05:00
Ed Page
d1a562756a
chore: Update RenovateBot
2025-05-07 08:42:54 -05:00
Ed Page
0f0ccba9ed
chore: Release
v1.32.0
2025-05-02 09:48:04 -05:00
Ed Page
5cb94233a6
chore: Release
typos-dict-v0.12.11
2025-05-02 09:47:41 -05:00
Ed Page
2af8019e86
docs: Update changelog
2025-05-02 09:47:08 -05:00
Ed Page
970eb5442d
Merge pull request #1291 from epage/may
...
feat(dict): April 2025 updates
2025-05-02 09:46:13 -05:00
Ed Page
e84064f2d6
feat(dict): April 2025 updates
...
Fixes #1264
2025-05-02 09:08:24 -05:00
renovate[bot]
8dddd50029
chore(deps): Update compatible ( #1289 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://redirect.github.com/dtolnay/anyhow ) | dependencies |
patch | `1.0.97` -> `1.0.98` |
| [bstr](https://redirect.github.com/BurntSushi/bstr ) | dependencies |
minor | `1.11.3` -> `1.12.0` |
| [clap](https://redirect.github.com/clap-rs/clap ) | dependencies |
patch | `4.5.34` -> `4.5.37` |
| [divan](https://redirect.github.com/nvzqz/divan ) | dev-dependencies |
patch | `0.1.17` -> `0.1.21` |
| [env_logger](https://redirect.github.com/rust-cli/env_logger ) |
dependencies | patch | `0.11.7` -> `0.11.8` |
| [indexmap](https://redirect.github.com/indexmap-rs/indexmap ) |
dev-dependencies | minor | `2.8.0` -> `2.9.0` |
| [toml](https://redirect.github.com/toml-rs/toml ) | dependencies |
patch | `0.8.20` -> `0.8.22` |
| [winnow](https://redirect.github.com/winnow-rs/winnow ) | dependencies
| patch | `0.7.4` -> `0.7.7` |
---
### Release Notes
<details>
<summary>dtolnay/anyhow (anyhow)</summary>
###
[`v1.0.98`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.98 )
[Compare
Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.97...1.0.98 )
- Add
[`self.into_boxed_dyn_error()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.into_boxed_dyn_error )
and
[`self.reallocate_into_boxed_dyn_error_without_backtrace()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.reallocate_into_boxed_dyn_error_without_backtrace )
methods for anyhow::Error
([#​415](https://redirect.github.com/dtolnay/anyhow/issues/415 ))
</details>
<details>
<summary>BurntSushi/bstr (bstr)</summary>
###
[`v1.12.0`](https://redirect.github.com/BurntSushi/bstr/compare/1.11.3...1.12.0 )
[Compare
Source](https://redirect.github.com/BurntSushi/bstr/compare/1.11.3...1.12.0 )
</details>
<details>
<summary>clap-rs/clap (clap)</summary>
###
[`v4.5.37`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4537---2025-04-18 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.36...v4.5.37 )
##### Features
- Added `ArgMatches::try_clear_id()`
###
[`v4.5.36`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4536---2025-04-11 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.35...v4.5.36 )
##### Fixes
- *(help)* Revert 4.5.35's "Don't leave space for shorts if there are
none" for now
###
[`v4.5.35`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4535---2025-04-01 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.34...v4.5.35 )
##### Fixes
- *(help)* Align positionals and flags when put in the same
`help_heading`
- *(help)* Don't leave space for shorts if there are none
</details>
<details>
<summary>nvzqz/divan (divan)</summary>
###
[`v0.1.21`](https://redirect.github.com/nvzqz/divan/blob/HEAD/CHANGELOG.md#0121---2025-04-09 )
[Compare
Source](https://redirect.github.com/nvzqz/divan/compare/v0.1.20...v0.1.21 )
##### Fixed
- `Divan::skip_exact` behaved incorrectly in `v0.1.19`.
##### Changed
- Improved handling of internal code around filters and those
responsible for
sacking the people who have just been sacked have been sacked.
###
[`v0.1.20`](https://redirect.github.com/nvzqz/divan/blob/HEAD/CHANGELOG.md#0120---2025-04-09 )
[Compare
Source](https://redirect.github.com/nvzqz/divan/compare/v0.1.19...v0.1.20 )
##### Fixed
- `Divan::skip_regex` accidentally dropped
[`regex_lite::Regex`](https://docs.rs/regex-lite/latest/regex_lite/struct.Regex.html )
and behaved incorrectly in `v0.1.19`.
###
[`v0.1.19`](https://redirect.github.com/nvzqz/divan/blob/HEAD/CHANGELOG.md#0119---2025-04-09 )
[Compare
Source](https://redirect.github.com/nvzqz/divan/compare/v0.1.18...v0.1.19 )
##### Fixed
- \[`cargo-nextest`] no longer skips benchmarks with argument parameters
(\[[#​75](https://redirect.github.com/nvzqz/divan/issues/75 )]).
##### Changed
- Organized positive and negative filters into a split buffer.
###
[`v0.1.18`](https://redirect.github.com/nvzqz/divan/blob/HEAD/CHANGELOG.md#0118---2025-04-05 )
[Compare
Source](https://redirect.github.com/nvzqz/divan/compare/v0.1.17...v0.1.18 )
##### Added
- Support for \[`cargo-nextest`] running benchmarks as tests.
- \[`prelude`] module for simplifying imports of
\[`#[bench]`]\[bench_attr],
\[`#[bench_group]`]\[bench_group_attr], \[`black_box`],
\[`black_box_drop`],
\[`AllocProfiler`], \[`Bencher`], and \[`Divan`].
- Support `wasi` and `emscripten` targets.
</details>
<details>
<summary>rust-cli/env_logger (env_logger)</summary>
###
[`v0.11.8`](https://redirect.github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0118---2025-04-01 )
[Compare
Source](https://redirect.github.com/rust-cli/env_logger/compare/v0.11.7...v0.11.8 )
##### Compatibility
- *(kv)* Deprecate the `unstable-kv` feature which may be removed in a
future patch release
##### Features
- *(kv)* Stabilize key-value support behind the `kv` feature
- Expose `ConfigurableFormat` to build custom \[`Builder::format`]s that
leverage this
</details>
<details>
<summary>indexmap-rs/indexmap (indexmap)</summary>
###
[`v2.9.0`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#290-2025-04-04 )
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.8.0...2.9.0 )
- Added a `get_disjoint_mut` method to `IndexMap`, matching Rust 1.86's
`HashMap` method.
- Added a `get_disjoint_indices_mut` method to `IndexMap` and
`map::Slice`,
matching Rust 1.86's `get_disjoint_mut` method on slices.
- Deprecated the `borsh` feature in favor of their own `indexmap`
feature,
solving a cyclic dependency that occured via `borsh-derive`.
</details>
<details>
<summary>toml-rs/toml (toml)</summary>
###
[`v0.8.22`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.8.21...toml-v0.8.22 )
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.8.21...toml-v0.8.22 )
###
[`v0.8.21`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.8.20...toml-v0.8.21 )
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.8.20...toml-v0.8.21 )
</details>
<details>
<summary>winnow-rs/winnow (winnow)</summary>
###
[`v0.7.7`](https://redirect.github.com/winnow-rs/winnow/blob/HEAD/CHANGELOG.md#077---2025-04-24 )
[Compare
Source](https://redirect.github.com/winnow-rs/winnow/compare/v0.7.6...v0.7.7 )
##### Fixes
- Ensure `LocatedSlice` and `Stateful`s `Stream::raw` gets the inner
input
###
[`v0.7.6`](https://redirect.github.com/winnow-rs/winnow/blob/HEAD/CHANGELOG.md#076---2025-04-07 )
[Compare
Source](https://redirect.github.com/winnow-rs/winnow/compare/v0.7.5...v0.7.6 )
##### Features
- Add `TokenSlice::previous_tokens`
###
[`v0.7.5`](https://redirect.github.com/winnow-rs/winnow/blob/HEAD/CHANGELOG.md#075---2025-04-07 )
[Compare
Source](https://redirect.github.com/winnow-rs/winnow/compare/v0.7.4...v0.7.5 )
##### Features
- Add `Stream::next_slice_unchecked` and `Stream::peek_slice_unchecked`
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 5am on the first day of the
month" (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](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/crate-ci/typos ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-01 03:35:22 +00:00
Ed Page
97755b3c01
chore(ci): Improve perf at the cost of coverage
2025-04-30 20:07:18 -05:00
Ed Page
3be83342e2
chore: Release
typos-dict-v0.12.10
typos-v0.10.35
v1.31.2
2025-04-28 10:14:13 -05:00
Ed Page
f16e5d44ec
docs: Update changelog
2025-04-28 10:13:53 -05:00
Ed Page
e0927bd9d2
docs(action): Remove non-existent variables
...
Fixes #1285
2025-04-28 10:09:14 -05:00
Ed Page
2dbcebf645
Merge pull request #1287 from epage/dict
...
fix(dict): Address typos
2025-04-28 10:03:24 -05:00