Skip to content

Merge subtree update for toolchain nightly-2025-03-18 #20

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
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
071d976
Rollup merge of #137730 - RalfJung:checked_ilog_tests, r=tgross35
matthiaskrgr Mar 1, 2025
5506ca0
stabilize `box_uninit_write`
slanterns Mar 1, 2025
6e6d080
Rollup merge of #137809 - Noratrieb:io-error-casing, r=thomcc
matthiaskrgr Mar 1, 2025
ce33bb9
Rollup merge of #137828 - folkertdev:simd-intrinsic-doc-fixes, r=work…
matthiaskrgr Mar 1, 2025
f31b2f7
uefi: Add Service Binding Protocol abstraction
Ayush1325 Feb 23, 2025
09b7558
Update `compiler-builtins` to 0.1.150
tgross35 Feb 25, 2025
b03df54
fix `RangeBounds::is_empty` documentation
pitaj Mar 1, 2025
4c2c771
docs(std): mention LazyLock in const/static HashMap construction
karolzwolak Mar 1, 2025
9046ba2
Disable `f16` on Aarch64 without `neon`
tgross35 Mar 1, 2025
c631fa8
float: Update some constants to `pub(crate)`
tgross35 Dec 9, 2024
0963dce
dec2flt: Update documentation of existing methods
tgross35 Dec 9, 2024
18e13b5
dec2flt: Rename `Decimal` to `DecimalSeq`
tgross35 Dec 9, 2024
1e78b10
dec2flt: Rename `Number` to `Decimal`
tgross35 Dec 9, 2024
e3c1689
dec2flt: Rename fields to be consistent with documented notation
tgross35 Dec 9, 2024
a6d01b3
dec2flt: Refactor float traits
tgross35 Dec 9, 2024
c17d715
dec2flt: Refactor the fast path
tgross35 Dec 9, 2024
14a8ef1
doc: clarify that consume can be called after BufReader::peek
lolbinarycat Mar 2, 2025
5272d97
Document workings of successors more clearly
hkBst Jan 22, 2025
aa040b8
uefi: helpers: Add DevicePathNode abstractions
Ayush1325 Feb 22, 2025
1262ab4
Rollup merge of #137375 - steffahn:clarify-read_line-comment, r=Mark-…
matthiaskrgr Mar 2, 2025
d096ef5
Rollup merge of #137641 - kpreid:dealloc, r=Amanieu
matthiaskrgr Mar 2, 2025
195c766
Rollup merge of #137871 - pitaj:rangebounds-is_empty-intersect, r=sco…
matthiaskrgr Mar 2, 2025
220dacb
Rollup merge of #137873 - tgross35:disable-f16-without-neon, r=workin…
matthiaskrgr Mar 2, 2025
809ce0f
fix order on shl impl
speedy-lex Mar 3, 2025
c94967b
Rollup merge of #137054 - jhpratt:phantom-variance, r=Mark-Simulacrum
matthiaskrgr Mar 3, 2025
fc90fca
Auto merge of #137959 - matthiaskrgr:rollup-62vjvwr, r=matthiaskrgr
bors Mar 4, 2025
fbd7405
Fix some typos
fuyangpengqi Mar 4, 2025
7e45b3b
atomic: clarify that failing conditional RMW operations are not 'writes'
RalfJung Mar 4, 2025
6c41114
Fix test hangs on AIX
mustartt Mar 3, 2025
9119bf3
Added documentation for flushing
pcorwin Feb 10, 2025
ae3814d
Ensure that negative auto impls are always applicable
compiler-errors Feb 28, 2025
4a7fcd9
Rollup merge of #137634 - tgross35:update-builtins, r=tgross35
workingjubilee Mar 4, 2025
5a551b6
Rollup merge of #137829 - cramertj:stabilize-split-off, r=jhpratt
workingjubilee Mar 5, 2025
18ea575
Rollup merge of #137850 - slanterns:box_uninit_write, r=ibraheemdev
workingjubilee Mar 5, 2025
784016e
Rollup merge of #137986 - fuyangpengqi:master, r=Amanieu
workingjubilee Mar 5, 2025
87d5004
Update `compiler-builtins` to 0.1.151
tgross35 Mar 5, 2025
0f84f75
Auto merge of #138031 - workingjubilee:rollup-5bsotpz, r=workingjubilee
bors Mar 5, 2025
72e4ab9
Rollup merge of #134063 - tgross35:dec2flt-refactoring, r=Noratrieb
jieyouxu Mar 5, 2025
f21f527
Rollup merge of #136662 - thaliaarchi:formatter-pad-char-count, r=m-o…
jieyouxu Mar 5, 2025
2053ad7
Rollup merge of #136798 - pcorwin:master, r=tgross35
jieyouxu Mar 5, 2025
ba1aa35
Rollup merge of #137240 - jieyouxu:remove_dir_all, r=Mark-Simulacrum
jieyouxu Mar 5, 2025
abb02d0
Rollup merge of #137463 - sunshowers:illumos-posix-spawn, r=Mark-Simu…
jieyouxu Mar 5, 2025
8d85869
Rollup merge of #137477 - Ayush1325:uefi-service-binding, r=Noratrieb
jieyouxu Mar 5, 2025
30cbf2b
Rollup merge of #137569 - aDotInTheVoid:for-iurii, r=ibraheemdev
jieyouxu Mar 5, 2025
49fc029
Rollup merge of #137679 - bjorn3:coretests_improvements, r=jieyouxu,o…
jieyouxu Mar 5, 2025
bb10e81
Rollup merge of #137728 - Darksonn:no-tuple-unsize, r=oli-obk
jieyouxu Mar 5, 2025
c05e8e7
Make `is_le` and friends work like clang's
scottmcm Mar 2, 2025
65914ce
Remove the `Option` part of range ends in the HIR
oli-obk Feb 5, 2025
053197e
Stabilize `const_copy_from_slice` feature
okaneco Mar 6, 2025
09eff08
Fix broken link to Miri intrinsics in documentation
reddevilmidzy Mar 6, 2025
f0cd1b9
Rollup merge of #135895 - hkBst:patch-15, r=joboet
compiler-errors Mar 6, 2025
75b3a4c
Rollup merge of #136922 - oli-obk:pattern-types-option-ends, r=BoxyUwU
compiler-errors Mar 6, 2025
7279a4a
Rollup merge of #137327 - arlosi:home-dir, r=Mark-Simulacrum
compiler-errors Mar 6, 2025
88a93b3
Rollup merge of #137764 - compiler-errors:always-applicable-negative-…
compiler-errors Mar 6, 2025
60d296a
Rollup merge of #137772 - thaliaarchi:bstr-display, r=joshtriplett
compiler-errors Mar 6, 2025
a3cd875
Rollup merge of #137808 - jswrenn:droppy-unsafe-fields, r=nnethercote
compiler-errors Mar 6, 2025
e2b4056
Rollup merge of #138038 - tgross35:update-builtins, r=tgross35
compiler-errors Mar 6, 2025
17d426f
Update stdarch
ehuss Feb 10, 2025
168b9ce
Rollup merge of #138105 - reddevilmidzy:fix-broken-link, r=saethlin
compiler-errors Mar 6, 2025
d05912e
Add UseCloned trait related code
spastorino Dec 11, 2024
4e10427
Add examples in stdlib demonstrating the use syntax
spastorino Feb 24, 2025
64dedc1
Add allow(incomplete_features) to alloc
spastorino Mar 6, 2025
01ab9ca
Remove #[cfg(not(test))] gates in core
thaliaarchi Mar 6, 2025
0b2d34d
stabilize const_char_classify
RalfJung Mar 6, 2025
be21da0
stabilize const_sockaddr_setters
RalfJung Mar 6, 2025
ace5e0f
Auto merge of #138114 - compiler-errors:rollup-7xr4b69, r=compiler-er…
bors Mar 6, 2025
83d396c
Auto merge of #138127 - compiler-errors:rollup-kcarqrz, r=compiler-er…
bors Mar 7, 2025
9e34c62
library: Use size_of from the prelude instead of imported
thaliaarchi Mar 5, 2025
560a194
Use turbofish for size_of<T> and align_of<T> in docs
thaliaarchi Mar 5, 2025
bb84112
Rollup merge of #136667 - vita-rust:revert-vita-c-char, r=cuviper
matthiaskrgr Mar 7, 2025
f4bc9a1
Rollup merge of #137107 - thaliaarchi:io-optional-methods/cursors, r=…
matthiaskrgr Mar 7, 2025
b4519d1
Rollup merge of #137777 - thaliaarchi:os_string-push-str, r=joboet
matthiaskrgr Mar 7, 2025
ba4c03e
Rollup merge of #137832 - wgwoods:fix-bufreader-peek, r=joboet
matthiaskrgr Mar 7, 2025
04830fd
Rollup merge of #137904 - scottmcm:ordering-is, r=workingjubilee
matthiaskrgr Mar 7, 2025
b68bc98
Rollup merge of #138129 - RalfJung:stabilize-const-things, r=tgross35
matthiaskrgr Mar 7, 2025
982f369
Rollup merge of #137674 - heiher:enable-f16-loong, r=tgross35
matthiaskrgr Mar 7, 2025
b615fd5
Rollup merge of #138034 - thaliaarchi:use-prelude-size-of, r=tgross35
matthiaskrgr Mar 7, 2025
dfca153
Auto merge of #138155 - matthiaskrgr:rollup-xq5buio, r=matthiaskrgr
bors Mar 7, 2025
3fae245
Windows: Use MoveFileEx by default in `fs:rename`
ChrisDenton Feb 24, 2025
bf748af
Return OutOfMemoryError and update docs
ChrisDenton Mar 6, 2025
d15d3f7
Rollup merge of #134797 - spastorino:ergonomic-ref-counting-1, r=niko…
matthiaskrgr Mar 7, 2025
cf8c29a
Move all alloc integration tests to a new alloctests crate
bjorn3 Feb 6, 2025
db8476e
Move most Rc tests to alloctests
bjorn3 Feb 6, 2025
738178b
Move last remaining Rc test to alloctests
bjorn3 Feb 6, 2025
91fe85b
Fully test the alloc crate through alloctests
bjorn3 Feb 6, 2025
22a3277
Add comments
bjorn3 Feb 13, 2025
092c7ba
Mention `env` and `option_env` macros in `std::env::var` docs
GuillaumeGomez Mar 7, 2025
4eeadd4
Rollup merge of #137606 - davidtwco:next-edition, r=traviscross,ehuss
jhpratt Mar 8, 2025
1f261ba
Rollup merge of #138000 - RalfJung:atomic-rmw, r=Amanieu
jhpratt Mar 8, 2025
2d5f3b9
Expand `CloneToUninit` documentation.
kpreid Nov 14, 2024
2be3c65
Rollup merge of #136642 - bjorn3:separate_alloctest_crate, r=cuviper
jhpratt Mar 8, 2025
3264f9d
Rollup merge of #137528 - ChrisDenton:rename-win, r=joboet
jhpratt Mar 8, 2025
9769e9f
Rollup merge of #138189 - GuillaumeGomez:env-var, r=joshtriplett
jhpratt Mar 8, 2025
2833f56
Reword documentation about SocketAddr having varying layout
clarfonthey Jan 29, 2025
a057b0d
Use `disjoint_bitor` inside `borrowing_sub`
TDecking Mar 8, 2025
dd01425
Don't link against advapi32, except on win7.
smmalis37 Mar 8, 2025
1fdabf2
Stabilize `const_vec_string_slice`
Kixunil Feb 20, 2025
7b5f82f
Move fs into sys
thaliaarchi Feb 26, 2025
f69e62a
document capacity for ZST as example and prose
hkBst Jan 30, 2025
bcd6e0a
Clarify iterator by_ref docs
hkBst Jan 24, 2025
c620ac7
expose `is_s390x_feature_detected` from `std::arch`
folkertdev Mar 9, 2025
3714bfb
Lazy load NtOpenFile for UWP
bdbai Mar 9, 2025
06ea4f4
Rollup merge of #137650 - thaliaarchi:move-fs-pal, r=Noratrieb
matthiaskrgr Mar 9, 2025
5890e4e
Rollup merge of #138228 - TDecking:master, r=jhpratt
matthiaskrgr Mar 9, 2025
2cbf270
Rollup merge of #138233 - smmalis37:no-advapi32, r=ChrisDenton
matthiaskrgr Mar 9, 2025
2077b05
Rollup merge of #138276 - bdbai:fix-uwp-ntopenfile, r=ChrisDenton
matthiaskrgr Mar 9, 2025
659e802
Update hermit-abi to 0.5.0
thaliaarchi Mar 5, 2025
d598e4b
Support File::seek for Hermit
thaliaarchi Feb 19, 2025
0b6a207
std: move stdio to `sys`
joboet Feb 9, 2025
c76e918
uefi: fs: Implement FilePermission
Ayush1325 Mar 9, 2025
0ada98e
uefi: fs: Implement FileType
Ayush1325 Mar 9, 2025
434a8f6
uefi: fs: Partially implement FileAttr
Ayush1325 Mar 9, 2025
3d3632f
Copy from userspace to MaybeUninit
Feb 28, 2025
1013428
Implement read_buf and vectored read/write for SGX stdio
thaliaarchi Feb 7, 2025
6255469
Rollup merge of #137585 - xizheyin:issue-135801, r=workingjubilee
matthiaskrgr Mar 10, 2025
c5a68b2
Rollup merge of #138074 - thaliaarchi:hermit-seek, r=ChrisDenton
matthiaskrgr Mar 10, 2025
01b5cf8
fix ptr inconsistency in Rc Arc
DiuDiu777 Mar 10, 2025
ba81c6a
fix copy typo
DiuDiu777 Mar 10, 2025
93b68c0
Disable CFI for weakly linked syscalls
1c3t3a Mar 4, 2025
b6daa44
Add comments for #[no_sanitize(cfi)] in stdlib
1c3t3a Mar 10, 2025
3670dc8
Limit formatting width and precision to 16 bits.
m-ou-se Feb 12, 2025
323a077
Update tests.
m-ou-se Feb 12, 2025
20f622c
Remove unnecessary semicolon.
m-ou-se Feb 28, 2025
24955d9
Add #[track_caller] to from_usize.
m-ou-se Feb 28, 2025
018d380
Initial STD support for Cygwin
Berrysoft Dec 26, 2024
90ee901
Fix `std::sys::unix::set_linger` for Cygwin
Mar 4, 2024
0ac7bb7
Fix building for cygwin
Berrysoft Dec 29, 2024
0604b97
Revert changes for rtstartup
Berrysoft Feb 25, 2025
ac2de6e
Fix code style
Berrysoft Feb 25, 2025
416f3ca
Remove std::os::cygwin::raw
Berrysoft Mar 7, 2025
d0083f5
Impl cygwin rand with getrandom
Berrysoft Mar 7, 2025
cc79e6d
Unify cygwin & horizon random impl
Berrysoft Mar 7, 2025
be00400
Readd os::cygwin::raw as pub(crate)
Berrysoft Mar 7, 2025
e7b4635
Use __xpg_strerror_r on cygwin
Berrysoft Mar 7, 2025
f6a7d44
Remove stack overflow handler for cygwin
Berrysoft Mar 7, 2025
675530b
add missing doc for intrinsic
DiuDiu777 Mar 10, 2025
eced97a
Apply rustc-0023-Add-Trusty-OS-support-to-Rust-std.patch
randomPoison Feb 4, 2025
2a30421
Apply rustc-0054-Add-std-os-fd-support-for-Trusty.patch
randomPoison Feb 4, 2025
a2367dc
Format after patches have been applied
randomPoison Feb 4, 2025
e844f0e
Disable unsupported tests
randomPoison Feb 4, 2025
98b889d
Remove custom TLS implementation for Trusty targets
randomPoison Feb 19, 2025
eada4bc
Update Trusty support to account for recent libstd reorganization
randomPoison Mar 10, 2025
143dcf7
Rewrite comments about dropping and leaking.
kpreid Mar 10, 2025
f521173
Remove unused file
randomPoison Mar 10, 2025
b46ae3e
Rewrite example to not deal with `Copy` at all.
kpreid Mar 10, 2025
47a68bb
Expand and organize `offset_of!` documentation.
kpreid Mar 10, 2025
8cb1b55
Move `offset_of_enum` documentation to unstable book; add `offset_of_…
kpreid Mar 11, 2025
2e6e31c
debug-assert that the size_hint is well-formed in `collect`
scottmcm Mar 11, 2025
43a303d
Target definition for `wasm32-wali-linux-musl` to support the Wasm Linux
arjunr2 Jul 2, 2024
1119688
Auto merge of #136932 - m-ou-se:fmt-width-precision-u16, r=scottmcm
bors Mar 11, 2025
a270d44
Auto merge of #135651 - arjunr2:master, r=davidtwco
bors Mar 11, 2025
a7400e8
std: Mention clone-on-write mutation in Arc<T>
xizheyin Mar 11, 2025
2ef7adc
Stabilize `std::io::ErrorKind::InvalidFilename`
GrigorenkoPV Dec 9, 2024
065a29b
Implement `#[define_opaque]` attribute for functions.
oli-obk Jul 26, 2024
889b773
Enable `f16` tests for `powf`
tgross35 Mar 11, 2025
7785159
Rollup merge of #135987 - hkBst:patch-20, r=joboet
Kobzol Mar 11, 2025
7dfdb32
Rollup merge of #137967 - mustartt:fix-aix-test-hangs, r=workingjubilee
Kobzol Mar 11, 2025
22e5fde
remove must_use from <*const T>::expose_provenance
RalfJung Mar 11, 2025
8511d9f
bump libc to 0.2.171 to fix xous
xobs Mar 11, 2025
8c0e562
Add PeekMut::refresh
HeroicKatora Mar 7, 2025
49b59df
Migrate core to Rust 2024
ehuss Feb 11, 2025
ee6b801
Migrate alloc to Rust 2024
ehuss Feb 11, 2025
a354476
Migrate panic_abort to Rust 2024
ehuss Feb 11, 2025
e41134e
Migrate panic_unwind to Rust 2024
ehuss Feb 12, 2025
b1df87f
Migrate unwind to Rust 2024
ehuss Feb 12, 2025
541f05a
Migrate std to Rust 2024
ehuss Feb 12, 2025
c90c907
Migrate test to Rust 2024
ehuss Feb 12, 2025
239af34
Migrate proc_macro to Rust 2024
ehuss Feb 12, 2025
b8e1c3e
Migrate profiler_builtins to Rust 2024
ehuss Feb 12, 2025
ab9fcb7
Migrated the rustc-std-workspace crates to Rust 2024
ehuss Feb 12, 2025
68ea0b4
Migrate the sysroot crate to Rust 2024
ehuss Feb 12, 2025
d8f103c
Migrate windows-targets to Rust 2024
ehuss Feb 12, 2025
7b2fc7c
Auto merge of #128440 - oli-obk:defines, r=lcnr
bors Mar 11, 2025
a1e7fd4
Remove unnecessary parens
randomPoison Mar 11, 2025
fbcff15
Rollup merge of #138002 - 1c3t3a:fix-std-cfi-violation, r=rcvalle
matthiaskrgr Mar 11, 2025
3a88b13
Add `From<{integer}>` for `f16`/`f128` impls
beetrees Mar 11, 2025
76976e8
Simulate OOM for the `try_oom_error` test
cuviper Mar 11, 2025
7d08159
Auto merge of #138366 - matthiaskrgr:rollup-cn16m7q, r=matthiaskrgr
bors Mar 11, 2025
6e3424a
Fix `UserRef<[T]>::copy_to_enclave_vec`
thaliaarchi Feb 26, 2025
f152d09
intrinsics: remove unnecessary leading underscore from argument names
RalfJung Mar 12, 2025
d0620fa
Rollup merge of #138161 - HeroicKatora:heap-peek-mut-refresh, r=dtolnay
matthiaskrgr Mar 12, 2025
bd67b00
Fix panic handler for cygwin
Berrysoft Mar 12, 2025
0424c57
Rollup merge of #138269 - Ayush1325:uefi-fs-permission, r=joboet
matthiaskrgr Mar 12, 2025
3e60295
Rollup merge of #138387 - RalfJung:intrinsic-arg-names, r=oli-obk
matthiaskrgr Mar 12, 2025
68f6d81
Rollup merge of #134076 - GrigorenkoPV:InvalidFilename, r=joboet
Manishearth Mar 12, 2025
673c18b
Remove `feature = "hash_raw_entry"`
cuviper Feb 26, 2025
b296531
Auto merge of #138416 - Manishearth:rollup-fejor9p, r=Manishearth
bors Mar 13, 2025
837ce42
Update library/core/src/intrinsics/mod.rs
DiuDiu777 Mar 13, 2025
71b93d0
Update library/core/src/intrinsics/mod.rs
DiuDiu777 Mar 13, 2025
4b0a0e3
Update library/core/src/intrinsics/mod.rs
DiuDiu777 Mar 13, 2025
983420c
Allow more top-down inlining for single-BB callees
scottmcm Mar 7, 2025
91d07fe
atomic intrinsics: clarify which types are supported and (if applicab…
RalfJung Mar 12, 2025
007b229
Rollup merge of #136842 - randomPoison:trusty-libstd-v3, r=ChrisDenton
matthiaskrgr Mar 13, 2025
b60598f
Rollup merge of #137355 - thaliaarchi:io-optional-methods/sgx, r=Chri…
matthiaskrgr Mar 13, 2025
5806ba3
Rollup merge of #138162 - ehuss:library-2024, r=cuviper
matthiaskrgr Mar 13, 2025
746a460
Rollup merge of #138370 - cuviper:try_oom_error, r=jhpratt
matthiaskrgr Mar 13, 2025
6a0e784
Rollup merge of #138343 - tgross35:f16-powf, r=joboet
matthiaskrgr Mar 13, 2025
48b8ba3
Rollup merge of #138356 - betrusted-io:bump-libc-0.2.171, r=jhpratt
matthiaskrgr Mar 13, 2025
3d287b4
Auto merge of #138450 - matthiaskrgr:rollup-4im25vf, r=matthiaskrgr
bors Mar 13, 2025
a1da920
Stablize feature `anonymous_pipe`
NobodyXu Mar 1, 2025
7180a30
Mv os-specific trait impl of `Pipe*` into `std::os::*`
NobodyXu Mar 7, 2025
a2174e6
Remove usage of legacy scheme paths on RedoxOS
bjorn3 Mar 13, 2025
bf96539
Rollup merge of #138425 - cuviper:remove-hash_raw_entry, r=jhpratt
matthiaskrgr Mar 13, 2025
ad95c16
Remove has_redox_scheme
bjorn3 Mar 13, 2025
2fb35ea
Deny impls for BikeshedGuaranteedNoDrop
compiler-errors Mar 14, 2025
c6020bf
Auto merge of #138157 - scottmcm:inline-more-tiny-things, r=oli-obk
bors Mar 14, 2025
9120666
Rollup merge of #136001 - hkBst:patch-21, r=cuviper
jhpratt Mar 14, 2025
8535358
Rollup merge of #136230 - clarfonthey:net-memory-layout-assumptions, …
jhpratt Mar 14, 2025
bc52fcd
Rollup merge of #137870 - karolzwolak:lazylock-const-hashmaps-137566,…
jhpratt Mar 14, 2025
8c12431
Rollup merge of #138398 - RalfJung:atomic-intrinsics-provenance, r=nn…
jhpratt Mar 14, 2025
3c6161f
Rollup merge of #138457 - bjorn3:redox_scheme_paths, r=Noratrieb
jhpratt Mar 14, 2025
0b766fc
Auto merge of #138480 - jhpratt:rollup-y3b8wu5, r=jhpratt
bors Mar 14, 2025
54e9d10
Auto merge of #137424 - Ayush1325:uefi-path-node, r=nicholasbishop,cu…
bors Mar 14, 2025
1e956e8
Rollup merge of #138353 - RalfJung:expose-provenance-must-use, r=ibra…
fmease Mar 14, 2025
6eec9b4
Rollup merge of #138477 - compiler-errors:deny-bikeshed-guaranteed-no…
fmease Mar 14, 2025
924a1b7
Auto merge of #138506 - fmease:rollup-ve4h2eq, r=fmease
bors Mar 14, 2025
0c57aa9
Optimize multi-char string patterns
yotamofek Mar 15, 2025
3f4f42a
Rollup merge of #133055 - kpreid:clone-uninit-doc, r=Mark-Simulacrum
jieyouxu Mar 16, 2025
b65e296
Rollup merge of #137890 - lolbinarycat:docs-bufreader-peek-consume, r…
jieyouxu Mar 16, 2025
0e61dbc
Rollup merge of #138082 - thaliaarchi:slice-cfg-not-test, r=thomcc
jieyouxu Mar 16, 2025
38b0b10
Rollup merge of #138275 - folkertdev:expose-is-s390x-feature-detected…
jieyouxu Mar 16, 2025
f708a67
Rollup merge of #138303 - DiuDiu777:rc-fix, r=Mark-Simulacrum
jieyouxu Mar 16, 2025
7098dd7
Rollup merge of #138309 - DiuDiu777:intrinsic-doc-fix, r=thomcc
jieyouxu Mar 16, 2025
8112a0c
Rollup merge of #138323 - kpreid:offset-of-doc, r=Mark-Simulacrum
jieyouxu Mar 16, 2025
c5f575e
Rollup merge of #138329 - scottmcm:assert-hint, r=Mark-Simulacrum
jieyouxu Mar 16, 2025
59a117d
Rollup merge of #135080 - Enselic:debug-ptr-metadata, r=thomcc
jieyouxu Mar 16, 2025
3a03249
Rollup merge of #137492 - nabijaczleweli:master, r=thomcc
jieyouxu Mar 16, 2025
1cb95f4
Rollup merge of #137538 - tapanprakasht:fix-doc-path, r=thomcc
jieyouxu Mar 16, 2025
63ce115
Add test for new proc_macro literal methods
GuillaumeGomez Mar 16, 2025
976d3e0
Auto merge of #138537 - yotamofek:pr/lib/multi-char-pattern, r=jhpratt
bors Mar 16, 2025
2b74fa0
Make ControlFlow must_use
compiler-errors Feb 22, 2025
7edc9a4
make `_Unwind_Action` a type alias, not enum
Noratrieb Mar 16, 2025
ab08b6d
Exclude `literal-escaper` from `library` workspace
GuillaumeGomez Mar 16, 2025
e2c1110
Auto merge of #138363 - beetrees:f16-f128-integer-convert, r=Amanieu
bors Mar 17, 2025
961d0dd
Rollup merge of #136293 - hkBst:patch-32, r=Amanieu
jhpratt Mar 17, 2025
8aa941d
Rollup merge of #136359 - hkBst:ptr_copy_docs, r=Amanieu
jhpratt Mar 17, 2025
4ac135d
Rollup merge of #138573 - Noratrieb:no-unsound-bad-bonk-bonk, r=worki…
jhpratt Mar 17, 2025
35e5e82
Auto merge of #138583 - jhpratt:rollup-h699hty, r=jhpratt
bors Mar 17, 2025
c5b628f
Rollup merge of #136355 - GuillaumeGomez:proc-macro_add_value_retriev…
jhpratt Mar 17, 2025
edd0a06
Rollup merge of #137621 - Berrysoft:cygwin-std, r=joboet
jhpratt Mar 17, 2025
93124fe
Rollup merge of #137793 - NobodyXu:stablise-annoymous-pipe, r=joshtri…
jhpratt Mar 17, 2025
bc5baf1
Rollup merge of #138341 - xizheyin:issue-138322, r=joboet
jhpratt Mar 17, 2025
8902bd3
Rollup merge of #137449 - compiler-errors:control-flow, r=Amanieu,lni…
matthiaskrgr Mar 17, 2025
d1b7eb8
Subtree update automation: do not use `git subtree merge --squash`
tautschnig Mar 21, 2025
19b715d
DEBUG
tautschnig Mar 27, 2025
aed7eab
Fix order
tautschnig Mar 27, 2025
b433a32
Fix
tautschnig Mar 27, 2025
d3f5186
Merge branch 'subtree/library'
Mar 27, 2025
ee45ebd
Update toolchain to 2025-03-18
Mar 27, 2025
4ce99a9
Update Kani version to 9f5275350e93becbcb53e122cb2f08b5ee41c97b
Mar 27, 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
54 changes: 42 additions & 12 deletions .github/workflows/update-subtree.yml
Original file line number Diff line number Diff line change
@@ -137,11 +137,14 @@ jobs:
uses: peter-evans/create-pull-request@v7
with:
title: 'Update subtree/library to ${{ env.NEXT_TOOLCHAIN_DATE }}'
body: |
body: >
This is an automated PR to update the subtree/library branch to the changes
from ${{ env.CURRENT_TOOLCHAIN_DATE }} (${{ env.CURRENT_COMMIT_HASH }})
to ${{ env.NEXT_TOOLCHAIN_DATE }} (${{ env.NEXT_COMMIT_HASH }}), inclusive.
**Do not merge this PR using the merge queue. Instead, use the rebase strategy.**
from ${{ env.CURRENT_TOOLCHAIN_DATE }} (rust-lang/rust@${{ env.CURRENT_COMMIT_HASH }})
to ${{ env.NEXT_TOOLCHAIN_DATE }} (rust-lang/rust@${{ env.NEXT_COMMIT_HASH }}), inclusive.

**Review this PR as usual, but do not merge this PR using the GitHub web interface.
Instead, once it is approved, use `git push` to literally push the changes to `subtree/library`
without any rebase or merge.**
branch: update-subtree/library
delete-branch: true
base: subtree/library
@@ -151,20 +154,36 @@ jobs:
if: ${{ env.MERGE_CONFLICTS != 'noop' && env.MERGE_PR_EXISTS == 'no' }}
run: |
cd verify-rust-std
if ! git rev-parse --verify subtree/library; then
# create-pull-request resets branches locally, implying that
# `subtree/library` no longer is what the above instructions created.
if [ "${SUBTREE_PR_EXISTS}" = "yes" ]; then
git checkout -t -b subtree/library origin/update-subtree/library
else
git checkout subtree/library
git reset --hard origin/update-subtree/library
fi
git checkout main

# Tell git about the correct merge base to use, which is the subtree
# head that we last merged from.
PREV_SUBTREE_HEAD=$(git log --grep="^git-subtree-split:" | egrep '^[[:space:]]+git-subtree-split:' | awk '{print $2;exit}')
echo "Previous subtree head: ${PREV_SUBTREE_HEAD}"
git replace --graft subtree/library ${PREV_SUBTREE_HEAD}
git replace --graft main ${PREV_SUBTREE_HEAD}

# This command may fail, which will require human intervention.
if ! git \
-c user.name=gitbot -c user.email=git@bot \
subtree merge --prefix=library subtree/library --squash; then
merge -Xsubtree=library subtree/library; then
echo "MERGE_CONFLICTS=yes" >> $GITHUB_ENV
git -c user.name=gitbot -c user.email=git@bot commit -a -m "Merge from $NEXT_COMMIT_HASH with conflicts"
else
echo "MERGE_CONFLICTS=no" >> $GITHUB_ENV
fi
git replace -d subtree/library
git replace -d main~1
NEW_SUBTREE_HEAD=$(git rev-parse subtree/library)
echo "NEW_SUBTREE_HEAD=${NEW_SUBTREE_HEAD}" >> $GITHUB_ENV

sed -i "s/^channel = \"nightly-.*\"/channel = \"nightly-${NEXT_TOOLCHAIN_DATE}\"/" rust-toolchain.toml
git -c user.name=gitbot -c user.email=git@bot \
@@ -173,16 +192,22 @@ jobs:
sed -i "s/commit = .*/commit = \"${KANI_COMMIT_HASH}\"/" tool_config/kani-version.toml
git -c user.name=gitbot -c user.email=git@bot \
commit -m "Update Kani version to ${KANI_COMMIT_HASH}" tool_config/kani-version.toml

- name: Create Pull Request without conflicts
if: ${{ env.MERGE_CONFLICTS == 'no' && env.MERGE_PR_EXISTS == 'no' }}
uses: peter-evans/create-pull-request@v7
with:
title: 'Merge subtree update for toolchain nightly-${{ env.NEXT_TOOLCHAIN_DATE }}'
body: |
body: >
This is an automated PR to merge library subtree updates
from ${{ env.CURRENT_TOOLCHAIN_DATE }} (${{ env.CURRENT_COMMIT_HASH }})
to ${{ env.NEXT_TOOLCHAIN_DATE }} (${{ env.NEXT_COMMIT_HASH }}), inclusive.
from ${{ env.CURRENT_TOOLCHAIN_DATE }} (rust-lang/rust@${{ env.CURRENT_COMMIT_HASH }})
to ${{ env.NEXT_TOOLCHAIN_DATE }} (rust-lang/rust@${{ env.NEXT_COMMIT_HASH }}), inclusive.
This is a clean merge, no conflicts were detected.
**Do not remove or edit the following annotations:**

git-subtree-dir: library

git-subtree-split: ${{ env.NEW_SUBTREE_HEAD }}
branch: sync-${{ env.NEXT_TOOLCHAIN_DATE }}
delete-branch: true
base: main
@@ -193,12 +218,17 @@ jobs:
uses: peter-evans/create-pull-request@v7
with:
title: 'Merge subtree update for toolchain nightly-${{ env.NEXT_TOOLCHAIN_DATE }}'
body: |
body: >
This is an automated PR to merge library subtree updates
from ${{ env.CURRENT_TOOLCHAIN_DATE }} (${{ env.CURRENT_COMMIT_HASH }})
to ${{ env.NEXT_TOOLCHAIN_DATE }} (${{ env.NEXT_COMMIT_HASH }}) (inclusive)
from ${{ env.CURRENT_TOOLCHAIN_DATE }} (rust-lang/rust@${{ env.CURRENT_COMMIT_HASH }})
to ${{ env.NEXT_TOOLCHAIN_DATE }} (rust-lang/rust@${{ env.NEXT_COMMIT_HASH }}) (inclusive)
into main. `git merge` resulted in conflicts, which require manual resolution.
Files were commited with merge conflict markers.
**Do not remove or edit the following annotations:**

git-subtree-dir: library

git-subtree-split: ${{ env.NEW_SUBTREE_HEAD }}
branch: sync-${{ env.NEXT_TOOLCHAIN_DATE }}
delete-branch: true
base: main
8 changes: 8 additions & 0 deletions library/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions library/Cargo.toml
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@ members = [
]

exclude = [
"literal-escaper",
# stdarch has its own Cargo workspace
"stdarch",
"windows_targets"
26 changes: 23 additions & 3 deletions library/alloc/src/sync.rs
Original file line number Diff line number Diff line change
@@ -84,9 +84,29 @@ macro_rules! acquire {
///
/// Shared references in Rust disallow mutation by default, and `Arc` is no
/// exception: you cannot generally obtain a mutable reference to something
/// inside an `Arc`. If you need to mutate through an `Arc`, use
/// [`Mutex`][mutex], [`RwLock`][rwlock], or one of the [`Atomic`][atomic]
/// types.
/// inside an `Arc`. If you do need to mutate through an `Arc`, you have several options:
///
/// 1. Use interior mutability with synchronization primitives like [`Mutex`][mutex],
/// [`RwLock`][rwlock], or one of the [`Atomic`][atomic] types.
///
/// 2. Use clone-on-write semantics with [`Arc::make_mut`] which provides efficient mutation
/// without requiring interior mutability. This approach clones the data only when
/// needed (when there are multiple references) and can be more efficient when mutations
/// are infrequent.
///
/// 3. Use [`Arc::get_mut`] when you know your `Arc` is not shared (has a reference count of 1),
/// which provides direct mutable access to the inner value without any cloning.
///
/// ```
/// use std::sync::Arc;
///
/// let mut data = Arc::new(vec![1, 2, 3]);
///
/// // This will clone the vector only if there are other references to it
/// Arc::make_mut(&mut data).push(4);
///
/// assert_eq!(*data, vec![1, 2, 3, 4]);
/// ```
///
/// **Note**: This type is only available on platforms that support atomic
/// loads and stores of pointers, which includes all platforms that support
13 changes: 13 additions & 0 deletions library/alloc/src/vec/mod.rs
Original file line number Diff line number Diff line change
@@ -1252,6 +1252,19 @@ impl<T, A: Allocator> Vec<T, A> {
/// vec.push(42);
/// assert!(vec.capacity() >= 10);
/// ```
///
/// A vector with zero-sized elements will always have a capacity of usize::MAX:
///
/// ```
/// #[derive(Clone)]
/// struct ZeroSized;
///
/// fn main() {
/// assert_eq!(std::mem::size_of::<ZeroSized>(), 0);
/// let v = vec![ZeroSized; 0];
/// assert_eq!(v.capacity(), usize::MAX);
/// }
/// ```
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_stable(feature = "const_vec_string_slice", since = "CURRENT_RUSTC_VERSION")]
50 changes: 48 additions & 2 deletions library/core/src/convert/num.rs
Original file line number Diff line number Diff line change
@@ -156,22 +156,42 @@ impl_from!(i16 => isize, #[stable(feature = "lossless_iusize_conv", since = "1.2
// https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-951.pdf

// Note: integers can only be represented with full precision in a float if
// they fit in the significand, which is 24 bits in f32 and 53 bits in f64.
// they fit in the significand, which is:
// * 11 bits in f16
// * 24 bits in f32
// * 53 bits in f64
// * 113 bits in f128
// Lossy float conversions are not implemented at this time.
// FIXME(f16_f128): The `f16`/`f128` impls `#[stable]` attributes should be changed to reference
// `f16`/`f128` when they are stabilised (trait impls have to have a `#[stable]` attribute, but none
// of the `f16`/`f128` impls can be used on stable as the `f16` and `f128` types are unstable).

// signed integer -> float
impl_from!(i8 => f16, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(i8 => f32, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(i8 => f64, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(i8 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(i16 => f32, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(i16 => f64, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(i16 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(i32 => f64, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(i32 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
// FIXME(f16_f128): This impl would allow using `f128` on stable before it is stabilised.
// impl_from!(i64 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);

// unsigned integer -> float
impl_from!(u8 => f16, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u8 => f32, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u8 => f64, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u8 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u16 => f16, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u16 => f32, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u16 => f64, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u16 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u32 => f64, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
impl_from!(u32 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);
// FIXME(f16_f128): This impl would allow using `f128` on stable before it is stabilised.
// impl_from!(u64 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);

// float -> float
// FIXME(f16_f128): adding additional `From<{float}>` impls to `f32` breaks inference. See
@@ -183,20 +203,27 @@ impl_from!(f32 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0
impl_from!(f64 => f128, #[stable(feature = "lossless_float_conv", since = "1.6.0")]);

macro_rules! impl_float_from_bool {
($float:ty) => {
(
$float:ty $(;
doctest_prefix: $(#[doc = $doctest_prefix:literal])*
doctest_suffix: $(#[doc = $doctest_suffix:literal])*
)?
) => {
#[stable(feature = "float_from_bool", since = "1.68.0")]
impl From<bool> for $float {
#[doc = concat!("Converts a [`bool`] to [`", stringify!($float),"`] losslessly.")]
/// The resulting value is positive `0.0` for `false` and `1.0` for `true` values.
///
/// # Examples
/// ```
$($(#[doc = $doctest_prefix])*)?
#[doc = concat!("let x: ", stringify!($float)," = false.into();")]
/// assert_eq!(x, 0.0);
/// assert!(x.is_sign_positive());
///
#[doc = concat!("let y: ", stringify!($float)," = true.into();")]
/// assert_eq!(y, 1.0);
$($(#[doc = $doctest_suffix])*)?
/// ```
#[inline]
fn from(small: bool) -> Self {
@@ -207,8 +234,27 @@ macro_rules! impl_float_from_bool {
}

// boolean -> float
impl_float_from_bool!(
f16;
doctest_prefix:
// rustdoc doesn't remove the conventional space after the `///`
///#![feature(f16)]
///# #[cfg(all(target_arch = "x86_64", target_os = "linux"))] {
///
doctest_suffix:
///# }
);
impl_float_from_bool!(f32);
impl_float_from_bool!(f64);
impl_float_from_bool!(
f128;
doctest_prefix:
///#![feature(f128)]
///# #[cfg(all(target_arch = "x86_64", target_os = "linux"))] {
///
doctest_suffix:
///# }
);

// no possible bounds violation
macro_rules! impl_try_from_unbounded {
9 changes: 6 additions & 3 deletions library/core/src/intrinsics/mod.rs
Original file line number Diff line number Diff line change
@@ -3664,7 +3664,8 @@ pub const fn ptr_metadata<P: ptr::Pointee<Metadata = M> + ?Sized, M>(ptr: *const
/// For regions of memory which might overlap, use [`copy`] instead.
///
/// `copy_nonoverlapping` is semantically equivalent to C's [`memcpy`], but
/// with the argument order swapped.
/// with the source and destination arguments swapped,
/// and `count` counting the number of `T`s instead of bytes.
///
/// The copy is "untyped" in the sense that data may be uninitialized or otherwise violate the
/// requirements of `T`. The initialization state is preserved exactly.
@@ -3791,8 +3792,10 @@ pub const unsafe fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: us
/// If the source and destination will *never* overlap,
/// [`copy_nonoverlapping`] can be used instead.
///
/// `copy` is semantically equivalent to C's [`memmove`], but with the argument
/// order swapped. Copying takes place as if the bytes were copied from `src`
/// `copy` is semantically equivalent to C's [`memmove`], but
/// with the source and destination arguments swapped,
/// and `count` counting the number of `T`s instead of bytes.
/// Copying takes place as if the bytes were copied from `src`
/// to a temporary array and then copied from the array to `dst`.
///
/// The copy is "untyped" in the sense that data may be uninitialized or otherwise violate the
1 change: 1 addition & 0 deletions library/core/src/ops/control_flow.rs
Original file line number Diff line number Diff line change
@@ -80,6 +80,7 @@ use crate::{convert, ops};
/// [`Continue`]: ControlFlow::Continue
#[stable(feature = "control_flow_enum_type", since = "1.55.0")]
#[rustc_diagnostic_item = "ControlFlow"]
#[must_use]
// ControlFlow should not implement PartialOrd or Ord, per RFC 3058:
// https://rust-lang.github.io/rfcs/3058-try-trait-v2.html#traits-for-controlflow
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
10 changes: 10 additions & 0 deletions library/literal-escaper/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[package]
name = "literal-escaper"
version = "0.0.0"
edition = "2021"

[dependencies]
std = { version = '1.0.0', optional = true, package = 'rustc-std-workspace-std' }

[features]
rustc-dep-of-std = ["dep:std"]
4 changes: 4 additions & 0 deletions library/literal-escaper/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# literal-escaper

This crate provides code to unescape string literals. It is used by `rustc_lexer`
and `proc_macro`.
Loading