renovate[bot]
ceec6be0e0
chore(deps): Update Rust Stable to v1.83 ( #1161 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust ) | minor |
`1.82.0` -> `1.83` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`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 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuNDIuNCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 17:44:26 +00:00
Ed Page
9b241e15e1
chore: Update from _rust template
2024-12-02 11:30:24 -06:00
Ed Page
006f98fb3a
chore(ci): Report deprecations in the review
2024-11-18 13:48:49 -06:00
renovate[bot]
1c7775d62b
chore(deps): Update dependency STABLE to v1.82.0
2024-11-01 02:16:40 +00:00
Ed Page
e5385b07a0
chore(ci): Fix new release process
2024-10-24 12:24:49 -05:00
Ed Page
e6e172498c
chore(ci): Fix new release process
2024-10-24 12:19:00 -05:00
Ed Page
f981a1cd20
chore(ci): Fix new release process
2024-10-24 12:10:58 -05:00
Ed Page
d3dcaaeb2d
chore(ci): Fix new release process
2024-10-24 12:05:53 -05:00
Ed Page
88ea8ea67d
chore(ci): Stage releases until done
2024-10-24 12:04:19 -05:00
renovate[bot]
003cb76937
chore(deps): Update dependency STABLE to v1.81.0
2024-10-01 01:28:29 +00:00
Ed Page
0870bb7207
chore: Update from _rust template
2024-09-27 13:33:54 -05:00
Ed Page
6e193aa09a
chore: Ensure pre-commit gets non-system Python
...
This is needed with the ubuntu-24.04 images so that `setup-python` will
install a version of Python that the pre-commit action can install into.
See pre-commit/action#210 for more of an analysis of this.
2024-09-26 21:10:02 -05:00
zyf722
264f549c13
feat(action): Add Windows support to actions
2024-09-04 13:38:08 +08:00
renovate[bot]
37cf1085bc
chore(deps): Update EmbarkStudios/cargo-deny-action action to v2
2024-09-01 01:02:47 +00:00
renovate[bot]
340058181b
chore(deps): Update EmbarkStudios/cargo-deny-action action to v2
2024-09-01 00:41:53 +00:00
renovate[bot]
0d9c778a8c
chore(deps): Update Rust Stable to v1.80 ( #1064 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://togithub.com/rust-lang/rust ) | minor | `1.79` ->
`1.80` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.80`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1800-2024-07-25 )
[Compare
Source](https://togithub.com/rust-lang/rust/compare/1.79.0...1.80.0 )
\==========================
<a id="1.80-Language"></a>
## Language
- [Document maximum allocation
size](https://togithub.com/rust-lang/rust/pull/116675/ )
- [Allow zero-byte offsets and ZST read/writes on arbitrary
pointers](https://togithub.com/rust-lang/rust/pull/117329/ )
- [Support C23's variadics without a named
parameter](https://togithub.com/rust-lang/rust/pull/124048/ )
- [Stabilize `exclusive_range_pattern`
feature](https://togithub.com/rust-lang/rust/pull/124459/ )
- [Guarantee layout and ABI of `Result` in some
scenarios](https://togithub.com/rust-lang/rust/pull/124870 )
<a id="1.80-Compiler"></a>
## Compiler
- [Update cc crate to v1.0.97 allowing additional spectre mitigations on
MSVC targets](https://togithub.com/rust-lang/rust/pull/124892/ )
- [Allow field reordering on types marked
`repr(packed(1))`](https://togithub.com/rust-lang/rust/pull/125360/ )
- [Add a lint against never type fallback affecting unsafe
code](https://togithub.com/rust-lang/rust/pull/123939/ )
- [Disallow cast with trailing braced macro in
let-else](https://togithub.com/rust-lang/rust/pull/125049/ )
- [Expand `for_loops_over_fallibles` lint to lint on fallibles behind
references.](https://togithub.com/rust-lang/rust/pull/125156/ )
- [self-contained linker: retry linking without `-fuse-ld=lld` on CCs
that don't support it](https://togithub.com/rust-lang/rust/pull/125417/ )
- [Do not parse CVarArgs (`...`) as a type in trait
bounds](https://togithub.com/rust-lang/rust/pull/125863/ )
- Improvements to LLDB formatting
[#​124458](https://togithub.com/rust-lang/rust/pull/124458 )
[#​124500](https://togithub.com/rust-lang/rust/pull/124500 )
- [For the wasm32-wasip2 target default to PIC and do not use
`-fuse-ld=lld`](https://togithub.com/rust-lang/rust/pull/124858/ )
- [Add x86\_64-unknown-linux-none as a tier 3
target](https://togithub.com/rust-lang/rust/pull/125023/ )
- [Lint on `foo.into_iter()` resolving to `&Box<[T]>:
IntoIterator`](https://togithub.com/rust-lang/rust/pull/124097/ )
<a id="1.80-Libraries"></a>
## Libraries
- [Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to
the prelude](https://togithub.com/rust-lang/rust/pull/123168/ )
- [Abort a process when FD ownership is
violated](https://togithub.com/rust-lang/rust/pull/124210/ )
- [io::Write::write_fmt: panic if the formatter fails when the stream
does not fail](https://togithub.com/rust-lang/rust/pull/125012/ )
- [Panic if `PathBuf::set_extension` would add a path
separator](https://togithub.com/rust-lang/rust/pull/125070/ )
- [Add assert_unsafe_precondition to
unchecked\_{add,sub,neg,mul,shl,shr}
methods](https://togithub.com/rust-lang/rust/pull/121571/ )
- [Update `c_char` on AIX to use the correct
type](https://togithub.com/rust-lang/rust/pull/122986/ )
- [`offset_of!` no longer returns a
temporary](https://togithub.com/rust-lang/rust/pull/124484/ )
- [Handle sigma in `str.to_lowercase`
correctly](https://togithub.com/rust-lang/rust/pull/124773/ )
- [Raise `DEFAULT_MIN_STACK_SIZE` to at least
64KiB](https://togithub.com/rust-lang/rust/pull/126059/ )
<a id="1.80-Stabilized-APIs"></a>
## Stabilized APIs
- [`impl Default for
Rc<CStr>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3CCStr%3E )
- [`impl Default for
Rc<str>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3Cstr%3E )
- [`impl Default for
Rc<[T]>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3C%5BT%5D%3E )
- [`impl Default for
Arc<str>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3Cstr%3E )
- [`impl Default for
Arc<CStr>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3CCStr%3E )
- [`impl Default for
Arc<[T]>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3C%5BT%5D%3E )
- [`impl IntoIterator for
Box<[T]>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-IntoIterator-for-Box%3C%5BI%5D,+A%3E )
- [`impl FromIterator<String> for
Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3CString%3E-for-Box%3Cstr%3E )
- [`impl FromIterator<char> for
Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3Cchar%3E-for-Box%3Cstr%3E )
-
[`LazyCell`](https://doc.rust-lang.org/beta/core/cell/struct.LazyCell.html )
-
[`LazyLock`](https://doc.rust-lang.org/beta/std/sync/struct.LazyLock.html )
-
[`Duration::div_duration_f32`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f32 )
-
[`Duration::div_duration_f64`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f64 )
-
[`Option::take_if`](https://doc.rust-lang.org/beta/std/option/enum.Option.html#method.take_if )
-
[`Seek::seek_relative`](https://doc.rust-lang.org/beta/std/io/trait.Seek.html#method.seek_relative )
-
[`BinaryHeap::as_slice`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.as_slice )
-
[`NonNull::offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset )
-
[`NonNull::byte_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset )
-
[`NonNull::add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.add )
-
[`NonNull::byte_add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_add )
-
[`NonNull::sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.sub )
-
[`NonNull::byte_sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_sub )
-
[`NonNull::offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset_from )
-
[`NonNull::byte_offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset_from )
-
[`NonNull::read`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read )
-
[`NonNull::read_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_volatile )
-
[`NonNull::read_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_unaligned )
-
[`NonNull::write`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write )
-
[`NonNull::write_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_volatile )
-
[`NonNull::write_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_unaligned )
-
[`NonNull::write_bytes`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_bytes )
-
[`NonNull::copy_to`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to )
-
[`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to_nonoverlapping )
-
[`NonNull::copy_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from )
-
[`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from_nonoverlapping )
-
[`NonNull::replace`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.replace )
-
[`NonNull::swap`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.swap )
-
[`NonNull::drop_in_place`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.drop_in_place )
-
[`NonNull::align_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.align_offset )
-
[`<[T]>::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_checked )
-
[`<[T]>::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_mut_checked )
-
[`str::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_checked )
-
[`str::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_mut_checked )
-
[`str::trim_ascii`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii )
-
[`str::trim_ascii_start`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_start )
-
[`str::trim_ascii_end`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_end )
-
[`<[u8]>::trim_ascii`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii )
-
[`<[u8]>::trim_ascii_start`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_start )
-
[`<[u8]>::trim_ascii_end`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_end )
-
[`Ipv4Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#associatedconstant.BITS )
-
[`Ipv4Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.to_bits )
-
[`Ipv4Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.from_bits )
-
[`Ipv6Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#associatedconstant.BITS )
-
[`Ipv6Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.to_bits )
-
[`Ipv6Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.from_bits )
- [`Vec::<[T;
N]>::into_flattened`](https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html#method.into_flattened )
- [`<[[T;
N]]>::as_flattened`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened )
- [`<[[T;
N]]>::as_flattened_mut`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened_mut )
These APIs are now stable in const contexts:
-
[`<[T]>::last_chunk`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.last_chunk )
-
[`BinaryHeap::new`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.new )
<a id="1.80-Cargo"></a>
## Cargo
- [Stabilize `-Zcheck-cfg` as always
enabled](https://togithub.com/rust-lang/cargo/pull/13571/ )
- [Warn, rather than fail publish, if a target is
excluded](https://togithub.com/rust-lang/cargo/pull/13713/ )
- [Add special `check-cfg` lint config for the `unexpected_cfgs`
lint](https://togithub.com/rust-lang/cargo/pull/13913/ )
- [Stabilize `cargo update --precise
<yanked>`](https://togithub.com/rust-lang/cargo/pull/13974/ )
- [Don't change file permissions on `Cargo.toml` when using `cargo
add`](https://togithub.com/rust-lang/cargo/pull/13898/ )
- [Support using `cargo fix` on IPv6-only
networks](https://togithub.com/rust-lang/cargo/pull/13907/ )
<a id="1.80-Rustdoc"></a>
## Rustdoc
- [Allow searching for
references](https://togithub.com/rust-lang/rust/pull/124148/ )
- [Stabilize `custom_code_classes_in_docs`
feature](https://togithub.com/rust-lang/rust/pull/124577/ )
- [fix: In cross-crate scenarios show enum variants on type aliases of
enums](https://togithub.com/rust-lang/rust/pull/125300/ )
<a id="1.80-Compatibility-Notes"></a>
## Compatibility Notes
- [rustfmt estimates line lengths differently when using non-ascii
characters](https://togithub.com/rust-lang/rustfmt/issues/6203 )
- [Type aliases are now handled correctly in orphan
check](https://togithub.com/rust-lang/rust/pull/117164/ )
- [Allow instructing rustdoc to read from stdin via
`-`](https://togithub.com/rust-lang/rust/pull/124611/ )
- [`std::env::{set_var, remove_var}` can no longer be converted to safe
function pointers and no longer implement the `Fn` family of
traits](https://togithub.com/rust-lang/rust/pull/124636 )
- [Warn (or error) when `Self` constructor from outer item is referenced
in inner nested item](https://togithub.com/rust-lang/rust/pull/124187/ )
- [Turn `indirect_structural_match` and `pointer_structural_match` lints
into hard errors](https://togithub.com/rust-lang/rust/pull/124661/ )
- [Make `where_clause_object_safety` lint a regular object safety
violation](https://togithub.com/rust-lang/rust/pull/125380/ )
- [Turn `proc_macro_back_compat` lint into a hard
error.](https://togithub.com/rust-lang/rust/pull/125596/ )
- [Detect unused structs even when implementing private
traits](https://togithub.com/rust-lang/rust/pull/122382/ )
- [`std::sync::ReentrantLockGuard<T>` is no longer `Sync` if `T:
!Sync`](https://togithub.com/rust-lang/rust/pull/125527 ) which means
[`std::io::StdoutLock` and `std::io::StderrLock` are no longer
Sync](https://togithub.com/rust-lang/rust/issues/127340 )
<a id="1.80-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.
- Misc improvements to size of generated html by rustdoc e.g.
[#​124738](https://togithub.com/rust-lang/rust/pull/124738/ ) and
[#​123734](https://togithub.com/rust-lang/rust/pull/123734/ )
- [MSVC targets no longer depend on
libc](https://togithub.com/rust-lang/rust/pull/124050/ )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any
time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, 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://www.mend.io/free-developer-tools/renovate/ ). View the
[repository job log](https://developer.mend.io/github/crate-ci/typos ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 23:58:00 +00:00
Ed Page
9dc8c88844
chore(ci): Don't check minimal versions for bins
2024-07-26 16:08:28 -05:00
Ed Page
063ac6d4b5
chore: Update from _rust/main template
2024-07-26 16:07:19 -05:00
Ed Page
bdb06a11df
chore(ci): Verify version requirements
2024-07-09 11:10:20 -05:00
Ed Page
2a274e149f
chore(ci): Auto-update Mac now that latest uses m1
2024-06-21 14:21:41 -04:00
Carson McManus
89fad3115d
feat[ci]: add support for mac and arm systems to the github action
2024-06-21 14:10:08 -04:00
renovate[bot]
ff7654294c
chore(deps): Update Rust Stable to v1.79 ( #1035 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://togithub.com/rust-lang/rust ) | minor | `1.78` ->
`1.79` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.79`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1790-2024-06-13 )
[Compare
Source](https://togithub.com/rust-lang/rust/compare/1.78.0...1.79.0 )
\==========================
<a id="1.79.0-Language"></a>
## Language
- [Stabilize inline `const {}`
expressions.](https://togithub.com/rust-lang/rust/pull/104087/ )
- [Prevent opaque types being instantiated twice with different regions
within the same
function.](https://togithub.com/rust-lang/rust/pull/116935/ )
- [Stabilize WebAssembly target features that are in phase 4 and
5.](https://togithub.com/rust-lang/rust/pull/117457/ )
- [Add the `redundant_lifetimes` lint to detect lifetimes which are
semantically
redundant.](https://togithub.com/rust-lang/rust/pull/118391/ )
- [Stabilize the `unnameable_types` lint for public types that can't be
named.](https://togithub.com/rust-lang/rust/pull/120144/ )
- [Enable debuginfo in macros, and stabilize `-C
collapse-macro-debuginfo` and
`#[collapse_debuginfo]`.](https://togithub.com/rust-lang/rust/pull/120845/ )
- [Propagate temporary lifetime extension into `if` and `match`
expressions.](https://togithub.com/rust-lang/rust/pull/121346/ )
- [Restrict promotion of `const fn`
calls.](https://togithub.com/rust-lang/rust/pull/121557/ )
- [Warn against refining impls of crate-private traits with
`refining_impl_trait`
lint.](https://togithub.com/rust-lang/rust/pull/121720/ )
- [Stabilize associated type bounds (RFC
2289).](https://togithub.com/rust-lang/rust/pull/122055/ )
- [Stabilize importing `main` from other modules or
crates.](https://togithub.com/rust-lang/rust/pull/122060/ )
- [Check return types of function types for
well-formedness](https://togithub.com/rust-lang/rust/pull/115538 )
- [Rework `impl Trait` lifetime
inference](https://togithub.com/rust-lang/rust/pull/116891/ )
- [Change inductive trait solver cycles to be
ambiguous](https://togithub.com/rust-lang/rust/pull/122791 )
<a id="1.79.0-Compiler"></a>
## Compiler
- [Define `-C strip` to only affect binaries, not artifacts like
`.pdb`.](https://togithub.com/rust-lang/rust/pull/115120/ )
- [Stabilize `-Crelro-level` for controlling runtime link
hardening.](https://togithub.com/rust-lang/rust/pull/121694/ )
- [Stabilize checking of `cfg` names and values at compile-time with
`--check-cfg`.](https://togithub.com/rust-lang/rust/pull/123501/ )
*Note that this only stabilizes the compiler part, the Cargo part is
still unstable in this release.*
- [Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3
targets.](https://togithub.com/rust-lang/rust/pull/121419/ )
- [Add `riscv32ima-unknown-none-elf` tier 3
target.](https://togithub.com/rust-lang/rust/pull/122696/ )
- [Promote several Windows targets to tier
2](https://togithub.com/rust-lang/rust/pull/121712 ):
`aarch64-pc-windows-gnullvm`, `i686-pc-windows-gnullvm`, and
`x86_64-pc-windows-gnullvm`.
Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.
<a id="1.79.0-Libraries"></a>
## Libraries
- [Implement `FromIterator` for `(impl Default + Extend, impl Default +
Extend)`.](https://togithub.com/rust-lang/rust/pull/107462/ )
- [Implement `{Div,Rem}Assign<NonZero<X>>` on
`X`.](https://togithub.com/rust-lang/rust/pull/121952/ )
- [Document overrides of `clone_from()` in
core/std.](https://togithub.com/rust-lang/rust/pull/122201/ )
- [Link MSVC default lib in
core.](https://togithub.com/rust-lang/rust/pull/122268/ )
- [Caution against using `transmute` between pointers and
integers.](https://togithub.com/rust-lang/rust/pull/122379/ )
- [Enable frame pointers for the standard
library.](https://togithub.com/rust-lang/rust/pull/122646/ )
<a id="1.79.0-Stabilized-APIs"></a>
## Stabilized APIs
-
[`{integer}::unchecked_add`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add )
-
[`{integer}::unchecked_mul`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul )
-
[`{integer}::unchecked_sub`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub )
-
[`<[T]>::split_at_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked )
-
[`<[T]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked )
-
[`<[u8]>::utf8_chunks`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8\_chunks )
-
[`str::Utf8Chunks`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html )
-
[`str::Utf8Chunk`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html )
- [`<*const
T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned )
- [`<*mut
T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1 )
-
[`NonNull::is_aligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned )
- [`<*const
[T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len )
- [`<*mut
[T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1 )
- [`<*const
[T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty )
- [`<*mut
[T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1 )
-
[`NonNull::<[T]>::is_empty`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty )
-
[`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes )
-
[`io::Error::downcast`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast )
-
[`num::NonZero<T>`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html )
-
[`path::absolute`](https://doc.rust-lang.org/stable/std/path/fn.absolute.html )
-
[`proc_macro::Literal::byte_character`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character )
-
[`proc_macro::Literal::c_string`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string )
These APIs are now stable in const contexts:
-
[`Atomic*::into_inner`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner )
-
[`io::Cursor::new`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new )
-
[`io::Cursor::get_ref`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref )
-
[`io::Cursor::position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position )
- [`io::empty`](https://doc.rust-lang.org/stable/std/io/fn.empty.html )
- [`io::repeat`](https://doc.rust-lang.org/stable/std/io/fn.repeat.html )
- [`io::sink`](https://doc.rust-lang.org/stable/std/io/fn.sink.html )
-
[`panic::Location::caller`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller )
-
[`panic::Location::file`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file )
-
[`panic::Location::line`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line )
-
[`panic::Location::column`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column )
<a id="1.79.0-Cargo"></a>
## Cargo
- [Prevent dashes in `lib.name`, always normalizing to
`_`.](https://togithub.com/rust-lang/cargo/pull/12783/ )
- [Stabilize MSRV-aware version requirement selection in `cargo
add`.](https://togithub.com/rust-lang/cargo/pull/13608/ )
- [Switch to using `gitoxide` by default for listing
files.](https://togithub.com/rust-lang/cargo/pull/13696/ )
- [Error on `[project]` in Edition 2024; `cargo fix --edition` will
change it to
`[package]`.](https://togithub.com/rust-lang/cargo/pull/13747/ )
<a id="1.79.0-Rustdoc"></a>
## Rustdoc
- [Always display stability version even if it's the same as the
containing item.](https://togithub.com/rust-lang/rust/pull/118441/ )
- [Show a single search result for items with multiple
paths.](https://togithub.com/rust-lang/rust/pull/119912/ )
- [Support typing `/` in docs to begin a
search.](https://togithub.com/rust-lang/rust/pull/123355/ )
<a id="1.79.0-Misc"></a>
## Misc
<a id="1.79.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Update the minimum external LLVM to
17.](https://togithub.com/rust-lang/rust/pull/122649/ )
- [`RustcEncodable` and `RustcDecodable` are soft-destabilized, to be
removed
from the prelude in next
edition.](https://togithub.com/rust-lang/rust/pull/116016/ )
- [The `wasm_c_abi` future-incompatibility lint will warn about use of
the
non-spec-compliant C
ABI.](https://togithub.com/rust-lang/rust/pull/117918/ )
Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings.
- [Check return types of function types for
well-formedness](https://togithub.com/rust-lang/rust/pull/115538 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any
time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/crate-ci/typos ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-13 15:12:16 +00:00
Ed Page
dc4ac38a10
chore(ci): Drop arm64
2024-06-12 10:47:24 -05:00
Ed Page
9d10c4ded9
chore(ci): Fix release target for arm64
2024-06-12 10:33:14 -05:00
smerle33
fadf0cc5f1
feat(release): Add linux arm64 build to matrix
2024-06-12 08:08:44 +02:00
Ed Page
ce6badcd18
chore: Fix typo
2024-06-03 10:29:26 -05:00
RainRat
8e26045211
fix typos (the literal kind)
2024-06-01 22:08:33 -07:00
renovate[bot]
27ba9761d1
chore(deps): Update Rust Stable to v1.78 ( #1011 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://togithub.com/rust-lang/rust ) | minor | `1.77` ->
`1.78` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.78`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1780-2024-05-02 )
[Compare
Source](https://togithub.com/rust-lang/rust/compare/1.77.0...1.78.0 )
\==========================
<a id="1.78.0-Language"></a>
## Language
- [Stabilize `#[cfg(target_abi =
...)]`](https://togithub.com/rust-lang/rust/pull/119590/ )
- [Stabilize the `#[diagnostic]` namespace and
`#[diagnostic::on_unimplemented]`
attribute](https://togithub.com/rust-lang/rust/pull/119888/ )
- [Make async-fn-in-trait implementable with concrete
signatures](https://togithub.com/rust-lang/rust/pull/120103/ )
- [Make matching on NaN a hard error, and remove the rest of
`illegal_floating_point_literal_pattern`](https://togithub.com/rust-lang/rust/pull/116284/ )
- [static mut: allow mutable reference to arbitrary types, not just
slices and arrays](https://togithub.com/rust-lang/rust/pull/117614/ )
- [Extend `invalid_reference_casting` to include references casting to
bigger memory layout](https://togithub.com/rust-lang/rust/pull/118983/ )
- [Add `non_contiguous_range_endpoints` lint for singleton gaps after
exclusive ranges](https://togithub.com/rust-lang/rust/pull/118879/ )
- [Add `wasm_c_abi` lint for use of older wasm-bindgen
versions](https://togithub.com/rust-lang/rust/pull/117918/ )
This lint currently only works when using Cargo.
- [Update `indirect_structural_match` and `pointer_structural_match`
lints to match RFC](https://togithub.com/rust-lang/rust/pull/120423/ )
- [Make non-`PartialEq`-typed consts as patterns a hard
error](https://togithub.com/rust-lang/rust/pull/120805/ )
- [Split `refining_impl_trait` lint into `_reachable`, `_internal`
variants](https://togithub.com/rust-lang/rust/pull/121720/ )
- [Remove unnecessary type inference when using associated types inside
of higher ranked
`where`-bounds](https://togithub.com/rust-lang/rust/pull/119849 )
- [Weaken eager detection of cyclic types during type
inference](https://togithub.com/rust-lang/rust/pull/119989 )
- [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn
Auto`](https://togithub.com/rust-lang/rust/pull/119338 )
<a id="1.78.0-Compiler"></a>
## Compiler
- [Made `INVALID_DOC_ATTRIBUTES` lint deny by
default](https://togithub.com/rust-lang/rust/pull/111505/ )
- [Increase accuracy of redundant `use`
checking](https://togithub.com/rust-lang/rust/pull/117772/ )
- [Suggest moving definition if non-found macro_rules! is defined
later](https://togithub.com/rust-lang/rust/pull/121130/ )
- [Lower transmutes from int to pointer type as gep on
null](https://togithub.com/rust-lang/rust/pull/121282/ )
Target changes:
- [Windows tier 1 targets now require at least Windows
10](https://togithub.com/rust-lang/rust/pull/115141/ )
- [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1
Windows](https://togithub.com/rust-lang/rust/pull/120820/ )
- [Add `wasm32-wasip1` tier 2 (without host tools)
target](https://togithub.com/rust-lang/rust/pull/120468/ )
- [Add `wasm32-wasip2` tier 3
target](https://togithub.com/rust-lang/rust/pull/119616/ )
- [Rename `wasm32-wasi-preview1-threads` to
`wasm32-wasip1-threads`](https://togithub.com/rust-lang/rust/pull/122170/ )
- [Add `arm64ec-pc-windows-msvc` tier 3
target](https://togithub.com/rust-lang/rust/pull/119199/ )
- [Add `armv8r-none-eabihf` tier 3 target for the
Cortex-R52](https://togithub.com/rust-lang/rust/pull/110482/ )
- [Add `loongarch64-unknown-linux-musl` tier 3
target](https://togithub.com/rust-lang/rust/pull/121832/ )
Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.
<a id="1.78.0-Libraries"></a>
## Libraries
- [Bump Unicode to version 15.1.0, regenerate
tables](https://togithub.com/rust-lang/rust/pull/120777/ )
- [Make align_offset, align_to well-behaved in all
cases](https://togithub.com/rust-lang/rust/pull/121201/ )
- [PartialEq, PartialOrd: document expectations for transitive
chains](https://togithub.com/rust-lang/rust/pull/115386/ )
- [Optimize away poison guards when std is built with
panic=abort](https://togithub.com/rust-lang/rust/pull/100603/ )
- [Replace pthread `RwLock` with custom
implementation](https://togithub.com/rust-lang/rust/pull/110211/ )
- [Implement unwind safety for Condvar on all
platforms](https://togithub.com/rust-lang/rust/pull/121768/ )
- [Add ASCII fast-path for
`char::is_grapheme_extended`](https://togithub.com/rust-lang/rust/pull/121138/ )
<a id="1.78.0-Stabilized-APIs"></a>
## Stabilized APIs
- [`impl Read for
&Stdin`](https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin )
- [Accept non `'static` lifetimes for several `std::error::Error`
related
implementations](https://togithub.com/rust-lang/rust/pull/113833/ )
- [Make `impl<Fd: AsFd>` impl take
`?Sized`](https://togithub.com/rust-lang/rust/pull/114655/ )
- [`impl From<TryReserveError> for
io::Error`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error )
These APIs are now stable in const contexts:
-
[`Barrier::new()`](https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new )
<a id="1.78.0-Cargo"></a>
## Cargo
- [Stabilize lockfile
v4](https://togithub.com/rust-lang/cargo/pull/12852/ )
- [Respect `rust-version` when generating
lockfile](https://togithub.com/rust-lang/cargo/pull/12861/ )
- [Control `--charset` via auto-detecting config
value](https://togithub.com/rust-lang/cargo/pull/13337/ )
- [Support `target.<triple>.rustdocflags`
officially](https://togithub.com/rust-lang/cargo/pull/13197/ )
- [Stabilize global cache data
tracking](https://togithub.com/rust-lang/cargo/pull/13492/ )
<a id="1.78.0-Misc"></a>
## Misc
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as
RUSTC_WRAPPER when building
doctests](https://togithub.com/rust-lang/rust/pull/114651/ )
<a id="1.78.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Many unsafe precondition checks now run for user code with debug
assertions enabled](https://togithub.com/rust-lang/rust/pull/120594/ )
This change helps users catch undefined behavior in their code, though
the details of how much is checked are generally not stable.
- [riscv only supports split_debuginfo=off for
now](https://togithub.com/rust-lang/rust/pull/120518/ )
- [Consistently check bounds on hidden types of `impl
Trait`](https://togithub.com/rust-lang/rust/pull/121679 )
- [Change equality of higher ranked types to not rely on
subtyping](https://togithub.com/rust-lang/rust/pull/118247 )
- [When called, additionally check bounds on normalized function return
type](https://togithub.com/rust-lang/rust/pull/118882 )
- [Expand coverage for `arithmetic_overflow`
lint](https://togithub.com/rust-lang/rust/pull/119432/ )
<a id="1.78.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 18](https://togithub.com/rust-lang/rust/pull/120055/ )
- [Build `rustc` with 1CGU on
`x86_64-pc-windows-msvc`](https://togithub.com/rust-lang/rust/pull/112267/ )
- [Build `rustc` with 1CGU on
`x86_64-apple-darwin`](https://togithub.com/rust-lang/rust/pull/112268/ )
- [Introduce `run-make` V2 infrastructure, a `run_make_support` library
and port over 2 tests as
example](https://togithub.com/rust-lang/rust/pull/113026/ )
- [Windows: Implement condvar, mutex and rwlock using
futex](https://togithub.com/rust-lang/rust/pull/121956/ )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any
time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/crate-ci/typos ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMzEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 17:09:21 +00:00
renovate[bot]
3f19efbe83
chore(deps): Update Rust Stable to v1.77 ( #1006 )
...
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://togithub.com/rust-lang/rust ) | minor | `1.76` ->
`1.77` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.77`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1772-2024-04-09 )
[Compare
Source](https://togithub.com/rust-lang/rust/compare/1.76.0...1.77.0 )
\===========================
<a id="1.77.2"></a>
- [CVE-2024-24576: fix escaping of Windows batch file arguments in
`std::process::Command`](https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any
time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/crate-ci/typos ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMyMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 19:26:40 +00:00
Ed Page
b6c895ea49
chore: Update from _rust/main template
2024-04-30 11:28:23 -05:00
Ed Page
d634de649f
chore(ci): Ensure CI job always runs
2024-04-01 11:36:58 -05:00
Ed Page
9258d9af7b
chore(ci): More exhaustively check features
2024-03-28 09:57:23 -05:00
Ed Page
92d486c4b0
chore(ci): Speed up lockfile check
2024-03-28 09:53:02 -05:00
Ed Page
9b1b566201
chore(ci): Fix all rust-version-specific checks to stable
2024-03-28 09:51:51 -05:00
Ed Page
c8b190be3a
chore(ci): Use latest SARIF
...
Now that we run clippy on stable, we can do this
2024-03-28 09:50:22 -05:00
Ed Page
8fbad372a8
chore(ci): Ensure latest job passes
2024-03-04 09:33:41 -06:00
Ed Page
a932bb64b9
Merge pull request #942 from crate-ci/renovate/github-codeql-action-3.x
...
chore(deps): update github/codeql-action action to v3
2024-03-01 09:16:52 -06:00
renovate[bot]
286c9b8c77
chore(deps): update github/codeql-action action to v3
2024-03-01 03:09:12 +00:00
renovate[bot]
31ed0fe0cb
chore(deps): update pre-commit/action action to v3.0.1
2024-03-01 01:43:25 +00:00
renovate[bot]
7846c5130e
chore(deps): Update pre-commit/action action to v3.0.1
2024-03-01 00:30:14 +00:00
Ed Page
c977df5149
chore(ci): Prevent cargo-hack from blowing away our lockfile
...
See taiki-e/cargo-hack#234
2024-02-20 20:22:05 -06:00
Ed Page
779496bb00
chore(ci): Run the latest clippy
2024-02-15 10:08:37 -06:00
Ed Page
4db293d99b
chore(ci): Only verify MSRV for published packages
2024-02-15 09:58:01 -06:00
Ed Page
1313256db3
chore(ci): Use latest for coverage
2024-02-08 09:07:52 -06:00
Ed Page
da56001fd6
chore(ci): Gather coverage
2024-02-08 07:48:29 -06:00
Ed Page
9a5af5c8d2
chore(ci): Only check intel mac on schedule
2024-02-08 07:45:48 -06:00
Ed Page
53a7a51171
chore(ci): See if setting columns helps
2024-02-07 15:53:09 -06:00
Ed Page
131de55d50
chore(ci): Add m1 runners
...
See https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
2024-01-31 12:07:12 -06:00
Viktor Szépe
4ba7489c0f
Remove empty directory from release assets
2024-01-18 21:29:28 +01:00
Ed Page
e819db4af6
chore(ci): Cancel prior CI runs
2024-01-18 09:22:25 -06:00