Skip to content

Merge subtree update for toolchain nightly-2025-08-14 #461

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 and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 10,000 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
4701dec
Embed auxv files directly into the test binary
Kobzol Jul 18, 2025
16f86fa
Auto merge of #144249 - GuillaumeGomez:asm-tests, r=jieyouxu
bors Jul 22, 2025
6ff81cb
document assumptions about `Clone` and `Eq` traits
gewitternacht Jul 22, 2025
bd578ab
remove trailing whitespace
gewitternacht Jul 22, 2025
b57d8af
add links to collections
gewitternacht Jul 22, 2025
56248ea
std: net: uefi: Add support to query connection data
Ayush1325 Jul 12, 2025
33057d9
atomicrmw on pointers: move integer-pointer cast hacks into backend
RalfJung Jul 19, 2025
9707e30
remove unused deps
klensy Jul 23, 2025
81388a1
bump serde_with. Weird that it works without std feature, but
klensy Jul 23, 2025
78c4cdc
ci: Add native PowerPC64LE and s390x jobs
tgross35 Jul 23, 2025
bd9c133
Auto merge of #143412 - Kobzol:std-detect-in-stdlib, r=Amanieu
bors Jul 23, 2025
7713fee
Hint that choose_pivot returns index in bounds
kornelski Jul 22, 2025
a941c71
Disable non_exhaustive_omitted_patterns within matches! macro
jplatte Jul 22, 2025
8ff3ac7
Add regression test for matches! + non_exhaustive_omitted_patterns lint
jplatte Jul 23, 2025
36c599b
Prepare for merging from rust-lang/rust
Kobzol Jul 23, 2025
70f0397
Merge ref '5a30e4307f05' from rust-lang/rust
Kobzol Jul 23, 2025
45cd70c
Reformat code
Kobzol Jul 23, 2025
24c0319
Rollup merge of #144234 - roblabla:fix-win7-tls-dtors, r=ChrisDenton
matthiaskrgr Jul 23, 2025
8bd86f3
coretests/num: use ldexp instead of hard-coding a power of 2
RalfJung Jul 21, 2025
17bb12c
Update `dlmalloc` dependency of libstd
alexcrichton Jul 23, 2025
6179b3d
Document (internally) that `Range*<&T> as RangeBounds<T>` impls are i…
zachs18 Jul 19, 2025
734df41
add Rev::into_inner
Qelxiros Jul 22, 2025
39682bd
ci: Update to the latest ubuntu:25.04 Docker images
tgross35 Jul 24, 2025
a3ffa54
symcheck: Switch the `object` dependency from git to crates.io
tgross35 Jul 24, 2025
6cae02d
ci: Use a mirror for musl
tgross35 Jul 24, 2025
f241071
Disable unit tests for stdlib packages that don't contain any
bjorn3 Jul 24, 2025
45808db
ci: Upgrade ubuntu:25.04 for the PowerPC64LE test
tgross35 Jul 24, 2025
c594083
Enable tests that were skipped on PowerPC
tgross35 Jul 24, 2025
989346d
Add non-temporal note for maskmoveu_si128
197g Jul 24, 2025
18ad7a0
std_detect testing improvements
bjorn3 Jul 24, 2025
ceb53ef
Rollup merge of #143838 - Ayush1325:uefi-tcp4-config-data, r=tgross35
fmease Jul 24, 2025
7c11905
Rollup merge of #144247 - RalfJung:ldexp, r=tgross35
fmease Jul 24, 2025
36fd554
Rollup merge of #144278 - Qelxiros:rev-into-inner, r=tgross35
fmease Jul 24, 2025
811270d
Enable tests that were skipped on aarch64
tgross35 Jul 24, 2025
ed21453
Enable skipped `f32` and `f64` multiplication tests
tgross35 Jul 24, 2025
63b19ab
Use `x86_no_sse` configuration in more places
tgross35 Jul 24, 2025
d62d879
library/windows_targets: Fix macro expansion error in 'link' macro
itf Jul 24, 2025
0ff9315
loongarch: Use unified data types for SIMD intrinsics
heiher Jul 19, 2025
57ed6a5
Rollup merge of #143424 - hkBst:auto-deref, r=jhpratt
matthiaskrgr Jul 25, 2025
4591728
Rollup merge of #143970 - SunkenPotato:update_mem_copy_docs, r=scottmcm
matthiaskrgr Jul 25, 2025
987a142
Rollup merge of #144314 - kornelski:pivot-safely, r=jhpratt
matthiaskrgr Jul 25, 2025
77fa9f0
Link to Mutex poisoning docs from RwLock docs
purplesyringa Jul 25, 2025
cb5c1c8
Merge pull request #1879 from heiher/loong-simd-unified-types
folkertdev Jul 25, 2025
73a96a2
Allow ffi_unwind_calls for `arch::wasm32::throw`
purplesyringa Jul 25, 2025
596e63b
Add a list of failure conditions for poisoning
purplesyringa Jul 25, 2025
518546b
Add a note on foreign exceptions
purplesyringa Jul 25, 2025
6c93c72
Merge pull request #1863 from folkertdev/combine-rust-files
sayantn Jul 25, 2025
3aed15b
Remove `compiler-builtins-no-asm`
tgross35 Jul 25, 2025
a46e561
Remove `compiler-builtins-mangled-names`
tgross35 Jul 26, 2025
9ef4204
str: Mark unstable `round_char_boundary` feature functions as const
okaneco Jul 25, 2025
a4612e7
Improve and regularize comment placement in doc code
joshtriplett Jul 26, 2025
9a650bc
Avoid placing `// FIXME` comments inside doc code blocks
joshtriplett Jul 26, 2025
b86fc93
Add parentheses around expression arguments to `..`
joshtriplett Jul 26, 2025
c86b3c8
Avoid making the start of a doc code block conditional
joshtriplett Jul 26, 2025
b671d55
Rollup merge of #144364 - alexcrichton:update-dlmalloc, r=Mark-Simula…
tgross35 Jul 26, 2025
94e12a6
Rollup merge of #143272 - tgross35:bump-fortanix, r=jhpratt,jethrogb
tgross35 Jul 26, 2025
e332572
Rollup merge of #143859 - orlp:thread-into-raw-align, r=jhpratt
tgross35 Jul 26, 2025
50b68d9
Auto merge of #144490 - tgross35:rollup-ps0utme, r=tgross35
bors Jul 26, 2025
3da3651
Rollup merge of #144331 - jplatte:matches-allow-non_exhaustive_omitte…
matthiaskrgr Jul 26, 2025
d862f57
cargo update
invalid-email-address Jul 27, 2025
2bc409b
libm: Update for new warn-by-default clippy lints
tgross35 Jul 26, 2025
2f73282
Rollup merge of #141840 - ChrisDenton:noempty, r=ChrisDenton
jhpratt Jul 27, 2025
7fac5a8
Rollup merge of #144422 - itf:itf-patch-2-1, r=ChrisDenton
jhpratt Jul 27, 2025
7feafa5
Avoid inlining `floor` into `rem_pio2`
quaternic Jul 27, 2025
2420a48
feat: updated Argument<T> type for functional compatibility with other
madhav-madhusoodanan Jul 27, 2025
8447765
chore: handling the case where --generate-only flag is passed
madhav-madhusoodanan Jul 27, 2025
7276e52
constify with_exposed_provenance
RalfJung Jul 27, 2025
9dae249
Implement `floor` and `ceil` in assembly on `i586`
folkertdev Jul 27, 2025
6b8f80e
Remove `no-asm` gating when there is no alternative implementation
tgross35 Jul 25, 2025
f2668d2
Auto merge of #144225 - purplesyringa:unwinding-intrinsics, r=nikic
bors Jul 27, 2025
f03e04d
Rollup merge of #144471 - tgross35:compiler-builtins-asm, r=Amanieu
matthiaskrgr Jul 27, 2025
c289dd0
Auto merge of #144556 - matthiaskrgr:rollup-aayo3h5, r=matthiaskrgr
bors Jul 28, 2025
da257ec
Remove `[T]::array_chunks(_mut)`
scottmcm Jul 1, 2025
372e1f8
Rollup merge of #144072 - usamoi:docs, r=Mark-Simulacrum
matthiaskrgr Jul 28, 2025
f5bbe80
Rollup merge of #144399 - bjorn3:stdlib_tests_separate_packages, r=Ma…
matthiaskrgr Jul 28, 2025
407bf08
Rollup merge of #144472 - okaneco:char_bound, r=Mark-Simulacrum
matthiaskrgr Jul 28, 2025
5735eb9
fixed typo chunks->as_chunks
xonx4l Jul 28, 2025
aabe3f3
Add `core::mem::DropGuard`
yoshuawuyts Jul 21, 2025
809d5dd
fix `Atomic*::as_ptr` wording
usamoi Jul 28, 2025
9051548
thread name in stack overflow message
joboet Jul 26, 2025
6fa579b
Auto merge of #144524 - rust-lang:cargo_update, r=clubby789
bors Jul 28, 2025
bfe154b
Auto merge of #143289 - scottmcm:remove-array-chunks, r=jhpratt
bors Jul 29, 2025
8ed1e31
Rollup merge of #144236 - yoshuawuyts:drop-guard, r=Mark-Simulacrum
Zalathar Jul 29, 2025
1275454
Rollup merge of #144539 - RalfJung:const_with_exposed_provenance, r=o…
Zalathar Jul 29, 2025
d0acc19
Rollup merge of #144575 - xonx4l:patch-6, r=scottmcm
Zalathar Jul 29, 2025
0603f87
Rollup merge of #144582 - usamoi:docs, r=RalfJung
Zalathar Jul 29, 2025
624645d
clearer wording for `unsafe` code
gewitternacht Jul 29, 2025
80df32d
Use GitHub app for authenticating sync workflows
Kobzol Jul 29, 2025
bc77ae8
Switch to using a GH app for authenticating sync PRs
Kobzol Jul 29, 2025
bc089b3
clean up existing poison files
connortsui20 Jul 23, 2025
42d8ab4
add `nonpoison::mutex` implementation
connortsui20 Jul 23, 2025
e2f735a
reorder mutex tests
connortsui20 Jul 23, 2025
3494607
add nonpoison and poison mutex tests
connortsui20 Jul 23, 2025
7ae281e
add extra drop, panic, and unwind tests
connortsui20 Jul 29, 2025
207afb9
Rollup merge of #144022 - connortsui20:sync_nonpoison, r=tgross35
Zalathar Jul 29, 2025
84f9da4
Rollup merge of #144167 - zachs18:rangebounds-not-unsized-reason, r=t…
Zalathar Jul 29, 2025
1124ac6
Rollup merge of #144500 - joboet:thread-name-stack-overflow, r=ChrisD…
Zalathar Jul 29, 2025
038f313
Fix typo in `DropGuard` doc
lucaswerkmeister Jul 29, 2025
83cab05
LoongArch64 LSX fast-path for `str.contains(&str)`
heiher Jun 24, 2025
bc6be7b
Rollup merge of #144634 - lucaswerkmeister:patch-1, r=lqd
Zalathar Jul 29, 2025
04743f1
cleanup: Trim trailing whitespace
tgross35 Jul 29, 2025
6721eb1
ci: Simplify tests for verbatim paths
tgross35 Jul 29, 2025
8690b14
Fix Ord, Eq and Hash implementation of panic::Location
orlp Jul 26, 2025
2f8dad2
Auto merge of #144393 - heiher:str-contains-lsx, r=tgross35
bors Jul 29, 2025
a003f50
Rollup merge of #144510 - orlp:fix-location-ord, r=ibraheemdev
jhpratt Jul 29, 2025
af745a4
Auto merge of #144658 - jhpratt:rollup-jdzhz27, r=jhpratt
bors Jul 29, 2025
df69b7d
`AlignmentEnum` should just be `repr(usize)` now
scottmcm Jul 30, 2025
91c4f13
ci: Switch to strongly typed directives
tgross35 Jul 30, 2025
d7a266c
ci: Don't print output twice in `ci-util`
tgross35 Jul 30, 2025
618cdf8
ci: Commonize the way `PrInfo` is loaded from env
tgross35 Jul 30, 2025
4011c52
ci: Add a way to run `libm` tests that would otherwise be skipped
tgross35 Jul 30, 2025
62c925f
ci: Set pipefail before running ci-util
tgross35 Jul 30, 2025
b7e8940
Simplify the configuration for no-panic
tgross35 Jul 30, 2025
cb5ac93
Implement push_mut
balt-dev Jun 17, 2025
af568ee
Stabilize strict_overflow_ops
nxsaken Jul 30, 2025
1be3885
Prepare for merging from rust-lang/rust
invalid-email-address Jul 31, 2025
1bfa106
Merge ref '32e7a4b92b10' from rust-lang/rust
invalid-email-address Jul 31, 2025
f4d1221
Rollup merge of #135975 - balt-dev:master, r=tgross35
Zalathar Jul 31, 2025
6db2dc3
std_detect: Linux 6.16 support for RISC-V
a4lg Jul 31, 2025
371ea17
Make `libtest::ERROR_EXIT_CODE` const public to not redefine it in ru…
GuillaumeGomez Jul 22, 2025
feb3eae
Rollup merge of #144297 - GuillaumeGomez:ERROR_EXIT_CODE, r=Amanieu
samueltardieu Jul 31, 2025
158ca24
Rollup merge of #144721 - a4lg:riscv-hwprobe-linux-6.16, r=Amanieu
samueltardieu Jul 31, 2025
c578f21
uefi: Use slice equality rather than `memcmp`
tgross35 Jul 31, 2025
6fee60e
Use `core` via `rustc-std-workspace-core` in `library/panic*`
tgross35 Jul 30, 2025
fc7b60d
Remove `std`'s dependency on `compiler-builtins`
tgross35 Jul 30, 2025
3e21361
Rollup merge of #144683 - tgross35:builtins-via-std-workspace, r=bjor…
jhpratt Aug 1, 2025
46d7619
Constify additional Result functions
Randl Aug 1, 2025
64e8ed9
Fix safety comment for new_unchecked in niche_types
nilehmann Aug 1, 2025
b8f0f94
feat: implement `hash_map!` macro
stifskere Aug 1, 2025
d97f923
Rollup merge of #143771 - Randl:const-result, r=tgross35
samueltardieu Aug 2, 2025
d71da41
Rollup merge of #144185 - purplesyringa:poisoning-wording, r=Amanieu
samueltardieu Aug 2, 2025
50d1f58
Rollup merge of #144478 - joshtriplett:doc-code-formatting-prep, r=Am…
samueltardieu Aug 2, 2025
d52b3bb
Rollup merge of #144797 - nilehmann:safety-comment-niche, r=Noratrieb
samueltardieu Aug 2, 2025
17bec4c
use gcc 15 as the linker on loongarch
folkertdev Aug 2, 2025
b228233
Change visibility of Args new function
chotchki Aug 2, 2025
b2b9d3e
cargo update
invalid-email-address Aug 3, 2025
cde9c62
feat: Added another variant of the Constraint enum
madhav-madhusoodanan Aug 2, 2025
090949b
Merge pull request #1889 from rust-lang/rustc-pull
folkertdev Aug 3, 2025
e5f3f9c
rename rust_panic_without_hook
Kivooeo Aug 3, 2025
90bd755
removed gate
Kivooeo Aug 3, 2025
61c3e07
remove rust_ prefixes
Kivooeo Aug 3, 2025
f470dd4
Use `as_array` in PartialEq for arrays
scottmcm Aug 3, 2025
2b47c30
Rollup merge of #144070 - stifskere:feat/macros/hash_map, r=Noratrieb
samueltardieu Aug 3, 2025
21e872c
Rollup merge of #144843 - rust-lang:cargo_update, r=clubby789
samueltardieu Aug 3, 2025
2b97240
fix broken doc section link in `poison.rs`
connortsui20 Aug 3, 2025
ed3c994
add poisoning documentation to `LazyCell`
connortsui20 Aug 3, 2025
d194960
add poisoning documentation to `LazyLock`
connortsui20 Aug 3, 2025
2be5456
Rollup merge of #142205 - paolobarbolini:const_swap_with_slice-impl, …
Zalathar Aug 4, 2025
bf1b45a
Rollup merge of #144188 - joshtriplett:available-parallelism, r=Mark-…
Zalathar Aug 4, 2025
a3c6369
Rollup merge of #144667 - scottmcm:alignment-is-usize, r=tgross35
Zalathar Aug 4, 2025
4ed226c
Rollup merge of #144853 - Kivooeo:rust_-cleanup, r=Mark-Simulacrum
Zalathar Aug 4, 2025
f3058cb
remove feature gate
Kivooeo Aug 4, 2025
6a85584
remove begin prefix
Kivooeo Aug 4, 2025
db0afc5
Add new `test::print_merged_doctests_times` used by rustdoc to displa…
GuillaumeGomez Aug 4, 2025
2b1046a
std: sys: io: io_slice: Add UEFI types
Ayush1325 Jul 20, 2025
4f5ed30
Correct the use of `must_use` on btree::IterMut
JonathanBrouwer Aug 4, 2025
6683196
Rollup merge of #144852 - Kivooeo:rename-panic, r=m-ou-se
samueltardieu Aug 5, 2025
f555834
Rollup merge of #144867 - scottmcm:more-as-array, r=chenyukang
samueltardieu Aug 5, 2025
7112d06
Rollup merge of #144872 - connortsui20:once-poison-docs, r=Amanieu
samueltardieu Aug 5, 2025
ff24035
feat: cleaned the IntrinsicType struct and associated functions.
madhav-madhusoodanan Aug 5, 2025
5fbf176
chore: moved chunk_info to `common` and code cleanup
madhav-madhusoodanan Aug 5, 2025
c579bca
Merge pull request #1895 from madhav-madhusoodanan/intrinsic-test-int…
folkertdev Aug 5, 2025
a73145d
use `IntoIterator` for the `add_flags` methods
folkertdev Aug 5, 2025
98d7628
compiler-builtins: plumb LSE support for aarch64 on linux
pmur Aug 4, 2025
00a2512
Dynamically enable LSE for aarch64 rust provided intrinsics
pmur Jul 31, 2025
c00829b
Renamed `isolate_most_least_significant_one` functions
okaneco Aug 5, 2025
7fdeeea
add code example showing that file_prefix treats dotfiles as the name…
the8472 Aug 5, 2025
1430379
configure: Use `CARGO_CFG_*_{F16,F128}` rather than invoking rustc
tgross35 Aug 5, 2025
39e1791
`File::set_times`: Remove `write(true)` from the example so it works …
joshtriplett Aug 5, 2025
3092f12
`File::set_times`: Add documentation about setting directory timestamps
joshtriplett Aug 5, 2025
aae162a
Fix some doc links for intrinsics
ehuss Aug 6, 2025
ba07f05
replace version placeholder
BoxyUwU Aug 4, 2025
6ee95c9
Rollup merge of #144836 - chotchki:patch-1, r=tgross35
Kobzol Aug 6, 2025
9593fbf
Rollup merge of #144926 - JonathanBrouwer:fix-mustuse, r=cuviper
Kobzol Aug 6, 2025
2bc6d5e
Rollup merge of #144971 - okaneco:rename_isolate_ones, r=joshtriplett
Kobzol Aug 6, 2025
4ff8a80
Rollup merge of #144978 - ehuss:intrinsic-doc-links, r=scottmcm
Kobzol Aug 6, 2025
1186a72
Change stdlib float tests to account for miri nondet floats.
LorrensP-2158466 Jul 13, 2025
9f5da6e
tidy
BoxyUwU Aug 6, 2025
faa7ded
Reword documentation for `set_times` to clarify directory handling
joshtriplett Aug 6, 2025
7a5c36a
Rollup merge of #144861 - Kivooeo:payload-as-str-stabilization, r=Chr…
GuillaumeGomez Aug 6, 2025
3660653
Rollup merge of #144972 - the8472:file-prefix-docs, r=joshtriplett
GuillaumeGomez Aug 6, 2025
fe21658
Rollup merge of #144975 - joshtriplett:file-times-dir, r=jhpratt
GuillaumeGomez Aug 6, 2025
b2b2255
Optimize `char::is_alphanumeric`
Kmeakin Aug 6, 2025
36bf865
Print thread ID in panic message if thread name is unknown
tgross35 Sep 11, 2023
860d702
Auto merge of #115746 - tgross35:unnamed-threads-panic-message, r=cuv…
bors Aug 7, 2025
2558253
Rollup merge of #138689 - jedbrown:jed/nvptx-target-feature, r=ZuseZ4
Zalathar Aug 7, 2025
97979ee
Rollup merge of #140267 - jogru0:control_flow, r=dtolnay
Zalathar Aug 7, 2025
0fe2dd8
Rollup merge of #143906 - LorrensP-2158466:miri-float-nondet-foreign-…
Zalathar Aug 7, 2025
ed1cd33
Rollup merge of #144133 - oli-obk:stabilize-const-type-id, r=lcnr
Zalathar Aug 7, 2025
a43ec7e
Rollup merge of #144682 - nxsaken:strict_overflow_ops, r=Mark-Simulacrum
Zalathar Aug 7, 2025
9224939
Auto merge of #144997 - BoxyUwU:bootstrap_bump, r=Mark-Simulacrum
bors Aug 7, 2025
4874ec9
doc(library): Fix Markdown in `Iterator::by_ref`.
Hywan Aug 7, 2025
71cf0ae
Fix doc comment of File::try_lock and File::try_lock_shared
ulrichstark Aug 7, 2025
ceef639
Auto merge of #145043 - Zalathar:rollup-3dbvdrm, r=Zalathar
bors Aug 7, 2025
c6a0d02
Clean up some resolved test regressions of const trait removals in std
ShoyuVanilla Aug 7, 2025
9e09de0
Rollup merge of #144705 - pmur:murp/aarch64-lse, r=Amanieu
tgross35 Aug 8, 2025
b6e924e
Rollup merge of #144900 - Kivooeo:unsigned_signed_diff-stabilize, r=d…
tgross35 Aug 8, 2025
65edbc5
Rollup merge of #144903 - Kivooeo:panic_handler-is-not-begin, r=m-ou-se
tgross35 Aug 8, 2025
f44acd9
Rollup merge of #144974 - tgross35:update-builtins, r=tgross35
tgross35 Aug 8, 2025
e817695
Rollup merge of #145045 - Hywan:doc-library-iterator-by_ref, r=Guilla…
tgross35 Aug 8, 2025
e3a4f68
Rollup merge of #145046 - ulrichstark:master, r=tgross35
tgross35 Aug 8, 2025
055d635
Consolidate abs tests
rocurley Jul 14, 2025
145a843
Consolidate signum tests
rocurley Jul 14, 2025
fddae8c
Consolidate is_positive tests
rocurley Jul 14, 2025
a4e4853
Consolidate is_sign_negative tests
rocurley Aug 4, 2025
f73dda0
Consolidate test_next_up
rocurley Aug 4, 2025
f5bf51f
Consolidate test_next_down
rocurley Aug 4, 2025
2f54d34
Consolidate sqrt_domain tests
rocurley Aug 4, 2025
8ff9549
Consolidate clamp tests
rocurley Aug 4, 2025
5cd1589
Consolidate total_cmp tests
rocurley Aug 4, 2025
d05c57a
Hoist zero and one out into TestableFloat
rocurley Aug 8, 2025
fc870c1
Rollup merge of #144909 - GuillaumeGomez:extend-libtest-for-merged-do…
Zalathar Aug 8, 2025
7d15d80
Rollup merge of #145042 - heiher:stdarch-push, r=folkertdev
Zalathar Aug 8, 2025
420e225
Rollup merge of #145057 - ShoyuVanilla:const-trait-tests-cleanup, r=p…
Zalathar Aug 8, 2025
a71ec16
Auto merge of #145077 - Zalathar:rollup-0k4194x, r=Zalathar
bors Aug 8, 2025
98f973a
Fix wasm target build with atomics feature
Spxg Aug 8, 2025
89362ca
Revert "Rollup merge of #143906 - LorrensP-2158466:miri-float-nondet-…
Kobzol Aug 8, 2025
3e84ba2
Rollup merge of #144192 - RalfJung:atomicrmw-ptr, r=nikic
tgross35 Aug 8, 2025
7b8e489
Auto merge of #145126 - tgross35:rollup-6w87usd, r=tgross35
bors Aug 8, 2025
b5ac431
Rollup merge of #144923 - rocurley:float_tests_refactor_3, r=tgross35
Zalathar Aug 9, 2025
36871ff
Rollup merge of #145027 - Kmeakin:km/optimize-char-is-alphanumeric, r…
Zalathar Aug 9, 2025
f82e30c
Rollup merge of #145096 - Spxg:w/wasm_atomic, r=tgross35
Zalathar Aug 9, 2025
d451ec1
Replace unsafe function with safe alternative
ChrisDenton Aug 9, 2025
e06e0ed
Stabilize feature
Kivooeo Aug 8, 2025
29c83f4
`{BTree,Hash}Map`: add "`Entry` API" section heading
ada4a Aug 9, 2025
0cf20bd
`HashMap`: also add "Usage with custom key types" heading
ada4a Aug 9, 2025
b61bc0d
Let forward_ref_* macros accept multiple attributes, and require attr…
clarfonthey Jul 14, 2025
5235f7a
Constify remaining operators
clarfonthey Jul 15, 2025
e6bca6d
Rollup merge of #145135 - Kivooeo:stabilize-duration_constructors_lit…
Zalathar Aug 10, 2025
7029f55
Rollup merge of #145162 - ada4a:hash_and_btree_map-add-entry-section,…
Zalathar Aug 10, 2025
59ee82e
Rollup merge of #145150 - ChrisDenton:inherit, r=Mark-Simulacrum
jhpratt Aug 10, 2025
44db1e4
Remove unnecessary parentheses in `assert!`s
estebank Aug 10, 2025
d88aefd
mention `Hash` and `Ord`; refine description of `derive`
gewitternacht Aug 10, 2025
f2e76f8
Rollup merge of #143949 - clarfonthey:const-arith-ops, r=Amanieu
Zalathar Aug 11, 2025
1f8bb9f
Rollup merge of #144330 - gewitternacht:document-clone-eq, r=Amanieu
Zalathar Aug 11, 2025
893580e
Rollup merge of #144350 - Ayush1325:uefi-io, r=tgross35,nicholasbishop
Zalathar Aug 11, 2025
bfb736f
Rollup merge of #145228 - estebank:unnecessary-parens, r=joshtriplett
Zalathar Aug 11, 2025
2bf3644
std: sys: pal: uefi: Overhaul Time
Ayush1325 Apr 14, 2025
e6fd5d5
std: sys: pal: uefi: tests: Add systemtime tests
Ayush1325 May 24, 2025
ad58f8c
Make explicit guarantees about `Vec`’s allocator
SabrinaJewson Aug 11, 2025
6a1fb51
Respond to review comments
SabrinaJewson Aug 11, 2025
5b128ea
Handle the `capacity == 0` case
SabrinaJewson Aug 12, 2025
70be52f
fix typo
ada4a Aug 12, 2025
c598835
Rollup merge of #145260 - SabrinaJewson:vec-allocator-docs, r=dtolnay
Zalathar Aug 12, 2025
aad53ec
Rollup merge of #145292 - ada4a:patch-2, r=tgross35
Zalathar Aug 12, 2025
7ed2299
Merge branch 'subtree/library'
Aug 14, 2025
d20a24a
Update toolchain to 2025-08-14
Aug 14, 2025
0c849c7
Update Kani version to 9a0270daec940c0a9bcebffbdaada1fcfaa294f7
Aug 14, 2025
4d1388a
Disable get_unchecked_mut contract and harness
tautschnig Aug 18, 2025
a553a56
Add -Z stubbing
tautschnig Aug 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions library/alloc/src/collections/btree/map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,8 @@ pub(super) const MIN_LEN: usize = node::MIN_LEN_AFTER_SPLIT;
/// ]);
/// ```
///
/// ## `Entry` API
///
/// `BTreeMap` implements an [`Entry API`], which allows for complex
/// methods of getting, setting, updating and removing keys and their values:
///
Expand Down
16 changes: 8 additions & 8 deletions library/alloc/src/ffi/c_str.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1099,7 +1099,7 @@ impl From<&CStr> for CString {
}
}

#[stable(feature = "c_string_eq_c_str", since = "CURRENT_RUSTC_VERSION")]
#[stable(feature = "c_string_eq_c_str", since = "1.90.0")]
impl PartialEq<CStr> for CString {
#[inline]
fn eq(&self, other: &CStr) -> bool {
Expand All @@ -1112,7 +1112,7 @@ impl PartialEq<CStr> for CString {
}
}

#[stable(feature = "c_string_eq_c_str", since = "CURRENT_RUSTC_VERSION")]
#[stable(feature = "c_string_eq_c_str", since = "1.90.0")]
impl PartialEq<&CStr> for CString {
#[inline]
fn eq(&self, other: &&CStr) -> bool {
Expand All @@ -1126,7 +1126,7 @@ impl PartialEq<&CStr> for CString {
}

#[cfg(not(no_global_oom_handling))]
#[stable(feature = "c_string_eq_c_str", since = "CURRENT_RUSTC_VERSION")]
#[stable(feature = "c_string_eq_c_str", since = "1.90.0")]
impl PartialEq<Cow<'_, CStr>> for CString {
#[inline]
fn eq(&self, other: &Cow<'_, CStr>) -> bool {
Expand Down Expand Up @@ -1221,7 +1221,7 @@ impl CStr {
}
}

#[stable(feature = "c_string_eq_c_str", since = "CURRENT_RUSTC_VERSION")]
#[stable(feature = "c_string_eq_c_str", since = "1.90.0")]
impl PartialEq<CString> for CStr {
#[inline]
fn eq(&self, other: &CString) -> bool {
Expand All @@ -1235,7 +1235,7 @@ impl PartialEq<CString> for CStr {
}

#[cfg(not(no_global_oom_handling))]
#[stable(feature = "c_string_eq_c_str", since = "CURRENT_RUSTC_VERSION")]
#[stable(feature = "c_string_eq_c_str", since = "1.90.0")]
impl PartialEq<Cow<'_, Self>> for CStr {
#[inline]
fn eq(&self, other: &Cow<'_, Self>) -> bool {
Expand All @@ -1249,7 +1249,7 @@ impl PartialEq<Cow<'_, Self>> for CStr {
}

#[cfg(not(no_global_oom_handling))]
#[stable(feature = "c_string_eq_c_str", since = "CURRENT_RUSTC_VERSION")]
#[stable(feature = "c_string_eq_c_str", since = "1.90.0")]
impl PartialEq<CStr> for Cow<'_, CStr> {
#[inline]
fn eq(&self, other: &CStr) -> bool {
Expand All @@ -1263,7 +1263,7 @@ impl PartialEq<CStr> for Cow<'_, CStr> {
}

#[cfg(not(no_global_oom_handling))]
#[stable(feature = "c_string_eq_c_str", since = "CURRENT_RUSTC_VERSION")]
#[stable(feature = "c_string_eq_c_str", since = "1.90.0")]
impl PartialEq<&CStr> for Cow<'_, CStr> {
#[inline]
fn eq(&self, other: &&CStr) -> bool {
Expand All @@ -1277,7 +1277,7 @@ impl PartialEq<&CStr> for Cow<'_, CStr> {
}

#[cfg(not(no_global_oom_handling))]
#[stable(feature = "c_string_eq_c_str", since = "CURRENT_RUSTC_VERSION")]
#[stable(feature = "c_string_eq_c_str", since = "1.90.0")]
impl PartialEq<CString> for Cow<'_, CStr> {
#[inline]
fn eq(&self, other: &CString) -> bool {
Expand Down
72 changes: 61 additions & 11 deletions library/alloc/src/vec/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,27 @@
//! v[1] = v[1] + 5;
//! ```
//!
//! # Memory layout
//!
//! When the type is non-zero-sized and the capacity is nonzero, [`Vec`] uses the [`Global`]
//! allocator for its allocation. It is valid to convert both ways between such a [`Vec`] and a raw
//! pointer allocated with the [`Global`] allocator, provided that the [`Layout`] used with the
//! allocator is correct for a sequence of `capacity` elements of the type, and the first `len`
//! values pointed to by the raw pointer are valid. More precisely, a `ptr: *mut T` that has been
//! allocated with the [`Global`] allocator with [`Layout::array::<T>(capacity)`][Layout::array] may
//! be converted into a vec using
//! [`Vec::<T>::from_raw_parts(ptr, len, capacity)`](Vec::from_raw_parts). Conversely, the memory
//! backing a `value: *mut T` obtained from [`Vec::<T>::as_mut_ptr`] may be deallocated using the
//! [`Global`] allocator with the same layout.
//!
//! For zero-sized types (ZSTs), or when the capacity is zero, the `Vec` pointer must be non-null
//! and sufficiently aligned. The recommended way to build a `Vec` of ZSTs if [`vec!`] cannot be
//! used is to use [`ptr::NonNull::dangling`].
//!
//! [`push`]: Vec::push
//! [`ptr::NonNull::dangling`]: NonNull::dangling
//! [`Layout`]: crate::alloc::Layout
//! [Layout::array]: crate::alloc::Layout::array

#![stable(feature = "rust1", since = "1.0.0")]

Expand Down Expand Up @@ -523,18 +543,23 @@ impl<T> Vec<T> {
/// This is highly unsafe, due to the number of invariants that aren't
/// checked:
///
/// * `ptr` must have been allocated using the global allocator, such as via
/// the [`alloc::alloc`] function.
/// * `T` needs to have the same alignment as what `ptr` was allocated with.
/// * If `T` is not a zero-sized type and the capacity is nonzero, `ptr` must have
/// been allocated using the global allocator, such as via the [`alloc::alloc`]
/// function. If `T` is a zero-sized type or the capacity is zero, `ptr` need
/// only be non-null and aligned.
/// * `T` needs to have the same alignment as what `ptr` was allocated with,
/// if the pointer is required to be allocated.
/// (`T` having a less strict alignment is not sufficient, the alignment really
/// needs to be equal to satisfy the [`dealloc`] requirement that memory must be
/// allocated and deallocated with the same layout.)
/// * The size of `T` times the `capacity` (ie. the allocated size in bytes) needs
/// to be the same size as the pointer was allocated with. (Because similar to
/// alignment, [`dealloc`] must be called with the same layout `size`.)
/// * The size of `T` times the `capacity` (ie. the allocated size in bytes), if
/// nonzero, needs to be the same size as the pointer was allocated with.
/// (Because similar to alignment, [`dealloc`] must be called with the same
/// layout `size`.)
/// * `length` needs to be less than or equal to `capacity`.
/// * The first `length` values must be properly initialized values of type `T`.
/// * `capacity` needs to be the capacity that the pointer was allocated with.
/// * `capacity` needs to be the capacity that the pointer was allocated with,
/// if the pointer is required to be allocated.
/// * The allocated size in bytes must be no larger than `isize::MAX`.
/// See the safety documentation of [`pointer::offset`].
///
Expand Down Expand Up @@ -770,12 +795,16 @@ impl<T> Vec<T> {
/// order as the arguments to [`from_raw_parts`].
///
/// After calling this function, the caller is responsible for the
/// memory previously managed by the `Vec`. The only way to do
/// this is to convert the raw pointer, length, and capacity back
/// into a `Vec` with the [`from_raw_parts`] function, allowing
/// the destructor to perform the cleanup.
/// memory previously managed by the `Vec`. Most often, one does
/// this by converting the raw pointer, length, and capacity back
/// into a `Vec` with the [`from_raw_parts`] function; more generally,
/// if `T` is non-zero-sized and the capacity is nonzero, one may use
/// any method that calls [`dealloc`] with a layout of
/// `Layout::array::<T>(capacity)`; if `T` is zero-sized or the
/// capacity is zero, nothing needs to be done.
///
/// [`from_raw_parts`]: Vec::from_raw_parts
/// [`dealloc`]: crate::alloc::GlobalAlloc::dealloc
///
/// # Examples
///
Expand Down Expand Up @@ -1755,6 +1784,12 @@ impl<T, A: Allocator> Vec<T, A> {
/// may still invalidate this pointer.
/// See the second example below for how this guarantee can be used.
///
/// The method also guarantees that, as long as `T` is not zero-sized and the capacity is
/// nonzero, the pointer may be passed into [`dealloc`] with a layout of
/// `Layout::array::<T>(capacity)` in order to deallocate the backing memory. If this is done,
/// be careful not to run the destructor of the `Vec`, as dropping it will result in
/// double-frees. Wrapping the `Vec` in a [`ManuallyDrop`] is the typical way to achieve this.
///
/// # Examples
///
/// ```
Expand Down Expand Up @@ -1787,9 +1822,24 @@ impl<T, A: Allocator> Vec<T, A> {
/// }
/// ```
///
/// Deallocating a vector using [`Box`] (which uses [`dealloc`] internally):
///
/// ```
/// use std::mem::{ManuallyDrop, MaybeUninit};
///
/// let mut v = ManuallyDrop::new(vec![0, 1, 2]);
/// let ptr = v.as_mut_ptr();
/// let capacity = v.capacity();
/// let slice_ptr: *mut [MaybeUninit<i32>] =
/// std::ptr::slice_from_raw_parts_mut(ptr.cast(), capacity);
/// drop(unsafe { Box::from_raw(slice_ptr) });
/// ```
///
/// [`as_mut_ptr`]: Vec::as_mut_ptr
/// [`as_ptr`]: Vec::as_ptr
/// [`as_non_null`]: Vec::as_non_null
/// [`dealloc`]: crate::alloc::GlobalAlloc::dealloc
/// [`ManuallyDrop`]: core::mem::ManuallyDrop
#[stable(feature = "vec_as_ptr", since = "1.37.0")]
#[rustc_const_stable(feature = "const_vec_string_slice", since = "1.87.0")]
#[rustc_never_returns_null_ptr]
Expand Down
38 changes: 29 additions & 9 deletions library/compiler-builtins/.github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ jobs:
- name: Fetch pull request ref
run: git fetch origin "$GITHUB_REF:$GITHUB_REF"
if: github.event_name == 'pull_request'
- run: python3 ci/ci-util.py generate-matrix >> "$GITHUB_OUTPUT"
- run: |
set -eo pipefail # Needed to actually fail the job if ci-util fails
python3 ci/ci-util.py generate-matrix | tee "$GITHUB_OUTPUT"
id: script

test:
Expand All @@ -50,7 +52,6 @@ jobs:
os: ubuntu-24.04-arm
- target: aarch64-pc-windows-msvc
os: windows-2025
test_verbatim: 1
build_only: 1
- target: arm-unknown-linux-gnueabi
os: ubuntu-24.04
Expand All @@ -70,8 +71,12 @@ jobs:
os: ubuntu-24.04
- target: powerpc64le-unknown-linux-gnu
os: ubuntu-24.04
- target: powerpc64le-unknown-linux-gnu
os: ubuntu-24.04-ppc64le
- target: riscv64gc-unknown-linux-gnu
os: ubuntu-24.04
- target: s390x-unknown-linux-gnu
os: ubuntu-24.04-s390x
- target: thumbv6m-none-eabi
os: ubuntu-24.04
- target: thumbv7em-none-eabi
Expand All @@ -88,10 +93,8 @@ jobs:
os: macos-13
- target: i686-pc-windows-msvc
os: windows-2025
test_verbatim: 1
- target: x86_64-pc-windows-msvc
os: windows-2025
test_verbatim: 1
- target: i686-pc-windows-gnu
os: windows-2025
channel: nightly-i686-gnu
Expand All @@ -102,11 +105,23 @@ jobs:
needs: [calculate_vars]
env:
BUILD_ONLY: ${{ matrix.build_only }}
TEST_VERBATIM: ${{ matrix.test_verbatim }}
MAY_SKIP_LIBM_CI: ${{ needs.calculate_vars.outputs.may_skip_libm_ci }}
steps:
- name: Print $HOME
shell: bash
run: |
set -x
echo "${HOME:-not found}"
pwd
printenv
- name: Print runner information
run: uname -a

# Native ppc and s390x runners don't have rustup by default
- name: Install rustup
if: matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x'
run: sudo apt-get update && sudo apt-get install -y rustup

- uses: actions/checkout@v4
- name: Install Rust (rustup)
shell: bash
Expand All @@ -117,7 +132,12 @@ jobs:
rustup update "$channel" --no-self-update
rustup default "$channel"
rustup target add "${{ matrix.target }}"

# Our scripts use nextest if possible. This is skipped on the native ppc
# and s390x runners since install-action doesn't support them.
- uses: taiki-e/install-action@nextest
if: "!(matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x')"

- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.target }}
Expand All @@ -144,7 +164,7 @@ jobs:
shell: bash
- run: echo "RUST_COMPILER_RT_ROOT=$(realpath ./compiler-rt)" >> "$GITHUB_ENV"
shell: bash

- name: Download musl source
run: ./ci/update-musl.sh
shell: bash
Expand Down Expand Up @@ -256,7 +276,7 @@ jobs:
with:
name: ${{ env.BASELINE_NAME }}
path: ${{ env.BASELINE_NAME }}.tar.xz

- name: Run wall time benchmarks
run: |
# Always use the same seed for benchmarks. Ideally we should switch to a
Expand Down Expand Up @@ -311,8 +331,8 @@ jobs:
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install stable `rustfmt`
run: rustup set profile minimal && rustup default stable && rustup component add rustfmt
- name: Install nightly `rustfmt`
run: rustup set profile minimal && rustup default nightly && rustup component add rustfmt
- run: cargo fmt -- --check

extensive:
Expand Down
5 changes: 3 additions & 2 deletions library/compiler-builtins/.github/workflows/rustc-pull.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ jobs:
if: github.repository == 'rust-lang/compiler-builtins'
uses: rust-lang/josh-sync/.github/workflows/rustc-pull.yml@main
with:
github-app-id: ${{ vars.APP_CLIENT_ID }}
# https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/compiler-builtins.20subtree.20sync.20automation/with/528482375
zulip-stream-id: 219381
zulip-topic: 'compiler-builtins subtree sync automation'
zulip-bot-email: "[email protected]"
zulip-bot-email: "[email protected]"
pr-base-branch: master
branch-name: rustc-pull
secrets:
zulip-api-token: ${{ secrets.ZULIP_API_TOKEN }}
token: ${{ secrets.GITHUB_TOKEN }}
github-app-secret: ${{ secrets.APP_PRIVATE_KEY }}
5 changes: 3 additions & 2 deletions library/compiler-builtins/builtins-shim/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ default = ["compiler-builtins"]
# implementations and also filling in unimplemented intrinsics
c = ["dep:cc"]

# Workaround for the Cranelift codegen backend. Disables any implementations
# which use inline assembly and fall back to pure Rust versions (if available).
# For implementations where there is both a generic version and a platform-
# specific version, use the generic version. This is meant to enable testing
# the generic versions on all platforms.
no-asm = []

# Workaround for codegen backends which haven't yet implemented `f16` and
Expand Down
Loading
Loading