Make sure to record deps from cached task in new solver on first run by compiler-errors · Pull Request #133828 · rust-lang/rust (original) (raw)
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation20 Commits2 Checks6 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
We weren't actually performing a read of the dep node in with_cached_task
in the new solver, which meant that all queries that computed a goal for the first time were just not recording the query dependencies that we call in that query.
In the incremental test, the typeck query for fn poll
isn't being marked red even tho it's invalidated due to its writeback results changing. This happens b/c we normalize Self::Error
into Error
, which should call type_of
which is a red query (since ty::Adt
contains an AdtDef
, and that AdtDef
's stable hash changes since it's field changed). However, since we weren't tracking deps in that normalize query, the typeck result was remaining green, and we were trying to decode a def id that no longer exists (the field that got removed).
r? lcnr
rustbot added A-query-system
Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)
Status: Awaiting review from the assignee but also interested parties.
Relevant to the compiler team, which will review and decide on the PR/issue.
labels
This comment has been minimized.
bors added a commit to rust-lang-ci/rust that referenced this pull request
Make sure to record deps from cached task in new solver on first run
We weren't actually performing a read of the dep node in with_cached_task
in the new solver, which meant that all queries that computed a goal for the first time were just not recording the query dependencies that we call in that query.
In the incremental test, the typeck query for fn poll
isn't being marked red even tho it's invalidated due to its writeback results changing. This happens b/c we normalize Self::Error
into Error
, which should call type_of
which is a red query (since ty::Adt
contains an AdtDef
, and that AdtDef
's stable hash changes since it's ). However, since we weren't tracking deps in that normalize query, the typeck result was remaining green, and we were trying to decode a def id that no longer exists (the field that got removed).
r? lcnr
☀️ Try build successful - checks-actions
Build commit: 780efa9 (780efa9bf45636cd3f1a01b166ad197131a7aac7
)
Finished benchmarking commit (780efa9): comparison URL.
Overall result: no relevant changes - no action needed
Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.
@bors rollup=never
@rustbot label: -S-waiting-on-perf -perf-regression
Instruction count
This benchmark run did not return any relevant results for this metric.
Max RSS (memory usage)
Results (primary -1.7%)
This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
mean | range | count | |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -1.7% | [-1.7%, -1.7%] | 1 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -1.7% | [-1.7%, -1.7%] | 1 |
Cycles
Results (secondary 1.6%)
This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
mean | range | count | |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 1.6% | [1.6%, 1.6%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | - | - | 0 |
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 766.885s -> 767.854s (0.13%)
Artifact size: 330.85 MiB -> 330.88 MiB (0.01%)
Contributor
lcnr left a comment
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nits, then r=me
lcnr mentioned this pull request
📌 Commit 988f28d has been approved by lcnr
It is now in the queue for this repository.
bors added S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
bors added a commit to rust-lang-ci/rust that referenced this pull request
Make sure to record deps from cached task in new solver on first run
We weren't actually performing a read of the dep node in with_cached_task
in the new solver, which meant that all queries that computed a goal for the first time were just not recording the query dependencies that we call in that query.
In the incremental test, the typeck query for fn poll
isn't being marked red even tho it's invalidated due to its writeback results changing. This happens b/c we normalize Self::Error
into Error
, which should call type_of
which is a red query (since ty::Adt
contains an AdtDef
, and that AdtDef
's stable hash changes since it's ). However, since we weren't tracking deps in that normalize query, the typeck result was remaining green, and we were trying to decode a def id that no longer exists (the field that got removed).
r? lcnr
The job i686-mingw
failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
Compiling rustc_driver v0.0.0 (C:\a\rust\rust\compiler\rustc_driver)
[RUSTC-TIMING] rustc_driver test:false 27.276
error: linking with `i686-w64-mingw32-gcc` failed: exit code: 1
|
= note: "i686-w64-mingw32-gcc" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-Wl,--large-address-aware" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsbegin.o" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\symbols.o" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1-rustc\\i686-pc-windows-gnu\\release\\deps\\rustc_main-96d0305fb1a0ac21.rustc_main.5df816f042a4877-cgu.0.rcgu.o" "-Wl,-Bdynamic" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1-rustc\\i686-pc-windows-gnu\\release\\deps\\rustc_driver-9266893fdc6ace7c.dll" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\std-85e8e1afc0a1e2c0.dll" "-Wl,-Bstatic" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\libcompiler_builtins-d77c9d76f065957b.rlib" "-Wl,-Bdynamic" "-lpsapi" "-lshell32" "-lole32" "-luuid" "-ladvapi32" "-lws2_32" "-lntdll" "-lkernel32" "-ladvapi32" "-lole32" "-loleaut32" "-ladvapi32" "-lcfgmgr32" "-lgdi32" "-lkernel32" "-lmsimg32" "-lopengl32" "-luser32" "-lwinspool" "-lbcrypt" "-ladvapi32" "-lkernel32" "-lkernel32" "-ladvapi32" "-lntdll" "-luserenv" "-lws2_32" "-ldbghelp" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\advapi32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-errorhandling-l1-1-3.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-file-fromapp-l1-1-0.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-handle-l1-1-0.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-ioring-l1-1-0.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-memory-l1-1-3.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-memory-l1-1-4.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-memory-l1-1-5.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-memory-l1-1-6.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-memory-l1-1-7.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-memory-l1-1-8.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-synch-l1-2-0.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-sysinfo-l1-2-0.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-sysinfo-l1-2-3.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-sysinfo-l1-2-4.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-sysinfo-l1-2-6.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-util-l1-1-1.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-winrt-error-l1-1-0.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-winrt-l1-1-0.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-core-wow64-l1-1-1.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\api-ms-win-security-base-l1-2-2.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\avrt.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\bcp47mrm.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\bcryptprimitives.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\clfsw32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\dbghelp.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\elscore.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\gdi32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\icu.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\imagehlp.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\kernel32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\ktmw32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\netapi32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\normaliz.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\ntdll.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\ntdllk.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\ole32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\oleacc.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\oleaut32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\propsys.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\psapi.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\rtworkq.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\txfw32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\user32.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\usp10.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\version.dll_imports_indirect.lib" "C:\\a\\_temp\\msys64\\tmp\\rustcl8WCIE\\wofutil.dll_imports_indirect.lib" "-lgcc_s" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-lmingwex" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1-rustc\\i686-pc-windows-gnu\\release\\build\\stacker-d3f5f2020a9db92d\\out" "-L" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1-rustc\\i686-pc-windows-gnu\\release\\build\\psm-209b3c2f591fdc56\\out" "-L" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1-rustc\\i686-pc-windows-gnu\\release\\build\\blake3-a0d1954ccec93ff8\\out" "-L" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1-rustc\\i686-pc-windows-gnu\\release\\build\\rustc_llvm-9c1d12dc9076cada\\out" "-L" "C:/a/rust/rust/build/i686-pc-windows-gnu/llvm/lib" "-L" "C:/a/rust/rust/mingw32/bin/../lib/gcc/i686-w64-mingw32/14.1.0" "-o" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1-rustc\\i686-pc-windows-gnu\\release\\deps\\rustc_main-96d0305fb1a0ac21.exe" "-Wl,--gc-sections" "-no-pie" "-Wl,-O1" "-nodefaultlibs" "C:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\stage1\\lib\\rustlib\\i686-pc-windows-gnu\\lib\\rsend.o"
= note: C:/a/rust/rust/mingw32/bin/../lib/gcc/i686-w64-mingw32/14.1.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot open output file C:\a\rust\rust\build\i686-pc-windows-gnu\stage1-rustc\i686-pc-windows-gnu\release\deps\rustc_main-96d0305fb1a0ac21.exe: Invalid argument␍
collect2.exe: error: ld returned 1 exit status
[RUSTC-TIMING] rustc_main test:false 3.743
error: could not compile `rustc-main` (bin "rustc-main") due to 1 previous error
Build completed unsuccessfully in 0:33:10
bors added S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
and removed S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
labels
Finished benchmarking commit (5a0a5e6): comparison URL.
Overall result: no relevant changes - no action needed
@rustbot label: -perf-regression
Instruction count
This benchmark run did not return any relevant results for this metric.
Max RSS (memory usage)
Results (secondary 2.1%)
This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
mean | range | count | |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 2.1% | [2.1%, 2.1%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | - | - | 0 |
Cycles
Results (primary -1.4%, secondary -2.6%)
This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
mean | range | count | |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -1.4% | [-1.5%, -1.4%] | 2 |
Improvements ✅ (secondary) | -2.6% | [-2.6%, -2.6%] | 1 |
All ❌✅ (primary) | -1.4% | [-1.5%, -1.4%] | 2 |
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 769.678s -> 768.023s (-0.22%)
Artifact size: 330.86 MiB -> 330.84 MiB (-0.01%)
@rustbot label: +beta-nominated +stable-nominated
not totally sure if this is stable worthy, but definitely let's beta backport this since this was found to be somewhat easy to trigger on stable :)
nvm it's on 1.85 already
@rustbot label: -beta-nominated
lqd mentioned this pull request
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
add incremental test for issue 135514
r? @compiler-errors
as requested in rust-lang#135514 (comment)
This adds parts of @steffahn's
repro as an incremental test for rust-lang#135514. I had initially added the actual exploitation of the issue into the safe transmute, but removed it because it's not exactly needed for such a test. I can add it back if you'd like.
I've verified that the test fails with rust-lang#133828 reverted.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request
Rollup merge of rust-lang#135522 - lqd:issue-135514, r=compiler-errors
add incremental test for issue 135514
r? @compiler-errors
as requested in rust-lang#135514 (comment)
This adds parts of @steffahn's
repro as an incremental test for rust-lang#135514. I had initially added the actual exploitation of the issue into the safe transmute, but removed it because it's not exactly needed for such a test. I can add it back if you'd like.
I've verified that the test fails with rust-lang#133828 reverted.
Let me leave an explicit link here, for anyone that gets here from the backport nomination; it’s this following issue that the backport would be supposed to fix on 1.84:
And as a TL;DR, my personal main concern is that this could be a confusing user-experience bug how on 1.84 (which is also a regression, i.e. this didn’t happen on 1.83): incremental compilation can – potentially for a long time during development – mask an overlapping-impl
error in your code.
I have no good way to judge how likely something like this is or isn’t possible to hit in “normal” user code could, but the fix would appear sufficiently safe & minimal (and tested for 6 weeks on nightly) something that could be accepted as “include in a potential backport to stable if there’s going to be a 1.84.1
release for a different reason”. I also wouldn’t be surprised if most users that would encounter the issue accidentally would have no way of actually identifying this as a compiler bug and report it (no incr-comp related ICEs; probably most people would just be confused and think they changed something themselves when the error finally shows up).
Stable backport accepted as per compiler team on Zulip. A backport PR will be authored by the release team at the end of the current development cycle. Backport labels handled by them.
As Steffan hints, this could be a pretty confusing error, but triggering this error is rare (incr. comp. is not usualyy enabled on release builds) so in favor of a dot release if planned, but probably not just for this one.
@rustbot label +stable-accepted
bors added a commit to rust-lang-ci/rust that referenced this pull request
[stable] Prepare Rust 1.84.1 point release
- Fix ICE 132920 in duplicate-crate diagnostics.
- Fix errors for overlapping impls in incremental rebuilds.
- Fix slow compilation related to the next-generation trait solver.
- Fix debuginfo when LLVM's location discriminator value limit is exceeded.
- Fixes for building Rust from source:
cc @rust-lang/release
r? ghost
wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request
Pkgsrc changes:
- Adapt patches, one of the patched files were restructured upstream.
- Checksum changes.
Upstream changes:
Version 1.84.1 (2025-01-30)
- [Fix ICE 132920 in duplicate-crate diagnostics.] (rust-lang/rust#133304)
- [Fix errors for overlapping impls in incremental rebuilds.] (rust-lang/rust#133828)
- [Fix slow compilation related to the next-generation trait solver.] (rust-lang/rust#135618)
- [Fix debuginfo when LLVM's location discriminator value limit is exceeded.] (rust-lang/rust#135643)
- Fixes for building Rust from source:
- [Only try to distribute
llvm-objcopy
if llvm tools are enabled.] (rust-lang/rust#134240) - [Add Profile Override for Non-Git Sources.] (rust-lang/rust#135433)
- [Resolve symlinks of LLVM tool binaries before copying them.] (rust-lang/rust#135585)
- [Make it possible to use ci-rustc on tarball sources.] (rust-lang/rust#135722)
- [Only try to distribute
Version 1.84.0 (2025-01-09)
Language
- [Allow
#[deny]
inside#[forbid]
as a no-op] (rust-lang/rust#121560) - [Show a warning when
-Ctarget-feature
is used to toggle features that can lead to unsoundness due to ABI mismatches] (rust-lang/rust#129884) - [Use the next-generation trait solver in coherence] (rust-lang/rust#130654)
- [Allow coercions to drop the principal of trait objects] (rust-lang/rust#131857)
- [Support
/
as the path separator forinclude!()
in all cases on Windows] (rust-lang/rust#125205) - [Taking a raw ref (
raw (const|mut)
) of a deref of a pointer (*ptr
) is now safe] (rust-lang/rust#129248) - [Stabilize s390x inline assembly] (rust-lang/rust#131258)
- [Stabilize Arm64EC inline assembly] (rust-lang/rust#131781)
- [Lint against creating pointers to immediately dropped temporaries] (rust-lang/rust#128985)
- [Execute drop glue when unwinding in an
extern "C"
function] (rust-lang/rust#129582)
Compiler
- [Add
--print host-tuple
flag to print the host target tuple and affirm the "target tuple" terminology over "target triple"] (rust-lang/rust#125579) - [Declaring functions with a calling convention not supported on the current target now triggers a hard error] (rust-lang/rust#129935)
- [Set up indirect access to external data for
loongarch64-unknown-linux-{musl,ohos}
] (rust-lang/rust#131583) - [Enable XRay instrumentation for LoongArch Linux targets] (rust-lang/rust#131818)
- [Extend the
unexpected_cfgs
lint to also warn in external macros] (rust-lang/rust#132577) - [Stabilize WebAssembly
multivalue
,reference-types
, andtail-call
target features] (rust-lang/rust#131080) - [Added Tier 2 support for the
wasm32v1-none
target] (rust-lang/rust#131487)
Libraries
- [Implement
From<&mut {slice}>
forBox/Rc/Arc<{slice}>
] (rust-lang/rust#129329) - [Move
<float>::copysign
,<float>::abs
,<float>::signum
tocore
] (rust-lang/rust#131304) - [Add
LowerExp
andUpperExp
implementations toNonZero
] (rust-lang/rust#131377) - [Implement
FromStr
forCString
andTryFrom<CString>
forString
] (rust-lang/rust#130608) - [
std::os::darwin
has been made public] (rust-lang/rust#130635)
Stabilized APIs
- [
Ipv6Addr::is_unique_local
] (https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.is_unique_local) - [
Ipv6Addr::is_unicast_link_local
] (https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.is_unicast_link_local) - [
core::ptr::with_exposed_provenance
] (https://doc.rust-lang.org/stable/core/ptr/fn.with_exposed_provenance.html) - [
core::ptr::with_exposed_provenance_mut
] (https://doc.rust-lang.org/stable/core/ptr/fn.with_exposed_provenance_mut.html) - [
<ptr>::addr
] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.addr) - [
<ptr>::expose_provenance
] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.expose_provenance) - [
<ptr>::with_addr
] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.with_addr) - [
<ptr>::map_addr
] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.map_addr) - [
<int>::isqrt
] (https://doc.rust-lang.org/stable/core/primitive.i32.html#method.isqrt) - [
<int>::checked_isqrt
] (https://doc.rust-lang.org/stable/core/primitive.i32.html#method.checked_isqrt) - [
<uint>::isqrt
] (https://doc.rust-lang.org/stable/core/primitive.u32.html#method.isqrt) - [
NonZero::isqrt
] (https://doc.rust-lang.org/stable/core/num/struct.NonZero.html#impl-NonZero%3Cu128%3E/method.isqrt) - [
core::ptr::without_provenance
] (https://doc.rust-lang.org/stable/core/ptr/fn.without_provenance.html) - [
core::ptr::without_provenance_mut
] (https://doc.rust-lang.org/stable/core/ptr/fn.without_provenance_mut.html) - [
core::ptr::dangling
] (https://doc.rust-lang.org/stable/core/ptr/fn.dangling.html) - [
core::ptr::dangling_mut
] (https://doc.rust-lang.org/stable/core/ptr/fn.dangling_mut.html)
These APIs are now stable in const contexts
- [
AtomicBool::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicBool.html#method.from_ptr) - [
AtomicPtr::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicPtr.html#method.from_ptr) - [
AtomicU8::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU8.html#method.from_ptr) - [
AtomicU16::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU16.html#method.from_ptr) - [
AtomicU32::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU32.html#method.from_ptr) - [
AtomicU64::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU64.html#method.from_ptr) - [
AtomicUsize::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.from_ptr) - [
AtomicI8::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI8.html#method.from_ptr) - [
AtomicI16::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI16.html#method.from_ptr) - [
AtomicI32::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI32.html#method.from_ptr) - [
AtomicI64::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI64.html#method.from_ptr) - [
AtomicIsize::from_ptr
] (https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicIsize.html#method.from_ptr) - [
<ptr>::is_null
] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_null-1) - [
<ptr>::as_ref
] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.as_ref-1) - [
<ptr>::as_mut
] (https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.as_mut) - [
Pin::new
] (https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.new) - [
Pin::new_unchecked
] (https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.new_unchecked) - [
Pin::get_ref
] (https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_ref) - [
Pin::into_ref
] (https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.into_ref) - [
Pin::get_mut
] (https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_mut) - [
Pin::get_unchecked_mut
] (https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_unchecked_mut) - [
Pin::static_ref
] (https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.static_ref) - [
Pin::static_mut
] (https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.static_mut)
Cargo
- [Stabilize MSRV-aware resolver config] (rust-lang/cargo#14639)
- [Stabilize resolver v3] (rust-lang/cargo#14754)
Rustdoc
- [rustdoc-search: improve type-driven search] (rust-lang/rust#127589)
Compatibility Notes
- [Enable by default the
LSX
target feature for LoongArch Linux targets] (rust-lang/rust#132140) - The unstable
-Zprofile
flag ("gcov-style" coverage instrumentation) has been removed. This does not affect the stable flags for coverage instrumentation (-Cinstrument-coverage
) and profile-guided optimization (-Cprofile-generate
,-Cprofile-use
), which are unrelated and remain available. - Support for the target named
wasm32-wasi
has been removed as the target is now namedwasm32-wasip1
. This completes the [transition] (rust-lang/compiler-team#607) plan for this target following [the introduction ofwasm32-wasip1
] (rust-lang/rust#120468) in Rust 1.78. Compiler warnings on [use ofwasm32-wasi
] (rust-lang/rust#126662) introduced in Rust 1.81 are now gone as well as the target is removed. - [The syntax
&pin (mut|const) T
is now parsed as a type which in theory could affect macro expansion results in some edge cases] (rust-lang/rust#130635 (comment)) - [Legacy syntax for calling
std::arch
functions is no longer permitted to declare items or bodies (such as closures, inline consts, or async blocks).] (rust-lang/rust#130443 (comment)) - The
wasm32-unknown-emscripten
target's binary release of the standard library is now [built with the latest emsdk 3.1.68] (rust-lang/rust#131533), which fixes an ABI-incompatibility with Emscripten >= 3.1.42. If you are locally using a version of emsdk with an incompatible ABI (e.g. before 3.1.42 or a future one), you should build your code with-Zbuild-std
to ensure thatstd
uses the correct ABI. - [Declaring functions with a calling convention not supported on the current target now triggers a hard error] (rust-lang/rust#129935)
- [The next-generation trait solver is now enabled for coherence, fixing multiple soundness issues] (rust-lang/rust#130654)
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request
This MR contains the following updates:
Package | Update | Change |
---|---|---|
rust | patch | 1.84.0 -> 1.84.1 |
MR created with the help of el-capitano/tools/renovate-bot.
Proposed changes to behavior should be submitted there as MRs.
Release Notes
rust-lang/rust (rust)
v1.84.1
==========================
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 MR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this MR and you won't be reminded about this update again.
- If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this pull request