Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
fcd569e
Pass -Cpanic=abort for the panic_abort crate
bjorn3 Apr 24, 2025
310b251
Add diagnostic items for Clippy
samueltardieu Jun 20, 2025
1b9e0d3
add doc(alias("AsciiChar")) to core::ascii::Char
lolbinarycat Jun 20, 2025
0307d70
Rollup merge of #142331 - deven:trim_prefix_suffix, r=Amanieu
tgross35 Jun 20, 2025
8ccec91
Rollup merge of #142764 - ChaiTRex:ilog_10_to_ilog10, r=workingjubilee
Kobzol Jun 20, 2025
2a48157
integer docs: remove extraneous text
tshepang Jun 20, 2025
6f6900e
Auto merge of #142794 - tgross35:rollup-iae7okj, r=tgross35
bors Jun 20, 2025
8daf694
Rollup merge of #142485 - mu001999-contrib:dead-code/adt-pattern, r=p…
tgross35 Jun 21, 2025
cad36ed
Rollup merge of #142756 - Daniel-Aaron-Bloom:const-clone, r=oli-obk
tgross35 Jun 21, 2025
daf8ed1
Rollup merge of #142787 - samueltardieu:diag-items-for-clippy, r=Mani…
matthiaskrgr Jun 21, 2025
d14f659
Rollup merge of #142788 - lolbinarycat:core-AsciiChar-alias, r=tgross35
matthiaskrgr Jun 21, 2025
f26d22a
Rollup merge of #140254 - bjorn3:rustc_panic_abort_abort, r=petrochenkov
jhpratt Jun 22, 2025
c620fab
Rollup merge of #142800 - tshepang:extraneous, r=Mark-Simulacrum
jhpratt Jun 22, 2025
e79e01c
Implement DesugaringKind::FormatLiteral
mejrs Jun 16, 2025
0d5e35f
Stop dbg! macro yapping about format modifiers
mejrs Jun 17, 2025
9d7e407
Rollup merge of #142594 - mejrs:new_desugaring, r=chenyukang
GuillaumeGomez Jun 22, 2025
1f8fe69
phantom_variance_markers: fix identifier usage in macro
pthariensflame Jun 22, 2025
0dbdf26
Auto merge of #142728 - kornelski:string-track, r=tgross35
bors Jun 22, 2025
39f6ede
update to literal-escaper 0.0.4 for better API without `unreachable` …
hkBst Mar 7, 2025
d488730
Make `PartialEq` a `const_trait`
oli-obk Jun 20, 2025
95a3faf
Use a NonNull pointer
Darksonn Jun 23, 2025
df4fba8
Removed `library/stdarch` submodule
Kobzol Jun 23, 2025
75af492
Import stdarch history as a Josh subtree
Kobzol Jun 23, 2025
704728d
Rollup merge of #140985 - zachs18:fuse-default-some, r=tgross35
workingjubilee Jun 23, 2025
8404bc6
Rollup merge of #141324 - Ayush1325:uefi-rand-fallback, r=joboet
workingjubilee Jun 23, 2025
17a5275
Rollup merge of #140005 - mlowicki:patch-1, r=tgross35
GuillaumeGomez Jun 24, 2025
71f93f7
Rollup merge of #142779 - Erk-:fix/core/142734, r=jhpratt
GuillaumeGomez Jun 24, 2025
56f3f9d
Rollup merge of #142894 - pthariensflame:patch-1, r=jhpratt
GuillaumeGomez Jun 24, 2025
395ae00
Remove the deprecated `concat_idents!` macro
tgross35 Jun 19, 2025
766aa60
Rollup merge of #137268 - bjoernager:c-string-eq-c-str, r=Amanieu
GuillaumeGomez Jun 24, 2025
b24d9ad
Rollup merge of #142704 - tgross35:remove-concat_idents, r=fee1-dead
GuillaumeGomez Jun 24, 2025
8c27a34
Use `asm_cfg` in `probestack`
folkertdev Jun 24, 2025
ac2de70
Corrected spelling mistake in c_str.rs
MetaNova Jun 24, 2025
2466d52
Avoid exporting panic_unwind as stdlib cargo feature
bjorn3 May 8, 2025
884bfed
Auto merge of #140999 - hkBst:update-escaper, r=nnethercote
bors Jun 25, 2025
b30a12d
Rollup merge of #142453 - ChrisDenton:fused, r=Amanieu
workingjubilee Jun 25, 2025
25b2208
Rollup merge of #142982 - MetaNova:patch-1, r=jhpratt
workingjubilee Jun 25, 2025
91f22c4
Auto merge of #142997 - workingjubilee:rollup-6lxec87, r=workingjubilee
bors Jun 25, 2025
ab155bf
Add Sub, Mul, Div, Rem as const_traits
SciMind2460 Jun 25, 2025
7559d68
Add `sym::macro_pin` diagnostic item for `core::pin::pin!()`
samueltardieu Jun 25, 2025
0b75ada
make `tidy-alphabetical` use a natural sort
folkertdev May 20, 2025
c5450a0
make RefCell unstably const
Daniel-Aaron-Bloom May 7, 2025
86d7052
Auto merge of #141899 - Kobzol:stdarch-josh, r=Amanieu
bors Jun 26, 2025
8ab285c
Fix RwLock::try_write documentation for WouldBlock condition
krikera Jun 26, 2025
d0835ef
Rollup merge of #141311 - folkertdev:tidy-natural-sort, r=jieyouxu
matthiaskrgr Jun 26, 2025
e8dbb81
Tracking issue number for `iter_macro`
GrigorenkoPV Jun 26, 2025
43eda97
Rollup merge of #137843 - Daniel-Aaron-Bloom:const_cell, r=oli-obk
compiler-errors Jun 27, 2025
a1a74c2
Rollup merge of #142549 - the8472:intersperse-fold-tweak, r=tgross35
compiler-errors Jun 27, 2025
5e7af6b
Rollup merge of #142700 - theemathas:remove-weak-comment, r=ibraheemdev
compiler-errors Jun 27, 2025
5215f1a
Rollup merge of #142967 - krikera:fix-rwlock-try-write-docs, r=jhpratt
compiler-errors Jun 27, 2025
3434a22
Rollup merge of #143015 - samueltardieu:pin-macro-diag-item, r=Urgau
compiler-errors Jun 27, 2025
e0d1b7e
Rollup merge of #143067 - GrigorenkoPV:142269, r=workingjubilee
compiler-errors Jun 27, 2025
795f313
Auto merge of #143074 - compiler-errors:rollup-cv64hdh, r=compiler-er…
bors Jun 27, 2025
a14206b
Insert checks for enum discriminants when debug assertions are enabled
1c3t3a May 15, 2025
264b83b
update internal `send_signal` comment
fee1-dead Jun 27, 2025
639a3dc
Update poison.rs to fix the typo (sys->sync)
SciMind2460 Jun 27, 2025
10f80b7
BTreeSet: remove duplicated code by reusing `from_sorted_iter`
xu-cheng Jun 27, 2025
6967ac3
Rollup merge of #140809 - bjorn3:panic_runtime_cleanup, r=petrochenkov
matthiaskrgr Jun 27, 2025
4e8fd88
Merge from rustc
Jun 28, 2025
081a91a
Workaround for mem safety in third party dlls
ChrisDenton Jun 27, 2025
bee72cf
Auto merge of #141759 - 1c3t3a:discriminants-query, r=saethlin
bors Jun 28, 2025
0144548
"set by Rusts options". Remove misleading always-true if cfg!(unix). …
nabijaczleweli Jun 22, 2025
9bf5f1d
Rollup merge of #123476 - devnexen:std_net_solaris_exclbind, r=Mark-S…
matthiaskrgr Jun 28, 2025
6a16077
Rollup merge of #142708 - Darksonn:location-len-without-nul, r=Mark-S…
matthiaskrgr Jun 28, 2025
38e0cb3
Rollup merge of #143082 - fee1-dead-contrib:push-qvvppzukvkxt, r=Mark…
matthiaskrgr Jun 28, 2025
ab180be
Rollup merge of #143111 - xu-cheng:btreeset_from_iter, r=Mark-Simulacrum
matthiaskrgr Jun 28, 2025
93fbfe3
Rollup merge of #142889 - nabijaczleweli:rusts, r=Mark-Simulacrum
matthiaskrgr Jun 29, 2025
9e28f11
Merge from rustc
Jun 29, 2025
ff981c2
Update README.md
kilavvy Jun 29, 2025
e3fb598
apply suggestions for clippy::manual_is_multiple_of in libm-test
quaternic Jun 29, 2025
22f684c
Rollup merge of #142078 - sayantn:more-intrinsics, r=workingjubilee
GuillaumeGomez Jun 29, 2025
2cf1d43
Auto merge of #143137 - RalfJung:miri-sync, r=RalfJung
bors Jun 29, 2025
9ea9a3b
Merge from rustc
RalfJung Jun 29, 2025
844d523
Show auto trait and blanket impls for `!`
zachs18 Jun 29, 2025
572cb75
Stop backends from needing to support nullary intrinsics
oli-obk Jun 21, 2025
e088f73
Remove the nullary intrinsic const eval logic and treat them like oth…
oli-obk Jun 21, 2025
aacee7b
Rollup merge of #143090 - ChrisDenton:workaround1, r=tgross35
dianqk Jun 30, 2025
6a57bba
Rollup merge of #143176 - kilavvy:master, r=jieyouxu
dianqk Jun 30, 2025
7a18251
Rollup merge of #143219 - zachs18:patch-5, r=tgross35
dianqk Jun 30, 2025
2d9d0ee
Stabilize `mixed_integer_ops_unsigned_sub`
nxsaken Jun 30, 2025
9deadd6
josh-sync: Replace `#xxxx`-style links in messages
tgross35 Jun 14, 2025
3aefdd2
Auto merge of #143233 - dianqk:rollup-lcx3278, r=dianqk
bors Jun 30, 2025
16148b2
make compiler_builtins a private dependency
Qelxiros Jun 30, 2025
5eabc59
Mention as_chunks in the docs for chunks
scottmcm Jul 1, 2025
645c8a8
Merge from rustc
Jul 1, 2025
5c6f47c
Detect more cases of unused_parens around types
Jun 4, 2025
b31092d
libm: Improved integer utilities, implement shifts and bug fixes for …
quaternic Jul 1, 2025
cf2d708
Rollup merge of #136801 - sorairolake:add-random-for-tuple, r=joshtri…
GuillaumeGomez Jul 1, 2025
2ad9b0e
Rollup merge of #141867 - Diggsey:db-improve-future-docs, r=tgross35
GuillaumeGomez Jul 1, 2025
46c01c8
Rollup merge of #142760 - epage:lock, r=tgross35
GuillaumeGomez Jul 1, 2025
cda234d
Change `{Box,Arc,Rc,Weak}::into_raw` to only work with `A = Global`
Amanieu May 18, 2025
20c9021
Update version placeholders
cuviper Jun 23, 2025
882617d
make Box::into_raw compatible with Stacked Borrows again
RalfJung May 19, 2025
c3a2379
Update `cfg(bootstrap)`
cuviper Jun 24, 2025
f9c4a23
Ignore `float_minimum_maximum` doctests on i586
cuviper Jun 28, 2025
0cedc03
Auto merge of #142974 - cuviper:stage0-bump, r=Mark-Simulacrum
bors Jul 2, 2025
9277453
Merge from rustc
Jul 2, 2025
add7b91
Use the compiler to determine whether or not to enable `f16` and `f128`
tgross35 Jun 30, 2025
b95020f
byte-addresses memory -> byte-addressed memory
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
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
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
dvdsk May 31, 2025
30bd486
sleep_until: add clock_nanosleep support to Miri
dvdsk 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
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'
codexarafat 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
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
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
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
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
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
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
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
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
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
9d16539
Auto merge of #143461 - folkertdev:cfg-select-builtin-macro, r=petroc…
bors Jul 13, 2025
f19ef43
Merge branch 'subtree/library'
Jul 22, 2025
2332c54
Update toolchain to 2025-07-14
Jul 22, 2025
9bf8199
Update Kani version to 5af25b54e695e0480887ab2e978cd4dd05b7154c
Jul 22, 2025
7d155b1
Update Flux version
tautschnig Jul 23, 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
20 changes: 20 additions & 0 deletions library/compiler-builtins/.github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,25 @@ jobs:
run: ./ci/update-musl.sh
- run: cargo clippy --workspace --all-targets

build-custom:
name: Build custom target
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install Rust
run: |
rustup update nightly --no-self-update
rustup default nightly
rustup component add rust-src
- uses: Swatinem/rust-cache@v2
- run: |
# Ensure we can build with custom target.json files (these can interact
# poorly with build scripts)
cargo build -p compiler_builtins -p libm \
--target etc/thumbv7em-none-eabi-renamed.json \
-Zbuild-std=core

benchmarks:
name: Benchmarks
timeout-minutes: 20
Expand Down Expand Up @@ -331,6 +350,7 @@ jobs:
success:
needs:
- benchmarks
- build-custom
- clippy
- extensive
- miri
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,5 @@ fn main() {
println!("cargo::rerun-if-changed=../configure.rs");

let target = builtins_configure::Target::from_env();
builtins_configure::configure_f16_f128(&target);
builtins_configure::configure_aliases(&target);
}
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ float_bench! {
],
}

#[cfg(f128_enabled)]
float_bench! {
name: cmp_f128_gt,
sig: (a: f128, b: f128) -> CmpResult,
Expand All @@ -189,6 +190,7 @@ float_bench! {
asm: []
}

#[cfg(f128_enabled)]
float_bench! {
name: cmp_f128_unord,
sig: (a: f128, b: f128) -> CmpResult,
Expand Down
1 change: 0 additions & 1 deletion library/compiler-builtins/builtins-test/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,4 @@ fn main() {
}

builtins_configure::configure_aliases(&target);
builtins_configure::configure_f16_f128(&target);
}
4 changes: 2 additions & 2 deletions library/compiler-builtins/builtins-test/tests/conv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ mod i_to_f {
i128, __floattidf;
}

#[cfg(not(feature = "no-f16-f128"))]
#[cfg(f128_enabled)]
#[cfg(not(any(target_arch = "powerpc", target_arch = "powerpc64")))]
i_to_f! { f128, Quad, not(feature = "no-sys-f128-int-convert"),
u32, __floatunsitf;
Expand All @@ -129,7 +129,7 @@ mod i_to_f {
i128, __floattitf;
}

#[cfg(not(feature = "no-f16-f128"))]
#[cfg(f128_enabled)]
#[cfg(any(target_arch = "powerpc", target_arch = "powerpc64"))]
i_to_f! { f128, Quad, not(feature = "no-sys-f128-int-convert"),
u32, __floatunsikf;
Expand Down
4 changes: 2 additions & 2 deletions library/compiler-builtins/builtins-test/tests/div_rem.rs
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ mod float_div {
f64, __divdf3, Double, all();
}

#[cfg(not(feature = "no-f16-f128"))]
#[cfg(f128_enabled)]
#[cfg(not(any(target_arch = "powerpc", target_arch = "powerpc64")))]
float! {
f128, __divtf3, Quad,
Expand All @@ -156,7 +156,7 @@ mod float_div {
not(any(feature = "no-sys-f128", all(target_arch = "aarch64", target_os = "linux")));
}

#[cfg(not(feature = "no-f16-f128"))]
#[cfg(f128_enabled)]
#[cfg(any(target_arch = "powerpc", target_arch = "powerpc64"))]
float! {
f128, __divkf3, Quad, not(feature = "no-sys-f128");
Expand Down
27 changes: 12 additions & 15 deletions library/compiler-builtins/ci/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -54,29 +54,26 @@ symcheck=(cargo run -p symbol-check --release)
[[ "$target" = "wasm"* ]] && symcheck+=(--features wasm)
symcheck+=(-- build-and-check)

"${symcheck[@]}" -p compiler_builtins --target "$target"
"${symcheck[@]}" -p compiler_builtins --target "$target" --release
"${symcheck[@]}" -p compiler_builtins --target "$target" --features c
"${symcheck[@]}" -p compiler_builtins --target "$target" --features c --release
"${symcheck[@]}" -p compiler_builtins --target "$target" --features no-asm
"${symcheck[@]}" -p compiler_builtins --target "$target" --features no-asm --release
"${symcheck[@]}" -p compiler_builtins --target "$target" --features no-f16-f128
"${symcheck[@]}" -p compiler_builtins --target "$target" --features no-f16-f128 --release
"${symcheck[@]}" "$target" -- -p compiler_builtins
"${symcheck[@]}" "$target" -- -p compiler_builtins --release
"${symcheck[@]}" "$target" -- -p compiler_builtins --features c
"${symcheck[@]}" "$target" -- -p compiler_builtins --features c --release
"${symcheck[@]}" "$target" -- -p compiler_builtins --features no-asm
"${symcheck[@]}" "$target" -- -p compiler_builtins --features no-asm --release
"${symcheck[@]}" "$target" -- -p compiler_builtins --features no-f16-f128
"${symcheck[@]}" "$target" -- -p compiler_builtins --features no-f16-f128 --release

run_intrinsics_test() {
args=(
--target "$target" --verbose \
--manifest-path builtins-test-intrinsics/Cargo.toml
)
args+=( "$@" )
build_args=(--verbose --manifest-path builtins-test-intrinsics/Cargo.toml)
build_args+=("$@")

# symcheck also checks the results of builtins-test-intrinsics
"${symcheck[@]}" "${args[@]}"
"${symcheck[@]}" "$target" -- "${build_args[@]}"

# FIXME: we get access violations on Windows, our entrypoint may need to
# be tweaked.
if [ "${BUILD_ONLY:-}" != "1" ] && ! [[ "$target" = *"windows"* ]]; then
cargo run "${args[@]}"
cargo run --target "$target" "${build_args[@]}"
fi
}

Expand Down
2 changes: 2 additions & 0 deletions library/compiler-builtins/compiler-builtins/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ links = "compiler-rt"
bench = false
doctest = false
test = false
# make sure this crate isn't included in public standard library docs
doc = false

[dependencies]
core = { path = "../../core", optional = true }
Expand Down
3 changes: 1 addition & 2 deletions library/compiler-builtins/compiler-builtins/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ mod configure;

use std::env;

use configure::{Target, configure_aliases, configure_f16_f128};
use configure::{Target, configure_aliases};

fn main() {
println!("cargo::rerun-if-changed=build.rs");
Expand All @@ -12,7 +12,6 @@ fn main() {
let cwd = env::current_dir().unwrap();

configure_check_cfg();
configure_f16_f128(&target);
configure_aliases(&target);

configure_libm(&target);
Expand Down
88 changes: 37 additions & 51 deletions library/compiler-builtins/compiler-builtins/configure.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Configuration that is shared between `compiler_builtins` and `builtins_test`.

use std::env;
use std::process::{Command, Stdio};
use std::{env, str};

#[derive(Debug)]
#[allow(dead_code)]
Expand All @@ -16,6 +17,8 @@ pub struct Target {
pub pointer_width: u8,
pub little_endian: bool,
pub features: Vec<String>,
pub reliable_f128: bool,
pub reliable_f16: bool,
}

impl Target {
Expand All @@ -32,6 +35,26 @@ impl Target {
.map(|s| s.to_lowercase().replace("_", "-"))
.collect();

// Query rustc for options that Cargo does not provide env for. The bootstrap hack is used
// to get consistent output regardless of channel (`f16`/`f128` config options are hidden
// on stable otherwise).
let mut cmd = Command::new(env::var("RUSTC").unwrap());
cmd.args(["--print=cfg", "--target", &triple])
.env("RUSTC_BOOTSTRAP", "1")
.stderr(Stdio::inherit());
let out = cmd
.output()
.unwrap_or_else(|e| panic!("failed to run `{cmd:?}`: {e}"));
let rustc_cfg = str::from_utf8(&out.stdout).unwrap();

// If we couldn't query `rustc` (e.g. a custom JSON target was used), make the safe
// choice and leave `f16` and `f128` disabled.
let rustc_output_ok = out.status.success();
let reliable_f128 =
rustc_output_ok && rustc_cfg.lines().any(|l| l == "target_has_reliable_f128");
let reliable_f16 =
rustc_output_ok && rustc_cfg.lines().any(|l| l == "target_has_reliable_f16");

Self {
triple,
triple_split,
Expand All @@ -51,6 +74,8 @@ impl Target {
.split(",")
.map(ToOwned::to_owned)
.collect(),
reliable_f128,
reliable_f16,
}
}

Expand All @@ -74,63 +99,24 @@ pub fn configure_aliases(target: &Target) {
if target.triple_split[0] == "thumbv6m" || target.triple_split[0] == "thumbv8m.base" {
println!("cargo:rustc-cfg=thumb_1")
}
}

/// Configure whether or not `f16` and `f128` support should be enabled.
pub fn configure_f16_f128(target: &Target) {
// Set whether or not `f16` and `f128` are supported at a basic level by LLVM. This only means
// that the backend will not crash when using these types and generates code that can be called
// without crashing (no infinite recursion). This does not mean that the platform doesn't have
// ABI or other bugs.
//
// We do this here rather than in `rust-lang/rust` because configuring via cargo features is
// not straightforward.
//
// Original source of this list:
// <https://github.com/rust-lang/compiler-builtins/pull/652#issuecomment-2266151350>
let f16_enabled = match target.arch.as_str() {
// Unsupported <https://github.com/llvm/llvm-project/issues/94434>
"arm64ec" => false,
// Selection failure <https://github.com/llvm/llvm-project/issues/50374>
"s390x" => false,
// Infinite recursion <https://github.com/llvm/llvm-project/issues/97981>
"csky" => false,
"hexagon" => false,
"powerpc" | "powerpc64" => false,
"sparc" | "sparc64" => false,
"wasm32" | "wasm64" => false,
// Most everything else works as of LLVM 19
_ => true,
};

let f128_enabled = match target.arch.as_str() {
// Unsupported (libcall is not supported) <https://github.com/llvm/llvm-project/issues/121122>
"amdgpu" => false,
// Unsupported <https://github.com/llvm/llvm-project/issues/94434>
"arm64ec" => false,
// FIXME(llvm20): fixed by <https://github.com/llvm/llvm-project/pull/117525>
"mips64" | "mips64r6" => false,
// Selection failure <https://github.com/llvm/llvm-project/issues/95471>
"nvptx64" => false,
// Selection failure <https://github.com/llvm/llvm-project/issues/101545>
"powerpc64" if &target.os == "aix" => false,
// Selection failure <https://github.com/llvm/llvm-project/issues/41838>
"sparc" => false,
// Most everything else works as of LLVM 19
_ => true,
};
/* Not all backends support `f16` and `f128` to the same level on all architectures, so we
* need to disable things if the compiler may crash. See configuration at:
* * https://github.com/rust-lang/rust/blob/c65dccabacdfd6c8a7f7439eba13422fdd89b91e/compiler/rustc_codegen_llvm/src/llvm_util.rs#L367-L432
* * https://github.com/rust-lang/rustc_codegen_gcc/blob/4b5c44b14166083eef8d71f15f5ea1f53fc976a0/src/lib.rs#L496-L507
* * https://github.com/rust-lang/rustc_codegen_cranelift/blob/c713ffab3c6e28ab4b4dd4e392330f786ea657ad/src/lib.rs#L196-L226
*/

// If the feature is set, disable these types.
let disable_both = env::var_os("CARGO_FEATURE_NO_F16_F128").is_some();
// If the feature is set, disable both of these types.
let no_f16_f128 = target.cargo_features.iter().any(|s| s == "no-f16-f128");

println!("cargo::rustc-check-cfg=cfg(f16_enabled)");
println!("cargo::rustc-check-cfg=cfg(f128_enabled)");

if f16_enabled && !disable_both {
if target.reliable_f16 && !no_f16_f128 {
println!("cargo::rustc-cfg=f16_enabled");
}

if f128_enabled && !disable_both {
println!("cargo::rustc-check-cfg=cfg(f128_enabled)");
if target.reliable_f128 && !no_f16_f128 {
println!("cargo::rustc-cfg=f128_enabled");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use core::intrinsics;
intrinsics! {
#[unsafe(naked)]
#[cfg(all(target_os = "uefi", not(feature = "no-asm")))]
pub unsafe extern "C" fn __chkstk() {
pub unsafe extern "custom" fn __chkstk() {
core::arch::naked_asm!(
".p2align 2",
"lsl x16, x15, #4",
Expand Down
Loading