chore(deps): update dependency rust to v1.82.0
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| rust | minor | 1.81.0 -> 1.82.0 |
Release Notes
rust-lang/rust (rust)
v1.82.0
==========================
Language
- Don't make statement nonterminals match pattern nonterminals
- Patterns matching empty types can now be omitted in common cases
- Enforce supertrait outlives obligations when using trait impls
addr_of(_mut)!macros and the newly stabilized&raw (const|mut)are now safe to use with all static items- size_of_val_raw: for length 0 this is safe to call
- Reorder trait bound modifiers after
for<...>binder in trait bounds - Stabilize opaque type precise capturing (RFC 3617)
- Stabilize
&raw constand&raw mutoperators (RFC 2582) - Stabilize unsafe extern blocks (RFC 3484)
- Stabilize nested field access in
offset_of! - Do not require
Tto be live when dropping[T; 0] - Stabilize
constoperands in inline assembly - Stabilize floating-point arithmetic in
const fn - Stabilize explicit opt-in to unsafe attributes
- Document NaN bit patterns guarantees
Compiler
- Promote riscv64gc-unknown-linux-musl to tier 2
- Promote Mac Catalyst targets
aarch64-apple-ios-macabiandx86_64-apple-ios-macabito Tier 2, and ship them with rustup - Add tier 3 NuttX based targets for RISC-V and ARM
- Add tier 3 powerpc-unknown-linux-muslspe target
- Improved diagnostics to explain why a pattern is unreachable
- The compiler now triggers the unreachable code warning properly for async functions that don't return/are
-> ! - Promote
aarch64-apple-darwinto Tier 1 - Add Trusty OS target
aarch64-unknown-trustyandarmv7-unknown-trustyas tier 3 targets - Promote
wasm32-wasip2to Tier 2.
Libraries
Stabilized APIs
std::thread::Builder::spawn_uncheckedstd::str::CharIndices::offsetstd::option::Option::is_none_or[T]::is_sorted[T]::is_sorted_by[T]::is_sorted_by_keyIterator::is_sortedIterator::is_sorted_byIterator::is_sorted_by_keystd::future::Ready::into_innerstd::iter::repeat_nimpl<T: Clone> DoubleEndedIterator for Take<Repeat<T>>impl<T: Clone> ExactSizeIterator for Take<Repeat<T>>impl<T: Clone> ExactSizeIterator for Take<RepeatWith<T>>impl Default for std::collections::binary_heap::Iterimpl Default for std::collections::btree_map::RangeMutimpl Default for std::collections::btree_map::ValuesMutimpl Default for std::collections::vec_deque::Iterimpl Default for std::collections::vec_deque::IterMutRc<T>::new_uninitRc<T>::assume_initRc<[T]>::new_uninit_sliceRc<[MaybeUninit<T>]>::assume_initArc<T>::new_uninitArc<T>::assume_initArc<[T]>::new_uninit_sliceArc<[MaybeUninit<T>]>::assume_initBox<T>::new_uninitBox<T>::assume_initBox<[T]>::new_uninit_sliceBox<[MaybeUninit<T>]>::assume_initcore::arch::x86_64::_bextri_u64core::arch::x86_64::_bextri_u32core::arch::x86::_mm_broadcastsi128_si256core::arch::x86::_mm256_stream_load_si256core::arch::x86::_tzcnt_u16core::arch::x86::_mm_extracti_si64core::arch::x86::_mm_inserti_si64core::arch::x86::_mm_storeu_si16core::arch::x86::_mm_storeu_si32core::arch::x86::_mm_storeu_si64core::arch::x86::_mm_loadu_si16core::arch::x86::_mm_loadu_si32core::arch::wasm32::u8x16_relaxed_swizzlecore::arch::wasm32::i8x16_relaxed_swizzlecore::arch::wasm32::i32x4_relaxed_trunc_f32x4core::arch::wasm32::u32x4_relaxed_trunc_f32x4core::arch::wasm32::i32x4_relaxed_trunc_f64x2_zerocore::arch::wasm32::u32x4_relaxed_trunc_f64x2_zerocore::arch::wasm32::f32x4_relaxed_maddcore::arch::wasm32::f32x4_relaxed_nmaddcore::arch::wasm32::f64x2_relaxed_maddcore::arch::wasm32::f64x2_relaxed_nmaddcore::arch::wasm32::i8x16_relaxed_laneselectcore::arch::wasm32::u8x16_relaxed_laneselectcore::arch::wasm32::i16x8_relaxed_laneselectcore::arch::wasm32::u16x8_relaxed_laneselectcore::arch::wasm32::i32x4_relaxed_laneselectcore::arch::wasm32::u32x4_relaxed_laneselectcore::arch::wasm32::i64x2_relaxed_laneselectcore::arch::wasm32::u64x2_relaxed_laneselectcore::arch::wasm32::f32x4_relaxed_mincore::arch::wasm32::f32x4_relaxed_maxcore::arch::wasm32::f64x2_relaxed_mincore::arch::wasm32::f64x2_relaxed_maxcore::arch::wasm32::i16x8_relaxed_q15mulrcore::arch::wasm32::u16x8_relaxed_q15mulrcore::arch::wasm32::i16x8_relaxed_dot_i8x16_i7x16core::arch::wasm32::u16x8_relaxed_dot_i8x16_i7x16core::arch::wasm32::i32x4_relaxed_dot_i8x16_i7x16_addcore::arch::wasm32::u32x4_relaxed_dot_i8x16_i7x16_add
These APIs are now stable in const contexts:
std::task::Waker::from_rawstd::task::Context::from_wakerstd::task::Context::waker$integer::from_str_radixstd::num::ParseIntError::kind
Cargo
Compatibility Notes
- We now disallow setting some built-in cfgs via the command-line with the newly added
explicit_builtin_cfgs_in_flagslint in order to prevent incoherent state, eg.windowscfg active but target is Linux based. The appropriaterustcflag should be used instead. - The standard library has a new implementation of
binary_searchwhich is significantly improves performance (#128254). However when a sorted slice has multiple values which compare equal, the new implementation may select a different value among the equal ones than the old implementation. - illumos/Solaris now sets
MSG_NOSIGNALwhen writing to sockets. This avoids killing the process with SIGPIPE when writing to a closed socket, which matches the existing behavior on other UNIX targets. - Removes a problematic hack that always passed the --whole-archive linker flag for tests, which may cause linker errors for code accidentally relying on it.
- The WebAssembly target features
multivalueandreference-typesare now both enabled by default. These two features both have subtle changes implied for generated WebAssembly binaries. For themultivaluefeature, WebAssembly target support has changed when upgrading to LLVM 19. Support for generating functions with multiple returns no longer works and-Ctarget-feature=+multivaluehas a different meaning than it did in LLVM 18 and prior. There is no longer any supported means to generate a module that has a function with multiple returns in WebAssembly from Rust source code. For thereference-typesfeature the encoding of immediates in thecall_indirect, a commonly used instruction by the WebAssembly backend, has changed. Validators and parsers which don't understand thereference-typesproposal will no longer accept modules produced by LLVM due to this change in encoding of immediates. Additionally these features being enabled are encoded in thetarget_featurescustom section and may affect downstream tooling such aswasm-optconsuming the module. Generating a WebAssembly module that disables default features requires-Zbuild-stdsupport from Cargo and more information can be found at rust-lang/rust#128511. - Rust now raises unsafety errors for union patterns in parameter-position
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.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Your org has enabled the Graphite merge queue for merging into main
Add the label “0-merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix.
You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link.
CodSpeed Performance Report
Merging #6649 will not alter performance
Comparing renovate/rust-toolchain (47ec49f) with main (62a8c5e)
Summary
✅ 30 untouched benchmarks
Merge activity
- Oct 18, 10:25 AM EDT: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
- Oct 18, 10:29 AM EDT: A user added this pull request to the Graphite merge queue.
- Oct 18, 10:32 AM EDT: The Graphite merge queue couldn't merge this PR because it was in draft mode.
- Nov 29, 12:06 AM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
- Nov 29, 12:06 AM EST: A user added this pull request to the Graphite merge queue.
- Nov 29, 12:18 AM EST: A user merged this pull request with the Graphite merge queue.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.
Run npx -y -p typescript tsc --lib es2020,dom crates/oxc_wasm/pkg/oxc_wasm.d.ts
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts([1](https://github.com/oxc-project/oxc/actions/runs/11405636637/job/31737548270?pr=6649#step:7:1)587,45): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1588,59): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1590,52): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1591,54): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1592,56): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1593,64): error TS23[14](https://github.com/oxc-project/oxc/actions/runs/11405636637/job/31737548270?pr=6649#step:7:15): Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1594,57): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts([15](https://github.com/oxc-project/oxc/actions/runs/11405636637/job/31737548270?pr=6649#step:7:16)96,47): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1597,44): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1598,69): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Error: crates/oxc_wasm/pkg/oxc_wasm.d.ts(1599,63): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
Before:
export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly __wbg_oxc_free: (a: number, b: number) => void;
readonly __wbg_get_oxc_ast: (a: number) => number;
readonly __wbg_get_oxc_ir: (a: number, b: number) => void;
After:
export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly __wbg_oxc_free: (a: number, b: number) => void;
readonly __wbg_get_oxc_ast: (a: number) => number;
readonly __wbg_get_oxc_ir: (a: number) => Array;
Upstream issue: https://github.com/rustwasm/wasm-bindgen/issues/4207
@Boshen It seems https://github.com/rustwasm/wasm-bindgen/issues/4207 is now fixed. Does this unblock us?
I've rebased on latest main and removed a bunch of changes which are no longer applicable.
@Boshen It seems rustwasm/wasm-bindgen#4207 is now fixed. Does this unblock us?
I've rebased on latest main and removed a bunch of changes which are no longer applicable.
Waiting for it to release.
- #6649
👈 (View in Graphite) main
This stack of pull requests is managed by Graphite. Learn more about stacking.