about summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2025-09-04Merge commit 'e9b70454e4c9584be3b22ddabd26b741aeb06c10' into ↵Philipp Krones-1641/+4536
clippy-subtree-update
2025-09-04Rollup merge of #146151 - FrancescoV1985:issue-146047-fix, r=KobzolMatthias Krüger-11/+9
fixes auto-run js checks in tidy Modified is_non_auto_or_matches function in src/tools/tidy/src/extra_checks/mod.rs so that .ts extension is considered. Tested locally with `./x.py test tidy --extra-checks=auto:js`
2025-09-04Auto merge of #146192 - jhpratt:rollup-mam0bss, r=jhprattbors-76/+326
Rollup of 5 pull requests Successful merges: - rust-lang/rust#145682 (Promote aarch64-pc-windows-msvc to Tier 1) - rust-lang/rust#145690 (Implement Integer funnel shifts) - rust-lang/rust#146119 (compiletest: Implement an experimental `--new-output-capture` mode) - rust-lang/rust#146168 (Update bootstrap's dependencies to remove winapi and old windows-sys) - rust-lang/rust#146182 (Don't require next-solver `ProbeRef` to be `Copy`) r? `@ghost` `@rustbot` modify labels: rollup
2025-09-04improved solution for function is_non_auto_or_matchesFrancescoV1985-13/+11
2025-09-04Rollup merge of #146119 - Zalathar:capture, r=jieyouxuJacob Pratt-75/+275
compiletest: Implement an experimental `--new-output-capture` mode Thanks to the efforts on rust-lang/rust#140192, compiletest no longer has an unstable dependency on libtest, but it still has an unstable dependency on `#![feature(internal_output_capture)]`. That makes building compiletest more complicated than for most other bootstrap tools. This PR therefore adds opt-in support for an experimental compiletest mode that avoids the use of `internal_output_capture` APIs, and instead uses more mundane means to capture the output of individual test runners. Each `TestCx` now contains `&dyn ConsoleOut` references for stdout and stderr. All print statements in `compiletests::runtest` have been replaced with `write!` or `writeln!` calls that explicitly write to one of those trait objects. The underlying implementation then forwards to `print!` or `eprint!` (for `--no-capture` or old-output-capture mode), or writes to a separate buffer (in new-output-capture mode). --- Currently, new-output-capture is disabled by default. It can be explicitly enabled in one of two ways: - When running `x test`, pass `--new-output-capture=on` as a *compiletest* argument (after `--`). - E.g. `x test ui -- --new-output-capture=on`. - The short form is `-Non` or `-Ny`. - Set environment variable `COMPILETEST_NEW_OUTPUT_CAPTURE=on`. After some amount of opt-in testing, new-output-capture will become the default (with a temporary opt-out). Eventually, old-output-capture and `#![feature(internal_output_capture)]` will be completely removed from compiletest. r? jieyouxu
2025-09-04Rollup merge of #145690 - sayantn:integer-funnel-shift, r=tgross35Jacob Pratt-1/+51
Implement Integer funnel shifts Tracking issue: rust-lang/rust#145686 ACP: https://github.com/rust-lang/libs-team/issues/642 This implements funnel shifts on primitive integer types. Implements this for cg_llvm, with a fallback impl for everything else Thanks `@folkertdev` for the fixes and tests cc `@rust-lang/libs-api`
2025-09-04Auto merge of #146176 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo submodule 12 commits in a6c58d43051d01d83f55a3e61ef5f5b2b0dd6bd9..761c4658d0079d607e6d33cf0c060e61a617cad3 2025-08-26 23:05:12 +0000 to 2025-09-04 01:25:01 +0000 - refactor(shell): Prepare for `Report`s being generated in more places (rust-lang/cargo#15920) - refactor(frontmatter): Pull out as a dedicated mod (rust-lang/cargo#15914) - chore: downgrade to libc@0.2.174 (rust-lang/cargo#15918) - fix(publish): Don't generate final artifacts (rust-lang/cargo#15910) - chore: Address most typos (rust-lang/cargo#15911) - chore(deps): update rust crate annotate-snippets to 0.12.1 (rust-lang/cargo#15909) - test(script): Switch frontmatter tests to end-to-end (rust-lang/cargo#15899) - chore: fix some typos and grammar (rust-lang/cargo#15905) - Update dependencies (rust-lang/cargo#15904) - feat: Don't stop at first error when emitting lints and warnings (rust-lang/cargo#15889) - fix(cli): Show the bad manifest path (rust-lang/cargo#15896) - chore(deps): update rust crate tracing-subscriber to v0.3.20 [security] (rust-lang/cargo#15898)
2025-09-03Update cargo submoduleWeihang Lo-0/+0
2025-09-04Implement compiletest `--new-output-capture`, in stable RustZalathar-2/+76
2025-09-04Auto merge of #146185 - Zalathar:rollup-n14lyv6, r=Zalatharbors-2/+7
Rollup of 24 pull requests Successful merges: - rust-lang/rust#140459 (Add `read_buf` equivalents for positioned reads) - rust-lang/rust#143725 (core: add Peekable::next_if_map) - rust-lang/rust#145209 (Stabilize `path_add_extension`) - rust-lang/rust#145342 (fix drop scope for `super let` bindings within `if let`) - rust-lang/rust#145750 (raw_vec.rs: Remove superfluous fn alloc_guard) - rust-lang/rust#145827 (On unused binding or binding not present in all patterns, suggest potential typo of unit struct/variant or const) - rust-lang/rust#145932 (Allow `inline(always)` with a target feature behind a unstable feature `target_feature_inline_always`.) - rust-lang/rust#145962 (Ensure we emit an allocator shim when only some crate types need one) - rust-lang/rust#145963 (Add LSX accelerated implementation for source file analysis) - rust-lang/rust#146054 (add `#[must_use]` to `array::repeat`) - rust-lang/rust#146090 (Derive `PartialEq` for `InvisibleOrigin`) - rust-lang/rust#146112 (don't uppercase error messages) - rust-lang/rust#146120 (Correct typo in `rustc_errors` comment) - rust-lang/rust#146124 (Test `rustc-dev` in `distcheck`) - rust-lang/rust#146127 (Rename `ToolRustc` to `ToolRustcPrivate`) - rust-lang/rust#146131 (rustdoc-search: add test case for indexing every item type) - rust-lang/rust#146134 (llvm: nvptx: Layout update to match LLVM) - rust-lang/rust#146136 (docs(std): add missing closing code block fences in doc comments) - rust-lang/rust#146137 (Disallow frontmatter in `--cfg` and `--check-cfg` arguments) - rust-lang/rust#146140 (compiletest: cygwin follows windows in using PATH for dynamic libraries) - rust-lang/rust#146150 (fix(rustdoc): match rustc `--emit` precedence ) - rust-lang/rust#146155 (Make bootstrap self test parallel) - rust-lang/rust#146161 ([rustdoc] Uncomment code to add scraped rustdoc examples in loaded paths) - rust-lang/rust#146172 (triagebot: configure some pings when certain attributes are used) r? `@ghost` `@rustbot` modify labels: rollup
2025-09-04Rollup merge of #146172 - RalfJung:triagebot-keyword-mentions, r=UrgauStuart Cook-1/+6
triagebot: configure some pings when certain attributes are used Let's try this out in practice. :) Cc `@rust-lang/miri` `@rust-lang/wg-const-eval` `@Urgau`
2025-09-04Rollup merge of #146140 - jeremyd2019:patch-1, r=jieyouxuStuart Cook-1/+1
compiletest: cygwin follows windows in using PATH for dynamic libraries `@Berrysoft`
2025-09-03Auto merge of #146156 - RalfJung:miri, r=RalfJungbors-630/+1663
miri subtree update Subtree update of `miri` to https://github.com/rust-lang/miri/commit/883dbf03e2a82ed7922122d8c2c2c60a5844b90d. Created using https://github.com/rust-lang/josh-sync. r? `@ghost`
2025-09-03support keyword-based mentions in tidyRalf Jung-1/+6
2025-09-03fix applying an error to infinitiesRalf Jung-0/+8
2025-09-03Rollup merge of #145944 - alexcrichton:native-wasip2, r=tgross35Stuart Cook-1/+5
std: Start supporting WASIp2 natively This commit is the start of an effort to support WASIp2 natively in the standard library. Before this commit the `wasm32-wasip2` target behaved exactly like `wasm32-wasip1` target by importing APIs from the core wasm module `wasi_snapshot_preview1`. These APIs are satisfied by the `wasm-component-ld` target by using an [adapter] which implements WASIp1 in terms of WASIp2. This adapter comes at a cost, however, in terms of runtime indirection and instantiation cost, so ideally the adapter would be removed entirely. The purpose of this adapter was to provide a smoother on-ramp from WASIp1 to WASIp2 when it was originally created. The `wasm32-wasip2` target has been around for long enough now that it's much more established. Additionally the only thing historically blocking using WASIp2 directly was implementation effort. Work is now underway to migrate wasi-libc itself to using WASIp2 directly and now seems as good a time as any to migrate the Rust standard library too. Implementation-wise the milestones here are: * The `wasm32-wasip2` target now also depends on the `wasi` crate at version 0.14.* in addition to the preexisting dependency of 0.11.*. The 0.14.* release series binds WASIp2 APIs instead of WASIp1 APIs. * Some preexisting naming around `mod wasi` or `wasi.rs` was renamed to `wasip1` where appropriate. For example `std::sys::pal::wasi` is now called `std::sys::pal::wasip1`. * More platform-specific WASI modules are now split between WASIp1 and WASIp2. For example getting the current time, randomness, and process arguments now use WASIp2 APIs directly instead of using WASIp1 APIs that require an adapter. It's worth pointing out that this PR does not migrate the entire standard library away from using WASIp1 APIs on the `wasm32-wasip2` target. Everything related to file descriptors and filesystem APIs is still using WASIp1. Migrating that is left for a future PR. In the meantime the goal of this change is to lay the groundwork necessary for migrating in the future. Eventually the goal is to drop the `wasi` 0.11.* dependency on the `wasm32-wasip2` target (the `wasm32-wasip1` target will continue to retain this dependency). [adapter]: https://github.com/bytecodealliance/wasmtime/blob/main/crates/wasi-preview1-component-adapter/README.md
2025-09-03Rollup merge of #145414 - Kmeakin:km/unicode-table-refactors, ↵Stuart Cook-149/+143
r=joshtriplett,tgross35 unicode-table-generator refactors Split off from https://github.com/rust-lang/rust/pull/145219
2025-09-03Merge pull request #4561 from RalfJung/short-fd-opsRalf Jung-19/+50
add flag to not shorten FD reads/writes; don't shorten pipe operations
2025-09-03add flag to not shorten FD reads/writes; don't shorten pipe operationsRalf Jung-19/+50
2025-09-03Add `funnel_sh{l,r}` functions and intrinsicssayantn-1/+51
- Add a fallback implementation for the intrinsics - Add LLVM backend support for funnel shifts Co-Authored-By: folkertdev <folkert@folkertdev.nl>
2025-09-03Merge pull request #4558 from RalfJung/float-err-fixOli Scherer-69/+103
fix mangitude of applied float error
2025-09-03Merge pull request #4559 from nia-e/zed-configRalf Jung-0/+47
Add Zed editor config
2025-09-03fix mangitude of applied float errorRalf Jung-69/+103
2025-09-03fixes auto-run js checks in tidyFrancescoV1985-13/+13
2025-09-03Merge ref '51ff895062ba' from rust-lang/rustThe Miri Cronjob Bot-118/+235
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 51ff895062ba60a7cba53f57af928c3fb7b0f2f4 Filtered ref: 5057370cda58bcaad24ea094ec11c8c01b24c2bc This merge was created using https://github.com/rust-lang/josh-sync.
2025-09-03Prepare for merging from rust-lang/rustThe Miri Cronjob Bot-1/+1
This updates the rust-version file to 51ff895062ba60a7cba53f57af928c3fb7b0f2f4.
2025-09-03add zed editor configNia Espera-0/+47
2025-09-02compiletest: cygwin follows windows in using PATH for dynamic librariesjeremyd2019-1/+1
2025-09-02Rollup merge of #146118 - RalfJung:miri-abort, r=joboetGuillaume Gomez-88/+49
improve process::abort rendering in Miri backtraces Also, avoid using the `sys` function directly in the panic machinery -- that seems like an unnecessary layering violation.
2025-09-02Rollup merge of #146089 - npmccallum:rustfmt, r=fmeaseGuillaume Gomez-1/+1
fix a constness ordering bug in rustfmt Normally, changes to rustfmt go into the separate repo. But, in this case, the bug is introduced in a local change and therefore isn't present in the rustfmt repo. Related to: https://github.com/rust-lang/rust/pull/146071 Fixes https://github.com/rust-lang/rustfmt/issues/6619.
2025-09-02Rollup merge of #145783 - Erk-:et-cetera-span, r=compiler-errorsGuillaume Gomez-7/+8
add span to struct pattern rest (..) Struct pattern rest (`..`) did not retain span information compared to normal fields. This patch adds span information for it. The motivation of this patch comes from when I implemented this PR for Clippy: https://github.com/rust-lang/rust-clippy/pull/15000#discussion_r2134145163 It is possible to get the span of the Et cetera in a bit roundabout way, but I thought this would be nicer.
2025-09-02account for aarch64 windows oversleepingRalf Jung-1/+2
2025-09-02add a flag to always apply the maximum float errorRalf Jung-9/+54
2025-09-02improve process::abort rendering in Miri backtracesRalf Jung-88/+49
2025-09-02move some configuration enums to a more logical placeRalf Jung-65/+63
2025-09-02Replace print statements in runtest with `write!` or `writeln!`Zalathar-60/+98
2025-09-02Preliminary plumbing of stdout/stderr as `&dyn ConsoleOut`Zalathar-8/+60
2025-09-02Encapsulate output-capture mode in a dedicated enumZalathar-7/+43
2025-09-02Revert introduction of `[workspace.dependencies]`.Nicholas Nethercote-22/+22
This was done in #145740 and #145947. It is causing problems for people using r-a on anything that uses the rustc-dev rustup package, e.g. Miri, clippy. This repository has lots of submodules and subtrees and various different projects are carved out of pieces of it. It seems like `[workspace.dependencies]` will just be more trouble than it's worth.
2025-09-01fix a constness ordering bug in rustfmtNathaniel McCallum-1/+1
Normally, changes to rustfmt go into the separate repo. But, in this case, the bug is introduced in a local change and therefore isn't present in the rustfmt repo.
2025-09-01Rollup merge of #146068 - Zalathar:panic-hook, r=jieyouxuStuart Cook-0/+152
compiletest: Capture panic messages via a custom panic hook Currently, output-capture of panic messages relies on special cooperation between `#![feature(internal_output_capture)]` and the default panic hook. That's a problem if we want to perform our own output capture, because the default panic hook won't know about our custom output-capture mechanism. We can work around that by installing a custom panic hook that prints equivalent panic messages to a buffer instead. The custom hook is always installed, but delegates to the default panic hook unless a panic-capture buffer has been installed on the current thread. A panic-capture buffer is only installed on compiletest test threads (by the executor), and only if output-capture is enabled. --- Right now this PR doesn't provide any particular concrete benefits. But it will be essential as part of further efforts to replace compiletest's use of `#![feature(internal_output_capture)]` with our own output-capture mechanism. r? jieyouxu
2025-09-01Rollup merge of #146060 - WaffleLapkin:fixup-nix-dev-shell-again, r=NoratriebStuart Cook-0/+3
fixup nix dev shell again r? Noratrieb
2025-09-01Merge pull request #4554 from RalfJung/helpRalf Jung-12/+27
improve output for 'cargo miri test --help'
2025-09-01improve output for 'cargo miri test --help'Ralf Jung-12/+27
2025-09-01Merge ref '828e45ad11ce' from rust-lang/rustThe Miri Cronjob Bot-22/+67
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 828e45ad11ce4ab56dd64e93f1fb5dd8f0c0ae93 Filtered ref: 10ab51e1b1b8eadb430163bd78ef39c0721cfbf8 This merge was created using https://github.com/rust-lang/josh-sync.
2025-09-01Prepare for merging from rust-lang/rustThe Miri Cronjob Bot-1/+1
This updates the rust-version file to 828e45ad11ce4ab56dd64e93f1fb5dd8f0c0ae93.
2025-09-01Capture panic messages via a custom panic hookZalathar-0/+152
2025-09-01Auto merge of #145663 - Kobzol:bootstrap-test, r=jieyouxubors-8/+47
Enforce in bootstrap that test must have stage at least 1 (except for compiletest) This PR cleans up a bunch of test steps and adds metadata to them. I didn't yet touch the most complicated step (`CompileTest`), I'm leaving that for another PR. Testing anything on stage 0 is only possible for compiletest and with `build.allow-compiletest-stage0`. Testing anything else on stage 0 will either produce a nice error or crash with a stage being subtracted below zero. r? `@jieyouxu` try-job: dist-x86_64-linux try-job: aarch64-gnu try-job: arm-android try-job: `x86_64-gnu-llvm-20*` try-job: `x86_64-msvc-*` try-job: aarch64-apple try-job: test-various
2025-08-31Merge pull request #4466 from nia-e/native-structsRalf Jung-133/+454
native-lib: allow passing structs as arguments
2025-08-31some refactoring and cleanupRalf Jung-145/+128