Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(deps): update rust to v1.79.0 (#183)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [rust](https://togithub.com/rust-lang/rust) | minor | `1.77.1` -> `1.79.0` | --- ### Release Notes <details> <summary>rust-lang/rust (rust)</summary> ### [`v1.79.0`](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) ### [`v1.78.0`](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.2...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/) - [Fix detection of potential interior mutability in `const` initializers](https://togithub.com/rust-lang/rust/issues/121250) This code was accidentally accepted. The fix can break generic code that borrows a value of unknown type, as there is currently no way to declare "this type has no interior mutability". In the future, stabilizing the [`Freeze` trait](https://togithub.com/rust-lang/rust/issues/121675) will allow proper support for such code. <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/) ### [`v1.77.2`](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.77.1...1.77.2) \=========================== <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 - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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. --- - [ ] 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/andrzejressel/pulumi-wasm).
- Loading branch information