Commit graph

163011 commits

Author SHA1 Message Date
bors
1677d46cb1 Auto merge of #142292 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2025-06-10 20:54:59 +00:00
León Orell Valerian Liehr
34d39eb3cb
Rollup merge of #142275 - aDotInTheVoid:gen-ty-of, r=fmease
rustdoc: Refractor `clean_ty_generics`

Refactoring towards rust-lang/rust#142226

[Zulip Discussion](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/Why.20sometimes.20.60predicates_of.60.20.28vs.20.60explicit_predicates_.2E.2E.2E/near/523182529)

The old `clean_ty_generics` was almost always called with the same args, so rename it to `clean_ty_generics_inner`, and add a new wrapper that generates those args from a `DefId`. Having this be the main entrypoint to `clean_ty_generics` should make it easier to start calling `inferred_outlives_of` https://github.com/rust-lang/rust/pull/142264#discussion_r2136498360 (and is more readable even if we don't)

Also, replaces all calls in rustdoc to `tcx.predicates_of` to `tcx.explicit_predicates_of`, which lets us remove `filter_non_trait_generics`

r? ```@fmease```
2025-06-10 16:54:53 +02:00
León Orell Valerian Liehr
28d385647f
Rollup merge of #142258 - teohhanhui:docs/platform-support-linux-kernel-version-or-later, r=workingjubilee
platform-support.md: Mention specific Linux kernel version or later

To be consistent with notes for other targets...

~~(Only made the change for `aarch64-unknown-linux-gnu` for now, as that's fairly certain after looking at the `git blame` just to be sure.)~~
2025-06-10 16:54:51 +02:00
León Orell Valerian Liehr
b9a578ea27
Rollup merge of #141909 - Shourya742:2025-06-01-add-execution-context, r=Kobzol
Add central execution context to bootstrap

This PR continues the effort toward command centralization as outlined in https://github.com/rust-lang/rust/issues/126819. It introduces a centralized execution context through which all commands will be executed. Previously, centralization was limited to build methods; this PR extends it to the `config` module and updates the remaining methods accordingly.

Best reviewed commit by commit.

r? ``@Kobzol``
2025-06-10 16:54:48 +02:00
León Orell Valerian Liehr
04025fae87
Rollup merge of #141818 - mati865:dont-create-msi-from-non-windows, r=Kobzol
Don't create .msi installer for gnullvm hosts

WIX toolset works only on Windows hosts, but gnullvm doesn't have host toolchain yet. To get out of this loop, we will create a single release without MSI installer.

Split out from: https://github.com/rust-lang/rust/pull/140772
2025-06-10 16:54:47 +02:00
Ralf Jung
680176ad58
Merge pull request #4389 from RalfJung/native-lib-search-order
native_lib: skip to next .so if function was in dependency of the first
2025-06-10 09:11:49 +00:00
Ralf Jung
f5457e402f
Merge pull request #4382 from RalfJung/dup
test_dup: ensure the FDs remain in sync even after dup'ing
2025-06-10 09:11:22 +00:00
Ralf Jung
a7153db254 float tests: test non-determinism for more operations 2025-06-10 10:07:20 +02:00
Ralf Jung
7d5fac72da
Merge pull request #4394 from RalfJung/smallvec
add SmallVec test
2025-06-10 07:15:37 +00:00
Ralf Jung
3e980d5f64 add SmallVec test 2025-06-10 08:46:30 +02:00
Ralf Jung
fceb8d6510 sync max_fundamental_align with alloc crate 2025-06-10 08:10:16 +02:00
bors
40daf23eeb Auto merge of #142109 - weihanglo:update-cargo, r=weihanglo
Update cargo

18 commits in 64a12460708cf146e16cc61f28aba5dc2463bbb4..fc1518ef02b77327d70d4026b95ea719dd9b8c51
2025-05-30 18:25:08 +0000 to 2025-06-06 04:49:44 +0000
- fix: Make UI tests handle hyperlinks consistently (rust-lang/cargo#15640)
- Update "time out" to "timeout" (rust-lang/cargo#15637)
- fix(workspace): reload current manifest path member only (rust-lang/cargo#15633)
- Update dependencies (rust-lang/cargo#15635)
- fix(publish): Don't tell people to ctrl-c without knowing consequences  (rust-lang/cargo#15632)
- refactor: clean up `clippy::perf` lint warnings (rust-lang/cargo#15631)
- fix(package): Skip registry check if its not needed (rust-lang/cargo#15629)
- Add --offline for comp (rust-lang/cargo#15623)
- cargo-credential-libsecret: load libsecret only once (rust-lang/cargo#15295)
- test(publish): Improvements in prep for `-Zpackage-workspace` stabilization (rust-lang/cargo#15628)
- fix(package): Allow packaging of self-cycles with -Zpackage-workspace (rust-lang/cargo#15626)
- docs: clarify `--all-features` not available for all commmands (rust-lang/cargo#15572)
- Remove double reference in Shell::print_json (rust-lang/cargo#15460)
- fix(trim-paths): remap all paths to `build.build-dir` (rust-lang/cargo#15614)
- test(trim-paths): enable more tests for windows-msvc (rust-lang/cargo#15621)
- fix(fingerprint): explicit reason rather than "stale; unknown reason" (rust-lang/cargo#15617)
- Fix cargo add overwriting symlinked Cargo.toml files (rust-lang/cargo#15281)
- chore(deps): update alpine docker tag to v3.22 (rust-lang/cargo#15616)

r? ghost
2025-06-10 05:56:54 +00:00
The Miri Cronjob Bot
89db7778d6 fmt 2025-06-10 05:03:44 +00:00
The Miri Cronjob Bot
c601681d95 Merge from rustc 2025-06-10 05:02:33 +00:00
The Miri Cronjob Bot
5eb5f2a226 Preparing for merge from rustc 2025-06-10 04:55:12 +00:00
bors
8a407a8284 Auto merge of #142250 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-06-10 01:52:18 +00:00
Alona Enraght-Moony
856c9971fd rustdoc: Refractor clean_ty_generics 2025-06-10 00:39:45 +00:00
Mateusz Mikuła
4f0b60aa71 Don't create .msi installer for gnullvm hosts
WIX toolset works only on Windows hosts and we need to boostrap this
host.
2025-06-09 23:54:04 +02:00
bors
c6768de2d6 Auto merge of #138062 - LorrensP-2158466:miri-enable-float-nondet, r=RalfJung
Enable Non-determinism of float operations in Miri and change std tests

Links to [#4208](https://github.com/rust-lang/miri/issues/4208) and [#3555](https://github.com/rust-lang/miri/issues/3555) in Miri.

Non-determinism of floating point operations was disabled in rust-lang/rust#137594 because it breaks the tests and doc-tests in core/coretests and std. This PR enables some of them.

This pr includes the following changes:

- Enables the float non-determinism but with a lower relative error of 4ULP instead of 16ULP
- These operations now have a fixed output based on the C23 standard, except the pow operations, this is tracked in [#4286](https://github.com/rust-lang/miri/issues/4286#issue-3010677983)
- Changes tests that made incorrect assumptions about the operations, not to make that assumption anymore (from `assert_eq!` to `assert_approx_eq!`.
- Changed the doctests of the stdlib of these operations to compare against fixed constants instead of `f*::EPSILON`, which now succeed with Miri and `-Zmiri-many-seeds`
- Added a constant `APPROX_DELTA` in `std/tests/floats/f32.rs` which is used for approximation tests, but with a different value when run in Miri. This is to make these tests succeed.
- Added tests in the float tests of Miri to test the C23 behaviour.

Fixes https://github.com/rust-lang/miri/issues/4208
2025-06-09 21:21:58 +00:00
Ralf Jung
11581df1ba native-lib: update readme (to mention folders in header) 2025-06-09 21:52:43 +02:00
Ralf Jung
a096de73ea native_lib: skip to next .so if function was in dependency of the first 2025-06-09 21:49:50 +02:00
Teoh Han Hui
a9401ea657
platform-support.md: Mention specific Linux kernel version or later 2025-06-10 02:47:15 +08:00
bors
d13a431a6c Auto merge of #142253 - tgross35:rollup-img49op, r=tgross35
Rollup of 5 pull requests

Successful merges:

 - rust-lang/rust#140767 (Stabilize `sha512`, `sm3` and `sm4` for x86)
 - rust-lang/rust#141001 (Make NonZero<char> possible)
 - rust-lang/rust#141993 (Use the in-tree `compiler-builtins` for the sysroot)
 - rust-lang/rust#142208 (Always consider `const _` items as live for dead code analysis)
 - rust-lang/rust#142238 (stabilize nonnull_provenance)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-09 18:22:02 +00:00
Trevor Gross
ab87ed150b
Rollup merge of #141993 - tgross35:use-in-tree-builtins, r=bjorn3
Use the in-tree `compiler-builtins` for the sysroot

Many of `std`'s dependency have a dependency on the crates.io `compiler-builtins` when used with the feature `rustc-std-workspace-core`. Use a Cargo patch to select the in-tree version instead.

`compiler-builtins` is also added as a dependency of `rustc-std-workspace-core` so these crates can remove their crates.io dependency in the future.

Zulip discussion: [#t-compiler > Using in-tree compiler-builtins](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Using.20in-tree.20compiler-builtins/with/522445336)

Once this merges, the following PRs will need to make it to a release for the relevant crates:

- https://github.com/rust-lang/getopts/pull/119 (can merge at any time)
- https://github.com/rust-lang/hashbrown/pull/625 (can merge at any time)
- https://github.com/rust-lang/stdarch/pull/1825
- https://github.com/rust-lang/rustc-demangle/pull/80
- https://github.com/rust-lang/cfg-if/pull/84
- https://github.com/unicode-rs/unicode-width/pull/77

The above should cover all tier 1 targets with no `std` features enabled. The remaining cover the rest:

- https://github.com/alexcrichton/dlmalloc-rs/pull/50 (wasm, xous, sgx)
- https://github.com/gimli-rs/gimli/pull/769
- https://github.com/r-efi/r-efi/pull/89 (efi)
- https://github.com/r-efi/r-efi-alloc/pull/9 (efi)
- https://github.com/fortanix/rust-sgx/pull/770 (sgx)
- https://github.com/hermit-os/hermit-rs/pull/718 (hermit)
- https://github.com/bytecodealliance/wasi-rs/pull/108 (wasi)
- https://github.com/gimli-rs/addr2line/pull/345
- https://github.com/oyvindln/adler2/pull/2
- https://github.com/BurntSushi/memchr/pull/180
- https://github.com/Frommi/miniz_oxide/pull/173
- https://github.com/gimli-rs/object/pull/777

try-job: x86_64-gnu
try-job: test-various
2025-06-09 12:17:53 -05:00
Ralf Jung
ed5a655386
Merge pull request #4376 from yoctocell/tb-interior-mut-flag
TB: Add flag to disable the more precise interior mutability tracking
2025-06-09 15:50:19 +00:00
bit-aloo
51fbd145f9
Initialize the execution context in parse_inner, start using dry run from the execution context, add getters and setters in the config, and update the tests and other relevant areas accordingly. 2025-06-09 21:11:45 +05:30
Xinglu Chen
4e8d5837df Add -Zmiri-tree-borrows-no-precise-interior-mut flag 2025-06-09 17:23:49 +02:00
bors
00b526212b Auto merge of #142241 - Kobzol:disable-ci-rustc-on-ci, r=jieyouxu
Disable download-rustc on CI

Should resolve https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/aarch64-apple.20try.20job.20doesn.27t.20work/with/522659759.

r? `@jieyouxu`
2025-06-09 15:21:07 +00:00
bit-aloo
e9ced508f4
remove execution context from flag module and correct the command invocation according to suggestions 2025-06-09 20:39:48 +05:30
bit-aloo
f3e1eb1dca
update dry_run value in exec_ctx and start forwarding exec_ctx verbose methods via config 2025-06-09 20:39:45 +05:30
bit-aloo
50725f325b
move all commands to new execution context 2025-06-09 20:39:15 +05:30
bit-aloo
98be2a0498
move all config command invocation to new execution context invocation 2025-06-09 20:38:13 +05:30
bit-aloo
746276cfb2
moved git command to new exec context 2025-06-09 20:38:13 +05:30
bit-aloo
bae39b8f10
move all download.rs method to new execution context command invocation 2025-06-09 20:38:12 +05:30
bit-aloo
d544c2b8d0
covert uname to new extext method 2025-06-09 20:38:12 +05:30
bit-aloo
2d1ca83ab5
moved curl to use new execution_context 2025-06-09 20:38:12 +05:30
bit-aloo
81abbe1f12
moved sanity command to exec context 2025-06-09 20:38:12 +05:30
Laurențiu Nicola
88223c56d9 Merge from rust-lang/rust 2025-06-09 15:44:40 +03:00
Laurențiu Nicola
cbe6fe86ef Preparing for merge from rust-lang/rust 2025-06-09 15:44:03 +03:00
bors
14863ea077 Auto merge of #142242 - matthiaskrgr:rollup-1sgx0ji, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - rust-lang/rust#129121 (Stabilize `tcp_quickack`)
 - rust-lang/rust#142192 (De-duplicate f16 & f128 doctest attributes)
 - rust-lang/rust#142193 (add tests for pattern binding drop order edge cases)
 - rust-lang/rust#142222 (Dont make `ObligationCtxt`s with diagnostics unnecessarily)
 - rust-lang/rust#142228 (rustc-dev-guide subtree update)
 - rust-lang/rust#142231 (Run `calculate_matrix` job on `master` to cache citool builds)
 - rust-lang/rust#142232 (add `Cargo.lock` to CI-rustc allowed list for non-CI env)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-09 12:21:14 +00:00
Matthias Krüger
8daa8ef75c
Rollup merge of #142232 - onur-ozkan:141986, r=Kobzol
add `Cargo.lock` to CI-rustc allowed list for non-CI env

Changes to dependencies usually require modifying `Cargo.toml`, which would already invalidate the CI-rustc cache if done in non-allowed paths. On non-CI environment, it should be safe to add `Cargo.lock` to the list of allowed paths as there is no real risk aside from a very rare false positive in cases like minor bumps to non-allowed path dependencies without modifying the `Cargo.toml` files.

Fixes rust-lang/rust#141986
2025-06-09 13:55:36 +02:00
Matthias Krüger
8435fe8d1f
Rollup merge of #142231 - Kobzol:master-cache-ci, r=marcoieni
Run `calculate_matrix` job on `master` to cache citool builds

As discussed in https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/PR.20ci.20seems.20much.20to.20slow/with/523028903, the current `rust-cache` solution for `citool` doesn't work, because we don't ever write to the cache from `master`, so the cache is empty on PR CI jobs.

This PR runs the `calculate_matrix` job on `master`, with the only motivation to actually prime the cache.

r? `@marcoieni`
2025-06-09 13:55:35 +02:00
Matthias Krüger
60a2adb75c
Rollup merge of #142228 - tshepang:rust-push, r=jieyouxu
rustc-dev-guide subtree update

r? `@ghost`
2025-06-09 13:55:35 +02:00
Jakub Beránek
ee8853b21f
Disable download-rustc on CI 2025-06-09 13:54:20 +02:00
onur-ozkan
c3de813944 add Cargo.lock to CI-rustc allowed list for non-CI env
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-06-09 12:47:05 +03:00
Matthias Krüger
a9ba52b4dc
Rollup merge of #142218 - ojeda:rfl, r=Kobzol
CI: rfl: move job forward to Linux v6.16-rc1

Another hopefully routine upgrade to Linux v6.16-rc1, just released.

r? `@lqd` `@Kobzol`
try-job: x86_64-rust-for-linux
`@rustbot` label A-rust-for-linux
`@bors` try
2025-06-09 10:20:54 +02:00
Matthias Krüger
5d0a3abaf3
Rollup merge of #142211 - Kobzol:try-fast-submodule-checkout, r=Mark-Simulacrum
Do not checkout GCC submodule for the tidy job

This is not a fully general solution, but the GCC submodule checkout is so slow that I think it's worth it to special-case it. This brings down the time required to checkout submodules from ~1.5 minute to ~0.5 minute.
2025-06-09 10:20:53 +02:00
Matthias Krüger
ad378be221
Rollup merge of #142160 - Urgau:check-cfg-bootstrap-only-rustc, r=Kobzol
Only allow `bootstrap` cfg in rustc & related

Fixes https://github.com/rust-lang/rust/issues/142150
r? bootstrap
2025-06-09 10:20:52 +02:00
Matthias Krüger
45cf4fb8d7
Rollup merge of #141751 - jieyouxu:remap, r=Kobzol
Remap compiler vs non-compiler sources differently (bootstrap side)

See [#t-compiler/help > Span pointing to wrong file location (&#96;rustc-dev&#96; component)](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/Span.20pointing.20to.20wrong.20file.20location.20.28.60rustc-dev.60.20component.29/with/521087083).

The path remapping and unremapping for compiler sources (distributed via `rustc-dev` dist component) is broken because bootstrap currently remaps all sources unconditionally (if remapping is enabled) to the `/rustc/{hash}` form. However, the `rustc-dev` dist component (compiler sources) and `rust-src` dist component (library sources) unpacks differently:

- `rust-src` unpacks sources to a path like `$sysroot/lib/rustlib/src/rust`, whereas
- `rustc-dev` unpacks sources to a path like `$sysroot/lib/rustlib/rustc-src/rust`[^note],

meaning that the compiler need to unremap them differently. But the same remapping means that the compiler has no way to distinguish between compiler and non-compiler (esp. standard library) sources. To remedy this, this PR adopts the approach of:

- remapping compiler sources (corresponding to `rustc-dev` dist component) with `/rustc-dev/{hash}` (this is `RemapScheme::Compiler`), and
- remapping non-compiler sources (corresponding to `rust-src` dist component or other non-compiler sources) with `/rustc/{hash}` (this is `RemapScheme::NonCompiler`).

A different remapping allows the compiler to reverse the remapping differently.

This PR implements the bootstrap side. A follow-up compiler-side change is needed to implement the unremapping change to address the reported issue completely.

This PR introduces another env var `CFG_VIRTUAL_RUSTC_DEV_SOURCE_BASE_DIR` that is made available to the compiler when building compiler sources to know what the remap scheme for `rustc-dev` (`RemapScheme::Compiler`) is. Compiler sources are built with the compiler remapping scheme.

As far as I know, this change should not introduce new regressions, because the compiler source unremapping (through `rustc-dev`) is already broken.

[^note]: (Notice the `src` vs `rustc-src` difference.)
2025-06-09 10:20:51 +02:00
Jakub Beránek
cb9980133c
Do not checkout GCC submodule for the tidy job 2025-06-09 08:17:56 +02:00