Skip to content

Conversation

matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Sep 15, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

tshepang and others added 20 commits July 3, 2025 22:03
This makes it a little easier to pinpoint the issue.
This fix only changes the behavior when using `--exact` test filtering,
which was quite broken. Before this fix, the following runs 0 tests:

    $ ./x test tests/run-make/crate-loading -- --exact
    running 0 tests
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 431 filtered out; finished in 24.95µs

With the fix the desired test is run:

    $ ./x test tests/run-make/crate-loading -- --exact
    running 1 tests
    test [run-make] tests/run-make/crate-loading ... ok

Without `--exact` the set of run tests is unchanged. This still runs
"too many" tests

    $ ./x test tests/run-make/crate-loading
    running 3 tests
    test [run-make] tests/run-make/crate-loading-crate-depends-on-itself ... ok
    test [run-make] tests/run-make/crate-loading-multiple-candidates ... ok
    test [run-make] tests/run-make/crate-loading ... ok

This still runs the one and only right test:

    $ ./x test tests/ui/lint/unused/unused-allocation.rs
    running 1 tests
    test [ui] tests/ui/lint/unused/unused-allocation.rs ... ok
…errors

add reference id to test, and fix filename

Noticed the filename is wrong, then took advantage of being there by adding Reference id
…um, r=Mark-Simulacrum

Remove `div_rem` from `core::num::bignum`

This fixes very old fixme that sounds like this

```
Stupid slow base-2 long division taken from
https://en.wikipedia.org/wiki/Division_algorithm
FIXME use a greater base ($ty) for the long division.
```

By deleting this method since it was never used
Tidy dependency checks cleanups + QoL

- Refactors the list of workspaces into a documented struct
- Provide accurate line info in 'Go to ..... for the list' message
- Print crate name on dependency issue (i.e. `dependency for rustc-main` instead of `dependency for .`
…lacrum

bootstrap: Show target in "No such target exists" message

This makes it a little easier to pinpoint the issue.
…ge, r=Mark-Simulacrum

Improve `core::fmt` coverage

This PR improves the `core::fmt` coverage by adding new tests to `coretests`
…ark-Simulacrum

tests: update new test to accept new lifetime format

Same change as rust-lang/rust@258915a, just for a newly written test.
…ge, r=Mark-Simulacrum

Improve `core::ptr` coverage

This PR improves the `core::ptr` coverage by adding a new test to `coretests` for the `<*const T>::is_aligned_to` method.

r? libs
…lacrum

compiletest: Fix `--exact` test filtering

This fix only changes the behavior when using `--exact` test filtering, which
was quite broken. Before this fix, the following runs 0 tests:

    $ ./x test tests/run-make/crate-loading -- --exact
    running 0 tests
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 431 filtered out; finished in 24.95µs

With the fix the desired test is run:

    $ ./x test tests/run-make/crate-loading -- --exact
    running 1 tests
    test [run-make] tests/run-make/crate-loading ... ok

Without `--exact` the set of run tests is unchanged. This still runs "too many" (cc rust-lang#134341) tests

    $ ./x test tests/run-make/crate-loading
    running 3 tests
    test [run-make] tests/run-make/crate-loading-crate-depends-on-itself ... ok
    test [run-make] tests/run-make/crate-loading-multiple-candidates ... ok
    test [run-make] tests/run-make/crate-loading ... ok

This still runs the one and only right test

    $ ./x test tests/ui/lint/unused/unused-allocation.rs
    running 1 tests
    test [ui] tests/ui/lint/unused/unused-allocation.rs ... ok

### Notes

- I have not verified this on Windows which treats paths differently (but I see no reason why it should not work since my code should be platform agnostic).
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Sep 15, 2025
@matthiaskrgr

This comment was marked as outdated.

@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Sep 15, 2025

📌 Commit 0a14ae0 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 15, 2025
@bors
Copy link
Collaborator

bors commented Sep 15, 2025

⌛ Testing commit 0a14ae0 with merge d1ed52b...

@bors
Copy link
Collaborator

bors commented Sep 15, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing d1ed52b to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Sep 15, 2025
@bors bors merged commit d1ed52b into rust-lang:master Sep 15, 2025
11 checks passed
@rustbot rustbot added this to the 1.92.0 milestone Sep 15, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#143314 add reference id to test, and fix filename 324b3ad73b2c7e97da7177f3923bd8bd3bc9cc75 (link)
#146284 Remove div_rem from core::num::bignum 2e93c200fc604aba7869f756deb432085a3a8117 (link)
#146416 Tidy dependency checks cleanups + QoL b242ea2f614ad32ad9beff129aea15f6debd58e2 (link)
#146471 bootstrap: Show target in "No such target exists" message 64f1b78a413c649875bf3e79e8e41c1d92091671 (link)
#146478 Improve core::fmt coverage 6bfef697e33e9d07b45fa23c7a97aec465d23258 (link)
#146480 tests: update new test to accept new lifetime format 5a0035be4ff928680452b08a47a9aa0748b8de77 (link)
#146488 Improve core::ptr coverage aeeb7105003777ea6d1915fd19b211b00c39f4d6 (link)
#146501 compiletest: Fix --exact test filtering 1b98ba737cd727a502dc2247bb006f366ac12d06 (link)

previous master: 52618eb338

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 52618eb (parent) -> d1ed52b (this PR)

Test differences

Show 22 test diffs

Stage 1

  • fmt::builders::debug_struct::test_field_with: [missing] -> pass (J0)
  • fmt::num::test_rt_width_too_long: [missing] -> pass (J0)
  • fmt::test_default_write_impls: [missing] -> pass (J0)
  • fmt::test_fmt_debug_of_mut_reference: [missing] -> pass (J0)
  • num::bignum::test_div_rem: pass -> [missing] (J0)
  • ptr::invalid_is_aligned: [missing] -> pass (J0)
  • [ui] tests/ui/const-generics/generic_arg_infer/paren_infer.rs: [missing] -> pass (J4)
  • [ui] tests/ui/const-generics/generic_arg_infer/parend_infer.rs: pass -> [missing] (J4)

Stage 2

  • fmt::builders::debug_struct::test_field_with: [missing] -> pass (J1)
  • fmt::num::test_rt_width_too_long: [missing] -> pass (J1)
  • fmt::test_default_write_impls: [missing] -> pass (J1)
  • fmt::test_fmt_debug_of_mut_reference: [missing] -> pass (J1)
  • num::bignum::test_div_rem: pass -> [missing] (J1)
  • ptr::invalid_is_aligned: [missing] -> pass (J1)
  • [ui] tests/ui/precondition-checks/copy-nonoverlapping.rs#misaligned_src: [missing] -> pass (J2)
  • [ui] tests/ui/precondition-checks/copy-nonoverlapping.rs#null_src: [missing] -> pass (J2)
  • [ui] tests/ui/precondition-checks/copy.rs#misaligned_src: [missing] -> pass (J2)
  • [ui] tests/ui/precondition-checks/copy.rs#null_src: [missing] -> pass (J2)
  • [ui] tests/ui/precondition-checks/swap-nonoverlapping.rs#misaligned_src: [missing] -> pass (J2)
  • [ui] tests/ui/precondition-checks/swap-nonoverlapping.rs#null_src: [missing] -> pass (J2)
  • [ui] tests/ui/const-generics/generic_arg_infer/paren_infer.rs: [missing] -> pass (J3)
  • [ui] tests/ui/const-generics/generic_arg_infer/parend_infer.rs: pass -> [missing] (J3)

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard d1ed52b1f5b78bf66127b670af813b84d57aeedb --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. aarch64-apple: 4840.1s -> 7260.9s (50.0%)
  2. dist-x86_64-apple: 6637.3s -> 7912.9s (19.2%)
  3. x86_64-rust-for-linux: 2568.0s -> 3059.0s (19.1%)
  4. x86_64-gnu-llvm-19: 2396.9s -> 2812.8s (17.4%)
  5. x86_64-gnu-llvm-20-1: 3216.8s -> 3725.9s (15.8%)
  6. dist-apple-various: 4144.4s -> 4771.8s (15.1%)
  7. aarch64-gnu-debug: 3899.3s -> 4377.8s (12.3%)
  8. dist-powerpc64le-linux-musl: 5748.6s -> 5122.5s (-10.9%)
  9. dist-powerpc-linux: 5401.0s -> 4844.1s (-10.3%)
  10. aarch64-gnu-llvm-19-1: 3364.4s -> 3685.0s (9.5%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d1ed52b): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

This benchmark run did not return any relevant results for this metric.

Cycles

Results (primary 2.1%, secondary 10.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.1% [2.1%, 2.1%] 1
Regressions ❌
(secondary)
10.0% [3.9%, 13.9%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.1% [2.1%, 2.1%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 474.182s -> 473.872s (-0.07%)
Artifact size: 390.15 MiB -> 390.16 MiB (0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.