about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-08-23Merge pull request #4524 from Stypox/tracing-chrome-overhead-rdtscRalf Jung-78/+283
Account for time spent tracing, use RDTSC for faster time
2025-08-23Account for time spent tracing, use RDTSC for faster timeStypox-78/+283
2025-08-22Merge pull request #4538 from RalfJung/zst-reborRalf Jung-1/+21
add some ZST reborrow tests
2025-08-22add some ZST reborrow testsRalf Jung-1/+21
2025-08-22Merge ref '8e3710ef31a0' from rust-lang/rustThe Miri Cronjob Bot-287/+162
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 8e3710ef31a0b2cdf5a1c2f3929b7735d1e28c20 Filtered ref: 3629e47f19f1c1c9710f45b80a31eb32d851baf6 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-22doc: fix some typos in commentxihuwenhua-4/+4
Signed-off-by: xihuwenhua <xihuwenhua@outlook.com>
2025-08-22Prepare for merging from rust-lang/rustThe Miri Cronjob Bot-1/+1
This updates the rust-version file to 8e3710ef31a0b2cdf5a1c2f3929b7735d1e28c20.
2025-08-21Rollup merge of #145704 - marcoieni:no-windows-disk-cleanup, r=jieyouxuJacob Pratt-239/+0
ci: don't cleanup windows disk
2025-08-21Rollup merge of #145703 - Gelbpunkt:ci-llvm-mips, r=KobzolJacob Pratt-4/+0
Remove MIPS targets from CI LLVM platforms All of these were demoted to tier 3 a while ago and we aren't building LLVM for them anymore.
2025-08-21Rollup merge of #145648 - bjorn3:tidy_deps_stricter, r=davidtwcoJacob Pratt-0/+33
Add two tidy dependency checks Deny duplicate dependencies for the standard library as it would almost certainly bloat executables. And deny proc-macro dependencies for the standard library as they would break cross-compilation.
2025-08-21Rollup merge of #145137 - Kmeakin:km/optimize-slice-index-panicking, r=jhprattJacob Pratt-1/+1
Consolidate panicking functions in `slice/index.rs` Consolidate all the panicking functions in `slice/index.rs` to use a single `slice_index_fail` function, similar to how it is done in `str/traits.rs`. Split off from https://github.com/rust-lang/rust/pull/145024
2025-08-21Rollup merge of #144541 - ↵Jacob Pratt-0/+1
folkertdev:c-variadic-same-program-multiple-abis-arm, r=RalfJung,davidtwco c-variadic: multiple ABIs in the same program for arm similar to https://github.com/rust-lang/rust/pull/144379, but for arm, requested in https://github.com/rust-lang/rust/pull/144066. Quoting https://github.com/rust-lang/reference/issues/1946#issuecomment-3124555690 > `"aapcs"` specifically refers to the soft-float ABI where floating-point values are passed in integer registers. However for c-variadic functions, `aapcs` behaves the same as `C`: https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#65parameter-passing > A variadic function is always marshaled as for the base standard. https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#7the-standard-variants > This section applies only to non-variadic functions. For a variadic function the base standard is always used both for argument passing and result return. --- I also noticed that rustc currently emit more instructions than clang for c-variadic functions on arm, see https://godbolt.org/z/hMce9rnTh. I'll fix that separately. (edit: https://github.com/rust-lang/rust/pull/144549) try-job: armhf-gnu r? `@RalfJung`
2025-08-21CI: also test on powerpcRalf Jung-0/+5
2025-08-21update rustc-build-sysrootRalf Jung-3/+3
2025-08-21Auto merge of #145647 - RalfJung:miri, r=RalfJungbors-51/+214
miri subtree update Subtree update of `miri` to https://github.com/rust-lang/miri/commit/980da679e4da038a723c56b2af892ff7ea0209fc. Created using https://github.com/rust-lang/josh-sync. r? `@ghost`
2025-08-21Consolidate panicking functions in `slice/index.rs`Karl Meakin-1/+1
Consolidate all the panicking functions in `slice/index.rs` to use a single `slice_index_fail` function, similar to how it is done in `str/traits.rs`.
2025-08-21ci: don't cleanup windows diskMarcoIeni-239/+0
2025-08-21Remove MIPS targets from CI LLVM platformsJens Reidel-4/+0
All of these were demoted to tier 3 a while ago and we aren't building LLVM for them anymore. Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-08-21Rollup merge of #145654 - Kobzol:gcc-ci-root, r=jieyouxuJacob Pratt-3/+3
Download CI GCC into the correct directory While doing various experiments with stage3 cross-compilations, I realized that bootstrap is unable to download LLVM from CI for a non-host target, which is quite annoying. Fixing this for LLVM will take some work, but in the meantime we can easily fix this for `download-ci-gcc`, which was implemented in a much more self-contained way.
2025-08-21Rollup merge of #145650 - GuillaumeGomez:fix-js-search-scripts-path, r=fmeaseJacob Pratt-2/+2
Fix JS search scripts path `rootPath` always end with a `/` so we should not add one. Interestingly enough, it only triggers the bug on a website (like https://doc.rust-lang.org/nightly/std/). Follow-up of https://github.com/rust-lang/rust/pull/144476. Fixes rust-lang/rust#145646. cc `````@notriddle````` r? `````@fmease`````
2025-08-21Rollup merge of #145590 - nnethercote:ModKind-Inline, r=petrochenkovJacob Pratt-9/+10
Prevent impossible combinations in `ast::ModKind`. `ModKind::Loaded` has an `inline` field and a `had_parse_error` field. If the `inline` field is `Inline::Yes` then `had_parse_error` must be `Ok(())`. This commit moves the `had_parse_error` field into the `Inline::No` variant. This makes it impossible to create the nonsensical combination of `inline == Inline::Yes` and `had_parse_error = Err(_)`. r? ```@Urgau```
2025-08-21Rollup merge of #145390 - joshtriplett:rustc-diag-value-earlier, r=lcnrJacob Pratt-5/+5
Shorten some dependency chains in the compiler (I recommend reviewing this commit by commit.) One of the long dependency chains in the compiler is: - Many things depend on `rustc_errors`. - `rustc_errors` depended on many things prior to this PR, including `rustc_target`, `rustc_type_ir`, `rustc_hir`, and `rustc_lint_defs`. - `rustc_lint_defs` depended on `rustc_hir` prior to this PR. - `rustc_hir` depends on `rustc_target`. - `rustc_target` is large and takes a while. This PR breaks that chain, through a few steps: - The `IntoDiagArgs` trait, from `rustc_errors`, moves earlier in the dependency chain. This allows `rustc_errors` to stop depending on a pile of crates just to implement `IntoDiagArgs` for their types. - Split `rustc_hir_id` out of `rustc_hir`, so crates that just need `HirId` and similar don't depend on all of `rust_hir` (and thus `rustc_target`). - Make `rustc_lint_defs` stop depending on `rustc_hir`.
2025-08-21Rollup merge of #145256 - GuillaumeGomez:bootstrap-test-codegen-backend, ↵Jacob Pratt-20/+103
r=Kobzol,bjorn3 Add new `--test-codegen-backend` bootstrap option This new bootstrap command line flag allows to do: ```shell ./x.py test tests/ui/intrinsics/panic-uninitialized-zeroed.rs --stage 1 -j8 --test-codegen-backend gcc ``` This is the last step before running it into the CI. Supersedes rust-lang/rust#144687. r? ``````@Kobzol``````
2025-08-21Merge ref '125ff8a788c5' from rust-lang/rustThe Miri Cronjob Bot-56/+190
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 125ff8a788c5d6a66917f499abdc00051afe6886 Filtered ref: bcbe2eb9c674ba7e35befb4557f33a1956964256 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-21Prepare for merging from rust-lang/rustThe Miri Cronjob Bot-1/+1
This updates the rust-version file to 125ff8a788c5d6a66917f499abdc00051afe6886.
2025-08-20Update test output for change to number of cratesJosh Triplett-5/+5
2025-08-20Auto merge of #145645 - Kobzol:uplift-fix, r=jieyouxubors-9/+82
Fix rustc uplifting (take two) The rustc uplifting logic is really annoying.. https://github.com/rust-lang/rust/pull/145557 was not enough to fix it. Consider https://github.com/rust-lang/rust/issues/145534#issuecomment-3201868888: in this situation, we do a stage3 build of a cross-compiled rustc (it happens because we run `x test --stage 2`, which mistakenly builds a stage3 rustc, but it doesn't matter what casuses it, what matters is that the stage3 build isn't working). Currently, a stage3 cross-compiled build of rustc works like this: 1) stage0 (host) -> stage1 (host) 2) stage1 (host) -> stage2 (host) 3) stage2 (host) -> stage3 (target) The problem is that in the uplifting logic, I assumed that we will have a stage2 (target) rustc available, which we can uplift. And that would indeed be an ideal solution. But currently, we will actually build a stage2 (*host*) rustc, and only then start the cross-compilation. So the uplifting is broken. I spend a couple of hours trying to fix this, and do the uplifting "from the other direction", so that already when we assemble a stage3 rustc, we notice that an uplift should happen, and we only build stage1 (host) rustc, which also helps avoid one needless rustc build. However, this was relatively complicated and would require larger changes that I was not confident landing at this time. So instead I decided to do a much simpler fix, and just disable rustc uplifting when cross-compiling. Since we currently do the `stage2 (host) -> stage3 (target)` step, it should not actually affect stage3 cross-compiled builds in any way (I hope..), and should only affect stage4+ builds, about which I don't really care (the only change there should be more rustc builds). For normal builds, the stage2 host rustc should (hopefully) always be present, so we shouldn't run into this issue. Eventually, I would like to remove rustc uplifting completely. However, `x test --stage 2` on CI still currently builds a stage3 rustc for some reason, and if we removed uplifting completely, even for non-cross-compiled builds, that would cause an additional rustc build, and that's not great. So for now let's just allow uplifting for non-cross-compiled builds. Fixes rust-lang/rust#145534. r? `@jieyouxu`
2025-08-20Fix JS search scripts pathGuillaume Gomez-2/+2
2025-08-20Download CI GCC into the correct directoryJakub Beránek-3/+3
2025-08-20Split compiletest `--codegen-backend` into two options ↵Guillaume Gomez-17/+33
`--default-codegen-backend` and `--override-codegen-backend`
2025-08-20Add new `--test-codegen-backend` bootstrap optionGuillaume Gomez-8/+75
2025-08-20tidy: Add check against proc macros as standard library dependenciesbjorn3-0/+15
They would break cross-compilation.
2025-08-20tidy: Add a check that there are no duplicate runtime dependenciesbjorn3-0/+18
2025-08-20Bump slab from 0.4.10 to 0.4.11 in /tests/depsdependabot[bot]-2/+2
Bumps [slab](https://github.com/tokio-rs/slab) from 0.4.10 to 0.4.11. - [Release notes](https://github.com/tokio-rs/slab/releases) - [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/slab/compare/v0.4.10...v0.4.11) --- updated-dependencies: - dependency-name: slab dependency-version: 0.4.11 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2025-08-20Merge pull request #4532 from rust-lang/rustup-2025-08-20Ralf Jung-4689/+9345
Automatic Rustup
2025-08-20allow cfg(bootstrap)Ralf Jung-0/+1
2025-08-20bless new testsRalf Jung-0/+1
2025-08-20add back cfg(bootstrap), it is still neededRalf Jung-0/+1
2025-08-20Disable rustc uplifting during cross-compilationJakub Beránek-9/+6
2025-08-20Merge ref 'f605b57042ff' from rust-lang/rustThe Miri Cronjob Bot-4688/+9341
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: f605b57042ffeb320d7ae44490113a827139b766 Filtered ref: c69d2743ed4676c4529ebb60b258f6c1273c9145 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-20Prepare for merging from rust-lang/rustThe Miri Cronjob Bot-1/+1
This updates the rust-version file to f605b57042ffeb320d7ae44490113a827139b766.
2025-08-20Rollup merge of #145626 - folkertdev:prefetch-fallback, r=AmanieuJacob Pratt-0/+23
add a fallback implementation for the `prefetch_*` intrinsics related ACP: https://github.com/rust-lang/libs-team/issues/638 The fallback is to just ignore the arguments. That is a valid implementation because this intrinsic is just a hint. I also added the `miri::intrinsic_fallback_is_spec` annotation, so that miri now supports these operations. A prefetch intrinsic call is valid on any pointer. (specifically LLVM guarantees this https://llvm.org/docs/LangRef.html#llvm-prefetch-intrinsic) Next, I made the `LOCALITY` argument a const generic. That argument must be const (otherwise LLVM crashes), but that was not reflected in the type. Finally, with these changes, the intrinsic can be safe and `const` (a prefetch at const evaluation time is just a no-op). cc `@Amanieu` r? `@RalfJung`
2025-08-20Rollup merge of #145359 - GuillaumeGomez:correctly-pick-search.js, ↵Jacob Pratt-2/+20
r=lolbinarycat Fix bug where `rustdoc-js` tester would not pick the right `search.js` file if there is more than one It happened to me quite a few times recently when I worked on the search index: 1. I make a change in search.js 2. I run `rustdoc-js` tests 3. nothing changes So my solution was to simply remove the folder, but it's really suboptimal. With this PR, it now picks the most recently modified file. cc ```@lolbinarycat```
2025-08-20Rollup merge of #145252 - shepmaster:demote-x86_64-apple-darwin-to-tier-2, ↵Jacob Pratt-33/+21
r=Kobzol,madsmtm Demote x86_64-apple-darwin to Tier 2 with host tools Switch to only using aarch64 runners (implying we are now cross-compiling) and stop running tests. In the future, we could enable (some?) tests via Rosetta 2. This implements the decision from https://github.com/rust-lang/rfcs/pull/3841.
2025-08-20Rollup merge of #140794 - karolzwolak:allow-unused-doc-65464, r=davidtwcoJacob Pratt-1/+1
mention lint group in default level lint note ### Summary This PR updates lint diagnostics so that default-level notes now mention the lint group they belong to, if any. Fixes: rust-lang/rust#65464. ### Example ```rust fn main() { let x = 5; } ``` Before: ``` = note: `#[warn(unused_variables)]` on by default ``` After: ``` = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default ``` ### Unchanged Cases Messages remain the same when the lint level is explicitly set, e.g.: * Attribute on the lint `#[warn(unused_variables)]`: ``` note: the lint level is defined here LL | #[warn(unused_variables)] | ^^^^^^^^^^^^^^^^ ``` * Attribute on the group `#[warn(unused)]:`: ``` = note: `#[warn(unused_variables)]` implied by `#[warn(unused)]` ``` * CLI option `-W unused`: ``` = note: `-W unused-variables` implied by `-W unused` = help: to override `-W unused` add `#[allow(unused_variables)]` ``` * CLI option `-W unused-variables`: ``` = note: requested on the command line with `-W unused-variables` ```
2025-08-20Rollup merge of #140314 - lolbinarycat:rustdoc-js-scrape-examples-typecheck, ↵Jacob Pratt-11/+43
r=notriddle Rustdoc: typecheck scrape-examples.js more typechecking progress, this time we're mostly held back by the fact that `document.querySelectorAll` can't return nice types if its given a compound query (see the issue linked in a code comment). Additionally, it seems like the generated `data-locs` attribute has fields that are never used by anything? r? ```@notriddle```
2025-08-19Auto merge of #145601 - jieyouxu:rollup-t5mbqhc, r=jieyouxubors-35/+40
Rollup of 10 pull requests Successful merges: - rust-lang/rust#145538 (bufreader::Buffer::backshift: don't move the uninit bytes) - rust-lang/rust#145542 (triagebot: Don't warn no-mentions on subtree updates) - rust-lang/rust#145549 (Update rust maintainers in openharmony.md) - rust-lang/rust#145550 (Avoid using `()` in `derive(From)` output.) - rust-lang/rust#145556 (Allow stability attributes on extern crates) - rust-lang/rust#145560 (Remove unused `PartialOrd`/`Ord` from bootstrap) - rust-lang/rust#145568 (ignore frontmatters in `TokenStream::new`) - rust-lang/rust#145571 (remove myself from some adhoc-groups and pings) - rust-lang/rust#145576 (Add change tracker entry for `--timings`) - rust-lang/rust#145578 (Add VEXos "linked files" support to `armv7a-vex-v5`) r? `@ghost` `@rustbot` modify labels: rollup
2025-08-20make `prefetch` intrinsics safeFolkert de Vries-14/+14
2025-08-19Add snapshot tests for stage 3 compiler buildsJakub Beránek-0/+76
2025-08-19Enable triagebot `[review-changes-since]` featureUrgau-0/+3