Skip to content
Merged
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
cd163bb
remove deprecated from core::ffi::c_str
hkBst Jul 2, 2025
7cee7f8
Remove some unsized tuple impls now that we don't support unsizing tu…
oli-obk Mar 6, 2025
c06a746
miri: improve errors for type validity assertion failures
RalfJung Jul 2, 2025
6ca1430
Rollup merge of #141847 - xizheyin:141837, r=jhpratt
matthiaskrgr Jul 2, 2025
ce9f750
Rollup merge of #142138 - ashivaram23:vec_into_chunks, r=scottmcm
matthiaskrgr Jul 2, 2025
691c144
Rollup merge of #131923 - ranger-ross:impl-copy-hash-interrorkind, r=…
matthiaskrgr Jul 2, 2025
4f32bac
Rollup merge of #138340 - oli-obk:one-size-fits-all, r=m-ou-se
matthiaskrgr Jul 2, 2025
3f8bd7d
Rollup merge of #141219 - Amanieu:leak_alloc, r=joboet
matthiaskrgr Jul 2, 2025
b94f16a
Rollup merge of #142237 - benschulz:unused-parens-fn, r=fee1-dead
matthiaskrgr Jul 2, 2025
1959337
awhile -> a while where appropriate
nabijaczleweli Jul 1, 2025
16b0f5e
Auto merge of #143338 - matthiaskrgr:rollup-ykaxh04, r=matthiaskrgr
bors Jul 2, 2025
4d66ef3
Rollup merge of #143321 - hkBst:typo-1, r=compiler-errors
matthiaskrgr Jul 3, 2025
762a6eb
Rollup merge of #143327 - RalfJung:miri-type-validity-error, r=oli-obk
matthiaskrgr Jul 3, 2025
010558d
setup CI and tidy to use typos for spellchecking and fix few typos
klensy Dec 7, 2024
3dbf315
minicore: use core's `diagnostic::on_unimplemented` messages
folkertdev Jul 2, 2025
3664be5
Merge from rustc
RalfJung Jul 3, 2025
0e378fc
wrapping shift: remove first bitmask and table
hkBst Jul 3, 2025
0938132
use unsigned_abs instead of `abs` on signed int to silence clippy
hkBst Jul 3, 2025
0c41252
Link to 2024 edition page for `!` fallback changes
clubby789 Jul 3, 2025
1eabd73
std_detect: Tidying of slice length
a4lg Jun 29, 2025
1cc1d0d
Rollup merge of #134006 - klensy:typos, r=nnethercote
jdonszelmann Jul 3, 2025
fa70f6b
Rollup merge of #143038 - Qelxiros:142676-private-dependency-traits, …
jdonszelmann Jul 3, 2025
804d68e
Rollup merge of #143329 - folkertdev:minicore-diagnostic-on-unimpleme…
jdonszelmann Jul 3, 2025
8df7d7b
remove redundant #[must_use]
hkBst Jul 3, 2025
00a38db
simplify receivers for some array method calls
hkBst Jul 3, 2025
1fc7deb
stabilize `const_slice_reverse`
fee1-dead Jul 3, 2025
1da9668
Implement `int_format_into` feature
GuillaumeGomez Jun 5, 2025
874b2dc
Add test for `int_format_into` feature
GuillaumeGomez Jun 5, 2025
875c199
Use `slice_buffer_to_str` in `GenericRadix::fmt_int`
GuillaumeGomez Jun 6, 2025
fcbe668
Make __rust_alloc_error_handler_should_panic a function
dpaoliello Jul 3, 2025
4a40e52
Always use the pure Rust fallback instead of `llvm.{maximum,minimum}`
Urgau Jul 3, 2025
038c039
Remove PointerLike trait
compiler-errors Jul 3, 2025
dd043e4
Rollup merge of #142749 - LimpSquid:bool_to_result, r=scottmcm
jhpratt Jul 4, 2025
78d7fd2
Rollup merge of #143356 - hkBst:clippy-fix-2, r=scottmcm
jhpratt Jul 4, 2025
4f33267
Rollup merge of #143370 - hkBst:clippy-fix-4, r=tgross35
jhpratt Jul 4, 2025
c3f4097
Rollup merge of #143378 - hkBst:clippy-fix-6, r=tgross35
jhpratt Jul 4, 2025
caaf523
Rollup merge of #143395 - Urgau:llvm-fallback-minimum-maximum, r=tgro…
jhpratt Jul 4, 2025
e7c06e8
Merge from rustc
Jul 4, 2025
77c3aa5
clippy fix: indentation
hkBst Jul 4, 2025
67b3bce
Rollup merge of #143308 - compiler-errors:no-pointer-like, r=oli-obk
matthiaskrgr Jul 4, 2025
bbbdd07
Rollup merge of #143387 - dpaoliello:shouldpanicfn, r=bjorn3
matthiaskrgr Jul 4, 2025
5cf2b43
std: sys: net: uefi: tcp4: Implement write
Ayush1325 May 25, 2025
2e3f8d4
Remove the `let_chains` feature now that it is stable
tgross35 Jul 4, 2025
5c88806
Rollup merge of #141532 - Ayush1325:uefi-tcp4-send, r=tgross35
matthiaskrgr Jul 4, 2025
c59dd11
symcheck: Make `target` a positional argument
tgross35 Jul 4, 2025
d358eb3
symcheck: Improve diagnostics from spawned Cargo
tgross35 Jul 4, 2025
d3800e9
Make Rem const for floats
scimind2460 Jun 26, 2025
ac86ef8
Remove unused custom target JSON files
tgross35 Jul 5, 2025
9d4437f
Test building custom targets and resolve an issue probing `rustc`
tgross35 Jul 5, 2025
860a6f9
std: sys: net: uefi: tcp4: Implement read
Ayush1325 Jul 5, 2025
7ebe19d
Rollup merge of #143040 - SciMind2460:patch-1, r=workingjubilee
workingjubilee Jul 5, 2025
1ec4032
Rollup merge of #143086 - SciMind2460:patch-2, r=workingjubilee
workingjubilee Jul 5, 2025
216fe3d
Merge from rustc
RalfJung Jul 5, 2025
59d7a6b
move the `va_copy`, `va_arg` and `va_end` to `core::intrinsics`
folkertdev Jul 4, 2025
af2315f
use `is_multiple_of` instead of manual modulo
folkertdev Jul 5, 2025
4cf3d66
use `div_ceil` instead of manual logic
folkertdev Jul 5, 2025
0f1b3a1
Rollup merge of #143445 - folkertdev:va-list-intrinsics, r=RalfJung
saethlin Jul 5, 2025
ae0f057
Rollup merge of #143478 - RalfJung:miri-sync, r=RalfJung
matthiaskrgr Jul 5, 2025
f033a22
Rollup merge of #143470 - Ayush1325:uefi-tcp4-recv, r=joshtriplett
matthiaskrgr Jul 6, 2025
c14076e
Rollup merge of #143477 - folkertdev:use-is-multiple-of, r=joshtriplett
matthiaskrgr Jul 6, 2025
8e9dda8
Renamed retain_mut to retain on LinkedList as mentioned in the ACP
pixel27 Jul 6, 2025
e4071ad
sleep_until: use clock_nanosleep where possible
May 31, 2025
30bd486
sleep_until: add clock_nanosleep support to Miri
Jul 3, 2025
5498d6d
Simplify num formatting helpers
yotamofek Jul 6, 2025
cb6f505
Auto merge of #141829 - dvdsk:sleep_until_linux, r=cuviper,RalfJung
bors Jul 6, 2025
6b5dfce
lib: more eagerly return `self.len()` from `ceil_char_boundary`
nagisa Jul 6, 2025
03c864d
Rollup merge of #143236 - nxsaken:mixed_integer_ops_unsigned_sub, r=i…
jhpratt Jul 7, 2025
f1da2a9
Rollup merge of #143359 - clubby789:fallback-2024-doc, r=ibraheemdev
jhpratt Jul 7, 2025
a2d96d8
Rollup merge of #143529 - pixel27:master, r=jhpratt
jhpratt Jul 7, 2025
aa1b279
Rollup merge of #143552 - nagisa:makes-ceil-char-boundary-go-zoom, r=…
jhpratt Jul 7, 2025
9e31617
Auto merge of #143556 - jhpratt:rollup-nid39y2, r=jhpratt
bors Jul 7, 2025
3e94fe8
doc(std): clarify `NonZero<T>` usage limitation in doc comment
xizheyin Jun 28, 2025
33a788c
std: fix typo in `std::path`
xizheyin Jul 7, 2025
31461bf
Rollup merge of #143130 - xizheyin:142966, r=ibraheemdev
jieyouxu Jul 7, 2025
dced84a
Rollup merge of #143563 - xizheyin:fix-typo, r=joshtriplett
jieyouxu Jul 7, 2025
70f8c28
UWP: link ntdll functions using raw-dylib
ChrisDenton Jul 7, 2025
2754518
use `is_multiple_of` to check if an addr is aligned
folkertdev Jul 5, 2025
ea21e9e
Rollup merge of #143340 - nabijaczleweli:awhile, r=mati865
matthiaskrgr Jul 7, 2025
402d052
Fix in String docs: remove 'else' from 'something else similar'
arafaaaaat Jul 7, 2025
6316f1b
Remove support for dynamic allocas
mejrs Jun 24, 2025
5e1dee6
Add empty rust-version file
Kobzol Jun 26, 2025
1f8744d
Add josh synchronization scripts
Kobzol Jun 26, 2025
c278a40
Update stabilization version of certain x86 intrinsics to 1.89
Amanieu Jun 30, 2025
7c3d933
Use simd_extract! macro instead of calling simd_extract directly
clarfonthey Jun 30, 2025
bb508f6
Mark `avx` broadcast intrinsics as safe
okaneco Jun 23, 2025
23e555d
Remove std-detect dev dependency in core_arch
Kobzol Jul 4, 2025
ce092a2
Update README.md
kilavvy Jun 29, 2025
c0b87f5
Add config files for `rustc-josh-sync`
Kobzol Jul 4, 2025
4c5d815
Prepare for merging from rust-lang/rust
Kobzol Jul 4, 2025
82a57eb
Mention more APIs in `ParseIntError` docs
GrigorenkoPV Jul 7, 2025
f8f674f
Make `Default` const and add some `const Default` impls
estebank Dec 21, 2024
9ddd397
std_detect: RISC-V Linux: Ergonomic querying with `riscv_hwprobe`
a4lg Jun 29, 2025
694af31
some clippy fixes
hkBst Jul 6, 2025
e82bbe3
Use `simd_funnel_sh{l,r}` and `simd_round_ties_even` to remove uses o…
sayantn Jul 7, 2025
655ad01
Rollup merge of #142098 - GuillaumeGomez:int_format_into, r=Amanieu
matthiaskrgr Jul 8, 2025
c9401db
Rollup merge of #143608 - codexarafat:fix-string-doc, r=Noratrieb
matthiaskrgr Jul 8, 2025
ee7dc8d
Remove custom josh-sync scripts
Kobzol Jul 8, 2025
7caeace
Update README with link to `josh-sync`
Kobzol Jul 8, 2025
114bf21
update to literal-escaper-0.0.5
hkBst Jul 8, 2025
56edb66
fix whitespace in `aarch64.spec.yml`
folkertdev Jul 8, 2025
704d7a7
remote intermediate assignment
folkertdev Jul 8, 2025
bb6a3a5
shorten array literals
folkertdev Jul 8, 2025
6ad1127
remove unneeded cast
folkertdev Jul 8, 2025
839bff8
Auto merge of #143540 - yotamofek:pr/library/simplify-num-fmt, r=tgro…
bors Jul 8, 2025
a5ada6a
int_log10.rs: change top level doc comments to outer
hkBst Jul 2, 2025
2766d4d
collect.rs: remove empty line after doc comment
hkBst Jul 2, 2025
901866b
clippy fix: markdown indentation for indented items after line break
hkBst Jul 3, 2025
b366d86
Auto merge of #134628 - estebank:const-default, r=oli-obk
bors Jul 8, 2025
835856c
Reset rust-version
Kobzol Jul 8, 2025
ac1e8cc
Prepare for merging from rust-lang/rust
Kobzol Jul 8, 2025
a41b674
Merge ref '040e2f8b9ff2' from rust-lang/rust
Kobzol Jul 8, 2025
6d0d2d4
Constify `Fn*` traits
oli-obk Jul 3, 2025
1edc040
Remove `const_eval_select` hack
oli-obk Jul 8, 2025
8984877
Win: Use exceptions with empty data for SEH panic exception copies
Fulgen301 Jul 8, 2025
3dfa197
docs: document trait upcasting rules in `Unsize` trait
moulins Jul 8, 2025
b51e7ec
Disable docs for `compiler-builtins` and `sysroot`
cuviper Jul 8, 2025
d836404
Rollup merge of #143426 - hkBst:clippy-fix-indent-1, r=jhpratt
tgross35 Jul 9, 2025
27b11c8
Fix VxWorks build errors
biabbas Jul 9, 2025
609c3dd
core: Remove `BorrowedCursor::init_ref` method
a1phyr Jul 9, 2025
5dcb43c
core: Remove `BorrowedCursor::uninit_mut`
a1phyr Jul 9, 2025
6b1bbb1
core: Change `BorrowedCursor::written`'s origin
a1phyr Jul 9, 2025
a53271a
Add opaque TypeId handles for CTFE
oli-obk Mar 12, 2025
f9b215b
std: sys: net: uefi: tcp4: Add timeout support
Ayush1325 Jul 7, 2025
0fa28f8
random: Add comment on `RandomSource::fill_bytes` about multiple calls
joshtriplett Jul 9, 2025
93c5858
Auto merge of #143405 - tgross35:update-builtins, r=tgross35
bors Jul 9, 2025
cd8bab4
Remove uncessary parens in closure body with unused lint
chenyukang Jun 29, 2025
17be5de
Refactor nan tests
rocurley Jul 3, 2025
c0a4b2e
rust: library: Add setsid method to CommandExt trait
LevitatingBusinessMan Jun 12, 2025
150e700
Merge from rustc
Jul 10, 2025
afb3b9d
Auto merge of #143696 - oli-obk:constable-type-id2, r=RalfJung
bors Jul 10, 2025
96843a0
Rollup merge of #141996 - Daniel-Aaron-Bloom:dollar_crate, r=petroche…
tgross35 Jul 10, 2025
ef83ed0
Rollup merge of #143265 - scottmcm:mention-as-chunks, r=ibraheemdev
tgross35 Jul 10, 2025
0514523
Rollup merge of #143396 - rocurley:float_tests_refactor, r=tgross35
tgross35 Jul 10, 2025
374cc90
Auto merge of #143721 - tgross35:rollup-sjdfp6r, r=tgross35
bors Jul 10, 2025
a2b2f71
Rollup merge of #136906 - chenyukang:yukang-fix-136741-closure-body, …
matthiaskrgr Jul 10, 2025
74d6fac
Rollup merge of #143652 - moulins:doc-unsize-trait-upcasting, r=compi…
matthiaskrgr Jul 10, 2025
9fc39ff
Rollup merge of #143668 - biabbas:vxworks, r=Noratrieb
matthiaskrgr Jul 10, 2025
3c13061
Rollup merge of #143640 - oli-obk:const-fn-traits, r=compiler-errors
matthiaskrgr Jul 10, 2025
6a67961
Rollup merge of #143651 - Fulgen301:seh-exception-ptr, r=ChrisDenton
matthiaskrgr Jul 10, 2025
1dc1e2d
Rollup merge of #143660 - cuviper:lib-doc-false, r=tgross35
matthiaskrgr Jul 10, 2025
25cc31d
Rollup merge of #143642 - Kobzol:stdarch-push, r=Amanieu
tgross35 Jul 11, 2025
657e248
docs: clarify “dag” in std::sys_common doc comment
ColtenOuO Jul 8, 2025
228d3e7
Auto merge of #142911 - mejrs:unsized, r=compiler-errors
bors Jul 11, 2025
1a42c32
Rollup merge of #142391 - LevitatingBusinessMan:setsid, r=workingjubilee
matthiaskrgr Jul 11, 2025
d570e05
Rollup merge of #143568 - Ayush1325:uefi-tcp4-timeout, r=tgross35
matthiaskrgr Jul 11, 2025
cd2637a
Rollup merge of #143611 - GrigorenkoPV:ParseIntError, r=tgross35
matthiaskrgr Jul 11, 2025
5ec83a2
constify `From` and `Into`
oli-obk Jul 11, 2025
26ccbac
std: move NuttX to use arc4random for random number generation
no1wudi Jul 11, 2025
fd8fe80
Consolidate infinity tests
rocurley Jul 10, 2025
1f19760
Consolidate test_num tests
rocurley Jul 10, 2025
0308088
Consolidate neg_infinity tests
rocurley Jul 10, 2025
8eff85d
Consolidate zero tests
rocurley Jul 10, 2025
8a26827
Consolidate negative zero tests
rocurley Jul 10, 2025
c1bc014
Consolidate one tests
rocurley Jul 10, 2025
bbe9151
Consolidate is_nan
rocurley Jul 10, 2025
758d5f9
Consolidate is_infinite tests
rocurley Jul 10, 2025
268ae94
Consolidate is_finite tests
rocurley Jul 10, 2025
cc59c1c
Consolidate is_normal tests
rocurley Jul 10, 2025
2329336
Consolidate classify tests
rocurley Jul 10, 2025
871144d
fix PartialEq const feature name and const_cmp tracking issue
RalfJung Jul 11, 2025
5af1601
fix const_ops tracking issue
RalfJung Jul 11, 2025
1ec5201
random: Provide a `Distribution<T>` trait
joshtriplett Jul 9, 2025
d1cd2e5
Rollup merge of #143647 - ColtenOuO:master, r=ChrisDenton
matthiaskrgr Jul 11, 2025
1d8e691
slice: Mark `rotate_left`, `rotate_right` unstably const
okaneco Jul 6, 2025
04c57b2
Fixed a core crate compilation failure when enabling the `optimize_fo…
nazo6 Jul 12, 2025
528e40f
Auto merge of #143766 - matthiaskrgr:rollup-0x7t69s, r=matthiaskrgr
bors Jul 12, 2025
bdbb84d
Auto merge of #143810 - matthiaskrgr:rollup-iw7a23z, r=matthiaskrgr
bors Jul 12, 2025
fa41d66
Rollup merge of #143776 - no1wudi:fix, r=tgross35
fmease Jul 13, 2025
051445c
Rollup merge of #143803 - RalfJung:const-trait-tracking, r=compiler-e…
fmease Jul 13, 2025
61b8127
Fix typo in `std::vec`
xizheyin Jul 13, 2025
29ef5ca
`std::vec`: Upgrade `debug_assert` to UB check in `set_len`
xizheyin Jul 13, 2025
4f263c2
std::vec: Add UB check in `from_raw_parts_in`
xizheyin Jul 13, 2025
4230561
std::vec: Add UB check in `from_parts_in`
xizheyin Jul 13, 2025
0b4ce3f
Attempt to fix up SGX for random API updates
joshtriplett Jul 13, 2025
1cb2123
Use zero for initialized Once state
orlp Jul 13, 2025
1dd6426
Add comment why we use zero for COMPLETE
orlp Jul 13, 2025
775e504
make `cfg_select` a builtin macro
folkertdev Jul 4, 2025
2b38e44
Rollup merge of #143554 - okaneco:const_slice_rotate, r=Amanieu,tgross35
matthiaskrgr Jul 13, 2025
f07edf7
Rollup merge of #143774 - oli-obk:const_from, r=fee1-dead
matthiaskrgr Jul 13, 2025
dbccf3d
update issue number for `const_trait_impl`
fee1-dead Jul 13, 2025
9d16539
Auto merge of #143461 - folkertdev:cfg-select-builtin-macro, r=petroc…
bors Jul 13, 2025
463d8b8
core: make `str::split_at_unchecked()` inline
Kijewski Jul 13, 2025
53a6273
docs(alloc::fmt): Make `type` optional, instead of matching the empty…
nik-rev Jul 13, 2025
966b3b9
Merge from rustc
Jul 14, 2025
82e4fea
Change "allocated object" to "allocation".
theemathas Jul 14, 2025
9fe17f6
Rollup merge of #143875 - fee1-dead-contrib:push-zvqrmzrprpzt, r=comp…
Kobzol Jul 14, 2025
ae2c983
Rollup merge of #143881 - orlp:once-state-repr, r=tgross35
Kobzol Jul 14, 2025
51c20f8
Rollup merge of #143917 - theemathas:change-allocated-object-to-alloc…
Kobzol Jul 14, 2025
651523c
Add experimental backtrace-trace-only std feature
ChrisDenton Jul 13, 2025
ed002d7
Don't call WSACleanup on process exit
ChrisDenton May 31, 2025
ce7cb50
Rollup merge of #141809 - ChrisDenton:no-cleaup, r=jhpratt
samueltardieu Jul 14, 2025
dd56d17
Rollup merge of #143710 - joshtriplett:random-updates, r=joshtriplett
samueltardieu Jul 14, 2025
0229b44
update `cfg_select!` documentation
folkertdev Jul 14, 2025
052d8a0
Auto merge of #142885 - a1phyr:borrowed_cursor_to_buf, r=Mark-Simulacrum
bors Jul 14, 2025
6139672
Merge from rustc
Jul 15, 2025
e82e945
constify `SliceIndex` trait
oli-obk Jul 11, 2025
cde6468
constify some methods using `SliceIndex`
oli-obk Jul 11, 2025
ebad345
constify `Index` trait and its slice impls
oli-obk Jul 11, 2025
53f9401
Rollup merge of #143907 - Kijewski:pr-inline-split_at_unchecked, r=Ma…
samueltardieu Jul 15, 2025
a34b496
Rollup merge of #143910 - ChrisDenton:no-symbolization, r=tgross35
samueltardieu Jul 15, 2025
c9dbde9
Rollup merge of #143941 - folkertdev:cfg-select-docs, r=traviscross
samueltardieu Jul 15, 2025
0b4c8ea
make `std_detect` public dependency of `std`
mladedav Jul 12, 2025
779dd67
Auto merge of #143877 - xizheyin:143813, r=scottmcm,saethlin
bors Jul 15, 2025
7ff8662
add `const_make_global`; err for `const_allocate` ptrs if didn't call
fee1-dead Jul 7, 2025
9ad0f6a
Add LocalKey<Cell>::update
camsteffen Jul 15, 2025
fb521eb
Update poison.rs
martinomburajr Jul 16, 2025
94d264f
Rollup merge of #143355 - hkBst:cleanup-shift-double-bitmask, r=Mark-…
samueltardieu Jul 16, 2025
145e6c8
Rollup merge of #143738 - rocurley:float_tests_refactor_2, r=tgross35
samueltardieu Jul 16, 2025
aeb6362
Rollup merge of #143921 - oli-obk:const-index, r=fee1-dead
samueltardieu Jul 16, 2025
cfebc67
Rollup merge of #143990 - camsteffen:localkey-cell, r=tgross35
samueltardieu Jul 16, 2025
5259985
Auto merge of #144019 - RalfJung:miri-sync, r=RalfJung
bors Jul 16, 2025
cec50f1
Rollup merge of #143592 - ChrisDenton:uwp-link, r=Mark-Simulacrum
fmease Jul 17, 2025
cd62bb7
Rollup merge of #143595 - fee1-dead-contrib:push-sylpykzkmynr, r=Ralf…
fmease Jul 17, 2025
e30bab3
Rollup merge of #143820 - nazo6:fix-optimize-for-size, r=Mark-Simulacrum
fmease Jul 17, 2025
8f10413
Rollup merge of #143829 - a1phyr:trim_borrowed_buf, r=ChrisDenton
fmease Jul 17, 2025
07fb5f4
Rollup merge of #143856 - mladedav:dm/private-reexport, r=petrochenkov
fmease Jul 17, 2025
9aed31a
Rollup merge of #144002 - martinomburajr:patch-1, r=ibraheemdev
fmease Jul 17, 2025
ba0eef2
Rollup merge of #143326 - hkBst:rm-deprecated-1, r=jhpratt
matthiaskrgr Jul 17, 2025
b28864a
Rollup merge of #143631 - hkBst:update-escaper-2, r=compiler-errors
matthiaskrgr Jul 17, 2025
4feba33
constify `Option` methods
oli-obk Jul 15, 2025
a640415
Make `Option` `const PartialEq`
oli-obk Jul 11, 2025
d2cc0be
Make `NonZero` `const PartialEq`
oli-obk Jul 11, 2025
7794caf
Make `derive_const` usable within libcore again
oli-obk Jul 11, 2025
a6946e1
Make slices `[const] PartialEq`
oli-obk Jul 11, 2025
870a260
Rollup merge of #143967 - oli-obk:const-option-methods, r=fee1-dead
matthiaskrgr Jul 18, 2025
edba03d
Rollup merge of #143909 - nik-rev:patch-1, r=jhpratt
matthiaskrgr Jul 18, 2025
aa92949
Rollup merge of #143925 - oli-obk:slice-const-partialeq, r=fee1-dead
matthiaskrgr Jul 18, 2025
bd4759c
fix: don't panic on volatile access to null
LuigiPiucco Apr 20, 2025
2e8218a
Rollup merge of #143382 - fee1-dead-contrib:push-trrymlzqmmoz, r=jhpratt
matthiaskrgr Jul 18, 2025
7d6a2a8
clippy fix: bound in one place
hkBst Jul 2, 2025
24ed8a1
Rollup merge of #141076 - the8472:fix-zip-panic-safety2, r=workingjub…
matthiaskrgr Jul 19, 2025
4a74c33
interpret: fix TypeId pointers being considered data pointers
RalfJung Jul 19, 2025
3c8e89e
Auto merge of #144166 - matthiaskrgr:rollup-wccepuo, r=matthiaskrgr
bors Jul 19, 2025
d4a470e
fix load-bearing typo
lqd Jul 19, 2025
fc07035
Stabilize `const_float_round_methods`
nxsaken Jul 7, 2025
c3eedf1
Add `#[rustc_intrinsic_const_stable_indirect]` to float rounding
nxsaken Jul 7, 2025
fb9def6
Remove deprecated MaybeUninit slice methods
clarfonthey Jul 18, 2025
f4f5b85
Rollup merge of #141260 - LuigiPiucco:volatile-null, r=RalfJung
matthiaskrgr Jul 20, 2025
716cc45
Rollup merge of #143604 - nxsaken:const_float_round_methods, r=RalfJung
matthiaskrgr Jul 20, 2025
8f64817
Rollup merge of #144111 - clarfonthey:maybe-uninit-deprecated, r=jhpratt
matthiaskrgr Jul 20, 2025
a844529
Rollup merge of #144169 - RalfJung:type-id-fix, r=oli-obk
matthiaskrgr Jul 20, 2025
4070d59
Rollup merge of #143282 - nxsaken:strict_sub_signed, r=jhpratt
GuillaumeGomez Jul 20, 2025
62f8613
Rollup merge of #143423 - hkBst:clippy-fix-1, r=workingjubilee
GuillaumeGomez Jul 20, 2025
58f85bd
Merge from 9982d6462bedf1e793f7b2dbd655a4e57cdf67d4 with conflicts
Jul 29, 2025
7901d1e
Update toolchain to 2025-07-21
Jul 29, 2025
e3b032f
Update Kani version to c1648416995a15b6ab33e44829e96c9a65541927
Jul 29, 2025
9f4a836
Resolve conflicts
tautschnig Jul 29, 2025
1caa240
Fixup conflict resolution
tautschnig Jul 29, 2025
f31b28d
Further conflict resolution
tautschnig Jul 29, 2025
201fd56
Update Flux
tautschnig Jul 29, 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: 1 addition & 1 deletion .github/workflows/flux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

env:
FIXPOINT_VERSION: "556104ba5508891c357b0bdf819ce706e93d9349"
FLUX_VERSION: "f6bdf90c54ad6eed51b25c125f251cac01cfe170"
FLUX_VERSION: "ebafb8d0ca32d8c0fcd2a0cfef6b1b4bd4dc4a6f"

jobs:
check-flux-on-core:
Expand Down
4 changes: 2 additions & 2 deletions library/Cargo.lock

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

7 changes: 4 additions & 3 deletions library/alloc/src/boxed/thin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use core::error::Error;
use core::fmt::{self, Debug, Display, Formatter};
#[cfg(not(no_global_oom_handling))]
use core::intrinsics::const_allocate;
use core::intrinsics::{const_allocate, const_make_global};
use core::marker::PhantomData;
#[cfg(not(no_global_oom_handling))]
use core::marker::Unsize;
Expand Down Expand Up @@ -340,9 +340,10 @@ impl<H> WithHeader<H> {
alloc.add(metadata_offset).cast();
// SAFETY: `*metadata_ptr` is within the allocation.
metadata_ptr.write(ptr::metadata::<Dyn>(ptr::dangling::<T>() as *const Dyn));

// SAFETY: valid heap allocation
const_make_global(alloc);
// SAFETY: we have just written the metadata.
&*(metadata_ptr)
&*metadata_ptr
}
};

Expand Down
4 changes: 2 additions & 2 deletions library/alloc/src/fmt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -348,13 +348,13 @@
//! format := '{' [ argument ] [ ':' format_spec ] [ ws ] * '}'
//! argument := integer | identifier
//!
//! format_spec := [[fill]align][sign]['#']['0'][width]['.' precision]type
//! format_spec := [[fill]align][sign]['#']['0'][width]['.' precision][type]
//! fill := character
//! align := '<' | '^' | '>'
//! sign := '+' | '-'
//! width := count
//! precision := count | '*'
//! type := '' | '?' | 'x?' | 'X?' | identifier
//! type := '?' | 'x?' | 'X?' | identifier
//! count := parameter | integer
//! parameter := argument '$'
//! ```
Expand Down
1 change: 1 addition & 0 deletions library/alloc/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@
#![feature(try_trait_v2)]
#![feature(try_with_capacity)]
#![feature(tuple_trait)]
#![feature(ub_checks)]
#![feature(unicode_internals)]
#![feature(unsize)]
#![feature(unwrap_infallible)]
Expand Down
2 changes: 1 addition & 1 deletion library/alloc/src/string.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2611,7 +2611,7 @@ impl_eq! { Cow<'a, str>, &'b str }
impl_eq! { Cow<'a, str>, String }

#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "67792")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
impl const Default for String {
/// Creates an empty `String`.
#[inline]
Expand Down
22 changes: 18 additions & 4 deletions library/alloc/src/vec/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ use core::mem::{self, ManuallyDrop, MaybeUninit, SizedTypeProperties};
use core::ops::{self, Index, IndexMut, Range, RangeBounds};
use core::ptr::{self, NonNull};
use core::slice::{self, SliceIndex};
use core::{fmt, intrinsics};
use core::{fmt, intrinsics, ub_checks};

#[stable(feature = "extract_if", since = "1.87.0")]
pub use self::extract_if::ExtractIf;
Expand Down Expand Up @@ -1058,6 +1058,11 @@ impl<T, A: Allocator> Vec<T, A> {
#[inline]
#[unstable(feature = "allocator_api", issue = "32838")]
pub unsafe fn from_raw_parts_in(ptr: *mut T, length: usize, capacity: usize, alloc: A) -> Self {
ub_checks::assert_unsafe_precondition!(
check_library_ub,
"Vec::from_raw_parts_in requires that length <= capacity",
(length: usize = length, capacity: usize = capacity) => length <= capacity
);
unsafe { Vec { buf: RawVec::from_raw_parts_in(ptr, capacity, alloc), len: length } }
}

Expand Down Expand Up @@ -1174,6 +1179,11 @@ impl<T, A: Allocator> Vec<T, A> {
#[unstable(feature = "allocator_api", reason = "new API", issue = "32838")]
// #[unstable(feature = "box_vec_non_null", issue = "130364")]
pub unsafe fn from_parts_in(ptr: NonNull<T>, length: usize, capacity: usize, alloc: A) -> Self {
ub_checks::assert_unsafe_precondition!(
check_library_ub,
"Vec::from_parts_in requires that length <= capacity",
(length: usize = length, capacity: usize = capacity) => length <= capacity
);
unsafe { Vec { buf: RawVec::from_nonnull_in(ptr, capacity, alloc), len: length } }
}

Expand Down Expand Up @@ -1950,7 +1960,11 @@ impl<T, A: Allocator> Vec<T, A> {
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
pub unsafe fn set_len(&mut self, new_len: usize) {
debug_assert!(new_len <= self.capacity());
ub_checks::assert_unsafe_precondition!(
check_library_ub,
"Vec::set_len requires that new_len <= capacity()",
(new_len: usize = new_len, capacity: usize = self.capacity()) => new_len <= capacity
);

self.len = new_len;
}
Expand Down Expand Up @@ -3695,7 +3709,7 @@ impl<T, A: Allocator> Vec<T, A> {
/// This is optimal if:
///
/// * The tail (elements in the vector after `range`) is empty,
/// * or `replace_with` yields fewer or equal elements than `range`s length
/// * or `replace_with` yields fewer or equal elements than `range`'s length
/// * or the lower bound of its `size_hint()` is exact.
///
/// Otherwise, a temporary vector is allocated and the tail is moved twice.
Expand Down Expand Up @@ -3895,7 +3909,7 @@ unsafe impl<#[may_dangle] T, A: Allocator> Drop for Vec<T, A> {
}

#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "67792")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
impl<T> const Default for Vec<T> {
/// Creates an empty `Vec<T>`.
///
Expand Down
2 changes: 1 addition & 1 deletion library/core/src/any.rs
Original file line number Diff line number Diff line change
Expand Up @@ -783,7 +783,7 @@ impl TypeId {

// This is a provenance-stripping memcpy.
for (i, chunk) in self.data.iter().copied().enumerate() {
let chunk = chunk.expose_provenance().to_ne_bytes();
let chunk = chunk.addr().to_ne_bytes();
let start = i * chunk.len();
bytes[start..(start + chunk.len())].copy_from_slice(&chunk);
}
Expand Down
10 changes: 6 additions & 4 deletions library/core/src/array/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -374,9 +374,10 @@ impl<'a, T, const N: usize> IntoIterator for &'a mut [T; N] {
}

#[stable(feature = "index_trait_on_arrays", since = "1.50.0")]
impl<T, I, const N: usize> Index<I> for [T; N]
#[rustc_const_unstable(feature = "const_index", issue = "143775")]
impl<T, I, const N: usize> const Index<I> for [T; N]
where
[T]: Index<I>,
[T]: ~const Index<I>,
{
type Output = <[T] as Index<I>>::Output;

Expand All @@ -387,9 +388,10 @@ where
}

#[stable(feature = "index_trait_on_arrays", since = "1.50.0")]
impl<T, I, const N: usize> IndexMut<I> for [T; N]
#[rustc_const_unstable(feature = "const_index", issue = "143775")]
impl<T, I, const N: usize> const IndexMut<I> for [T; N]
where
[T]: IndexMut<I>,
[T]: ~const IndexMut<I>,
{
#[inline]
fn index_mut(&mut self, index: I) -> &mut Self::Output {
Expand Down
10 changes: 5 additions & 5 deletions library/core/src/async_iter/async_iter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ pub trait AsyncIterator {
/// async iterator state:
///
/// - `Poll::Pending` means that this async iterator's next value is not ready
/// yet. Implementations will ensure that the current task will be notified
/// when the next value may be ready.
/// yet. Implementations will ensure that the current task will be notified
/// when the next value may be ready.
///
/// - `Poll::Ready(Some(val))` means that the async iterator has successfully
/// produced a value, `val`, and may produce further values on subsequent
/// `poll_next` calls.
/// produced a value, `val`, and may produce further values on subsequent
/// `poll_next` calls.
///
/// - `Poll::Ready(None)` means that the async iterator has terminated, and
/// `poll_next` should not be invoked again.
/// `poll_next` should not be invoked again.
///
/// # Panics
///
Expand Down
8 changes: 4 additions & 4 deletions library/core/src/cell.rs
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ impl<T: Copy> Clone for Cell<T> {
}

#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "67792")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
impl<T: ~const Default> const Default for Cell<T> {
/// Creates a `Cell<T>`, with the `Default` value for T.
#[inline]
Expand Down Expand Up @@ -1324,7 +1324,7 @@ impl<T: Clone> Clone for RefCell<T> {
}

#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "67792")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
impl<T: ~const Default> const Default for RefCell<T> {
/// Creates a `RefCell<T>`, with the `Default` value for T.
#[inline]
Expand Down Expand Up @@ -2332,7 +2332,7 @@ impl<T: ?Sized> UnsafeCell<T> {
}

#[stable(feature = "unsafe_cell_default", since = "1.10.0")]
#[rustc_const_unstable(feature = "const_default", issue = "67792")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
impl<T: ~const Default> const Default for UnsafeCell<T> {
/// Creates an `UnsafeCell`, with the `Default` value for T.
fn default() -> UnsafeCell<T> {
Expand Down Expand Up @@ -2437,7 +2437,7 @@ impl<T: ?Sized> SyncUnsafeCell<T> {
}

#[unstable(feature = "sync_unsafe_cell", issue = "95439")]
#[rustc_const_unstable(feature = "const_default", issue = "67792")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
impl<T: ~const Default> const Default for SyncUnsafeCell<T> {
/// Creates an `SyncUnsafeCell`, with the `Default` value for T.
fn default() -> SyncUnsafeCell<T> {
Expand Down
8 changes: 5 additions & 3 deletions library/core/src/cmp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,8 @@ pub struct AssertParamIsEq<T: Eq + PointeeSized> {
///
/// assert_eq!(2.cmp(&1), Ordering::Greater);
/// ```
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
#[derive(Clone, Copy, Eq, PartialOrd, Ord, Debug, Hash)]
#[derive_const(PartialEq)]
#[stable(feature = "rust1", since = "1.0.0")]
// This is a lang item only so that `BinOp::Cmp` in MIR can return it.
// It has no special behavior, but does require that the three variants
Expand Down Expand Up @@ -1481,13 +1482,14 @@ pub trait PartialOrd<Rhs: PointeeSized = Self>: PartialEq<Rhs> + PointeeSized {
}
}

fn default_chaining_impl<T: PointeeSized, U: PointeeSized>(
fn default_chaining_impl<T, U>(
lhs: &T,
rhs: &U,
p: impl FnOnce(Ordering) -> bool,
) -> ControlFlow<bool>
where
T: PartialOrd<U>,
T: PartialOrd<U> + PointeeSized,
U: PointeeSized,
{
// It's important that this only call `partial_cmp` once, not call `eq` then
// one of the relational operators. We don't want to `bcmp`-then-`memcp` a
Expand Down
8 changes: 6 additions & 2 deletions library/core/src/cmp/bytewise.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,15 @@ use crate::num::NonZero;
/// - Neither `Self` nor `Rhs` have provenance, so integer comparisons are correct.
/// - `<Self as PartialEq<Rhs>>::{eq,ne}` are equivalent to comparing the bytes.
#[rustc_specialization_trait]
pub(crate) unsafe trait BytewiseEq<Rhs = Self>: PartialEq<Rhs> + Sized {}
#[const_trait]
pub(crate) unsafe trait BytewiseEq<Rhs = Self>:
~const PartialEq<Rhs> + Sized
{
}

macro_rules! is_bytewise_comparable {
($($t:ty),+ $(,)?) => {$(
unsafe impl BytewiseEq for $t {}
unsafe impl const BytewiseEq for $t {}
)+};
}

Expand Down
4 changes: 2 additions & 2 deletions library/core/src/default.rs
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ use crate::ascii::Char as AsciiChar;
#[rustc_diagnostic_item = "Default"]
#[stable(feature = "rust1", since = "1.0.0")]
#[const_trait]
#[rustc_const_unstable(feature = "const_default", issue = "67792")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
pub trait Default: Sized {
/// Returns the "default value" for a type.
///
Expand Down Expand Up @@ -151,7 +151,7 @@ pub macro Default($item:item) {
macro_rules! default_impl {
($t:ty, $v:expr, $doc:tt) => {
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_default", issue = "67792")]
#[rustc_const_unstable(feature = "const_default", issue = "143894")]
impl const Default for $t {
#[inline(always)]
#[doc = $doc]
Expand Down
26 changes: 9 additions & 17 deletions library/core/src/ffi/c_str.rs
Original file line number Diff line number Diff line change
Expand Up @@ -142,16 +142,20 @@ pub enum FromBytesWithNulError {
}

#[stable(feature = "frombyteswithnulerror_impls", since = "1.17.0")]
impl Error for FromBytesWithNulError {
#[allow(deprecated)]
fn description(&self) -> &str {
impl fmt::Display for FromBytesWithNulError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::InteriorNul { .. } => "data provided contains an interior nul byte",
Self::NotNulTerminated => "data provided is not nul terminated",
Self::InteriorNul { position } => {
write!(f, "data provided contains an interior nul byte at byte position {position}")
}
Self::NotNulTerminated => write!(f, "data provided is not nul terminated"),
}
}
}

#[stable(feature = "frombyteswithnulerror_impls", since = "1.17.0")]
impl Error for FromBytesWithNulError {}

/// An error indicating that no nul byte was present.
///
/// A slice used to create a [`CStr`] must contain a nul byte somewhere
Expand Down Expand Up @@ -188,18 +192,6 @@ impl Default for &CStr {
}
}

#[stable(feature = "frombyteswithnulerror_impls", since = "1.17.0")]
impl fmt::Display for FromBytesWithNulError {
#[allow(deprecated, deprecated_in_future)]
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(self.description())?;
if let Self::InteriorNul { position } = self {
write!(f, " at byte pos {position}")?;
}
Ok(())
}
}

#[unstable(feature = "ub_checks", issue = "none")]
impl Invariant for &CStr {
/**
Expand Down
1 change: 0 additions & 1 deletion library/core/src/fmt/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -854,7 +854,6 @@ impl Display for Arguments<'_> {
/// }";
/// assert_eq!(format!("The origin is: {origin:#?}"), expected);
/// ```

#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_on_unimplemented(
on(
Expand Down
8 changes: 4 additions & 4 deletions library/core/src/fmt/num.rs
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,7 @@ macro_rules! impl_Display {
}
#[cfg(feature = "optimize_for_size")]
{
offset = _inner_slow_integer_to_str(self.unsigned_abs().$conv_fn(), &mut buf.buf);
offset = ${concat(_inner_slow_integer_to_str, $gen_name)}(self.unsigned_abs().$conv_fn(), &mut buf.buf);
}
// Only difference between signed and unsigned are these 4 lines.
if self < 0 {
Expand Down Expand Up @@ -401,7 +401,7 @@ macro_rules! impl_Display {
}
#[cfg(feature = "optimize_for_size")]
{
offset = _inner_slow_integer_to_str(self.$conv_fn(), &mut buf.buf);
offset = ${concat(_inner_slow_integer_to_str, $gen_name)}(self.$conv_fn(), &mut buf.buf);
}
// SAFETY: Starting from `offset`, all elements of the slice have been set.
unsafe { slice_buffer_to_str(&buf.buf, offset) }
Expand All @@ -412,7 +412,7 @@ macro_rules! impl_Display {
)*

#[cfg(feature = "optimize_for_size")]
fn _inner_slow_integer_to_str(mut n: $u, buf: &mut [MaybeUninit::<u8>]) -> usize {
fn ${concat(_inner_slow_integer_to_str, $gen_name)}(mut n: $u, buf: &mut [MaybeUninit::<u8>]) -> usize {
let mut curr = buf.len();

// SAFETY: To show that it's OK to copy into `buf_ptr`, notice that at the beginning
Expand All @@ -437,7 +437,7 @@ macro_rules! impl_Display {
const MAX_DEC_N: usize = $u::MAX.ilog(10) as usize + 1;
let mut buf = [MaybeUninit::<u8>::uninit(); MAX_DEC_N];

let offset = _inner_slow_integer_to_str(n, &mut buf);
let offset = ${concat(_inner_slow_integer_to_str, $gen_name)}(n, &mut buf);
// SAFETY: Starting from `offset`, all elements of the slice have been set.
let buf_slice = unsafe { slice_buffer_to_str(&buf, offset) };
f.pad_integral(is_nonnegative, "", buf_slice)
Expand Down
Loading