Skip to content

Rollup of 3 pull requests - #162353

Merged
rust-bors[bot] merged 17 commits into
rust-lang:mainfrom
jhpratt:rollup-ytKtbHa
Sep 6, 2026
Merged

Rollup of 3 pull requests#162353
rust-bors[bot] merged 17 commits into
rust-lang:mainfrom
jhpratt:rollup-ytKtbHa

Conversation

@jhpratt

@jhpratt jhpratt commented Sep 6, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

chenyukang and others added 17 commits September 4, 2026 10:36
…un-make` without failing if no check is present
This variant will be used for marker statements that are injected when a HIR
expression is about to be lowered to MIR, and at other points relevant to
coverage instrumentation.

Adding this variant in its own commit keeps the mundane plumbing steps separate
from later changes that will perform injection and analysis.
In order to make coverage instrumentation HIR-aware, we need to have MIR
building inject marker statements at key locations, so that instrumentation can
accurately reconstruct the relationship between HIR constructs and MIR-level
control flow.

The most important of these is `PointKind::Expr`, which associates a HIR
expression with the start of the MIR that will evaluate that expression. There
isn't a single convenient place to inject these, but we can get close by
observing that THIR building wraps every expression in a
`thir::ExprKind::Scope` node, which also contains the `HirId` of that
expression. If we inject a marker whenever `thir::ExprKind::Scope` is lowered,
that results in an accurate marker for every expression.

Other markers are also injected at key points that don't correspond directly to
a HIR node, to avoid major regressions in coverage-map quality.
Instead of trying to heuristically recover source-code spans from MIR soup, we
can now take advantage of the `CoverageKind::Point` statements injected for
specific HIR expressions.

This is a transitional implementation that lets us remove the old MIR-soup
code, but still relies heavily on the existing span-refinement heuristics, and
does not take advantage of the full possibilities of HIR-aware coverage
instrumentation.

In order to avoid annoying never-executed spans in code that contains
assertions, a heuristic has been added that ignores any expression within the
arguments of a macro-expanded function call that returns `!`.

Some coverage tests now require `//@ min-llvm-version: 23`, due to changes in
how LLVM sorts the coverage mapping entries.
Now that we have a span for every HIR expression, we don't need these markers.
coverage: Switch over to hybrid HIR-aware coverage spans

---

One of the deep flaws in coverage instrumentation at the moment is that the instrumentor doesn't have actual knowledge of source-level code structure. Instead, it resorts to guessing source spans based on scanning through MIR statements and terminators, and applying a few crude heuristics that can never give truly accurate results.

(The decision to use MIR-based spans was made during the original implementation of `-Zinstrument-coverage`. I was not able to find any discussion of this design decision or its consequences in the stabilization thread at rust-lang#90132.)

This PR is a partial step towards a better way of doing things. During THIR-to-MIR lowering, we now inject special `CoverageKind::Point` marker statements that represent a specific connection between some part of the source code (in HIR form) and a specific point in MIR control-flow. Instead of trying to recover coverage spans from arbitrary MIR statements/terminators, we now only extract spans from those dedicated marker statements.

Having accurate HIR-to-MIR correlations unlocks a lot of exciting possibilities for better coverage instrumentation. This PR mostly sets the stage for potential future improvements, but does demonstrate the ability to exclude specific HIR expressions from the set of coverage spans (to make assertions less noisy), which was previously unthinkable.

---

The key to making this all work is being able to accurately inject marker statements during MIR building. There is no single point in MIR building that all THIR expressions pass through, and most THIR expression nodes do not keep track of their corresponding HirId. However, it turns out that THIR building already wraps every expression node in a `thir::ExprKind::Scope` node that *does* store the original HirId, and the number of places in MIR building that handle those scopes is relatively small. So if we simply inject an appropriate marker statement at those places, with the HirId that is already available, that takes care of marking every HIR-level expression node in the built MIR.

To avoid major regressions in coverage-span quality, we also need to inject markers in a few extra places that don't correspond to a HIR node, because they represent implied code such as the `else {}` of a one-sided `if`, or the automatic `return` at the end of a function body.

---

There are necessarily some changes to coverage output as a result of the new approach. I have tried to keep these minimal, but I don't think it's worth trying to chase 1:1 compatibility with the old spans, which were very much a product of several layers of implementation details and heuristics. The differences seem reasonable overall, and in some cases are a clear improvement.
…-html, r=fmease

Prevent `--test` to be used in `rustdoc-html` testsuite

As [promised](rust-lang#162014 (comment)).

CI will fail until rust-lang#162014 is merged though.

r? @fmease
…t-extra-borrow, r=estebank

Suggest extra borrows for nested reference arguments

Fixes rust-lang#78613

r? @estebank
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Sep 6, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Sep 6, 2026
@jhpratt

jhpratt commented Sep 6, 2026

Copy link
Copy Markdown
Member Author

@bors r+ p=5

@rust-bors

rust-bors Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 397c478 has been approved by jhpratt

It is now in the queue for this repository.

@rust-bors rust-bors Bot added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Sep 6, 2026
@rust-bors rust-bors Bot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 6, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 6, 2026
@rust-bors

rust-bors Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 9m 7s
Pushing 46a266b to main...

@rust-bors
rust-bors Bot merged commit 46a266b into rust-lang:main Sep 6, 2026
14 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Sep 6, 2026
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
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 dbad1ba (parent) -> 46a266b (this PR)

Test differences

Show 253 test diffs

Stage 1

  • [rustdoc-html] tests/rustdoc-html/auto/auto-impl-for-trait.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/deep-structures.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/duplicate_impls/impls.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/empty-doc-comment.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/intra-doc/ice-deprecated-note-on-reexport.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/intra-doc/in-bodies.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/intra-doc/private-failures-ignored.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/macro/decl_macro-sidebar.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/macro/macro-ice-16019.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/macro/macro-in-closure.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/markdown-60482.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/private/private-use.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/recursion2.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/resolve-ice-124363.rs: pass -> [missing] (J0)
  • [rustdoc-html] tests/rustdoc-html/synthetic_auto/issue-72213-projection-lifetime.rs: pass -> [missing] (J0)
  • [ui] tests/rustdoc-ui/deep-structures.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/empty-doc-comment.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/intra-doc/ice-deprecated-note-on-reexport.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/intra-doc/in-bodies.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/intra-doc/libstd-re-export.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/intra-doc/private-failures-ignored.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/macro/doc-proc-macro.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/macro/macro-ice-16019.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/markdown-60482.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/private/private-use.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/recursion/recursion1.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/recursion/recursion2.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/recursion/recursion3.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/resolve-ice-124363.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/synthetic-auto-trait-impls/issue-72213-projection-lifetime.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/type-alias/deeply-nested-112515.rs: [missing] -> pass (J0)
  • [coverage-map] tests/coverage/async/async_closure.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-map] tests/coverage/async/async_closure2.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-map] tests/coverage/iffy/closure.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-map] tests/coverage/iffy/inline.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-map] tests/coverage/iffy/partial_eq.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-run] tests/coverage/async/async_closure.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-run] tests/coverage/async/async_closure2.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-run] tests/coverage/iffy/closure.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-run] tests/coverage/iffy/inline.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [coverage-run] tests/coverage/iffy/partial_eq.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J1)
  • [ui (polonius)] tests/ui/mismatched_types/suggest-extra-borrow-issue-78613.rs: [missing] -> pass (J5)
  • [coverage-map] tests/coverage/async/async_closure2.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J6)
  • [coverage-map] tests/coverage/iffy/closure.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J6)
  • [coverage-map] tests/coverage/iffy/inline.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J6)
  • [coverage-run] tests/coverage/async/async_closure.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J6)
  • [coverage-run] tests/coverage/async/async_closure2.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J6)
  • [coverage-run] tests/coverage/iffy/closure.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J6)
  • [coverage-run] tests/coverage/iffy/inline.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J6)

Stage 2

  • [rustdoc-html] tests/rustdoc-html/auto/auto-impl-for-trait.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/constant/document-item-with-associated-const-in-where-clause.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/deep-structures.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/duplicate_impls/impls.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/intra-doc/ice-deprecated-note-on-reexport.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/intra-doc/in-bodies.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/intra-doc/private-failures-ignored.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/macro/decl_macro-sidebar.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/macro/doc-proc-macro.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/macro/macro-in-closure.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/markdown-60482.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/private/private-use.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/recursion1.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/recursion2.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/recursion3.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/resolve-ice-124363.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/synthetic_auto/issue-72213-projection-lifetime.rs: pass -> [missing] (J2)
  • [rustdoc-html] tests/rustdoc-html/type-alias/deeply-nested-112515.rs: pass -> [missing] (J2)
  • [ui] tests/rustdoc-ui/auto/auto-impl-for-trait.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/deep-structures.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/empty-doc-comment.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/intra-doc/ice-deprecated-note-on-reexport.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/intra-doc/libstd-re-export.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/intra-doc/private-failures-ignored.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/macro/doc-proc-macro.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/macro/macro-ice-16019.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/macro/macro-in-closure.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/private/private-use.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/recursion/recursion1.rs: [missing] -> pass (J2)
  • [ui] tests/rustdoc-ui/type-alias/deeply-nested-112515.rs: [missing] -> pass (J2)
  • [coverage-map] tests/coverage/async/async_closure.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-map] tests/coverage/async/async_closure2.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-map] tests/coverage/iffy/closure.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-map] tests/coverage/iffy/inline.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-map] tests/coverage/iffy/partial_eq.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-run] tests/coverage/async/async_closure.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-run] tests/coverage/async/async_closure2.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-run] tests/coverage/iffy/inline.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-run] tests/coverage/iffy/partial_eq.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J3)
  • [coverage-map] tests/coverage/async/async_closure.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-map] tests/coverage/async/async_closure2.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-map] tests/coverage/iffy/closure.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-map] tests/coverage/iffy/inline.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-map] tests/coverage/iffy/partial_eq.rs: pass -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-run] tests/coverage/async/async_closure.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-run] tests/coverage/async/async_closure2.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-run] tests/coverage/iffy/closure.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-run] tests/coverage/iffy/inline.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-run] tests/coverage/iffy/partial_eq.rs: ignore (ignored when the profiler runtime is not available) -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [rustdoc-html] tests/rustdoc-html/doc-cfg/trait-impls.rs: pass -> ignore (only executed when the architecture is x86_64) (J7)
  • [ui] tests/ui/mismatched_types/suggest-extra-borrow-issue-78613.rs: [missing] -> pass (J8)

(and 27 additional test diffs)

Additionally, 126 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 46a266b9fb0fb75e05fa4c9132f7355fcb62d4a4 --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. dist-ohos-aarch64: 53m 25s -> 1h 20m (+49.8%)
  2. dist-x86_64-freebsd: 1h 5m -> 1h 33m (+42.4%)
  3. dist-i686-linux: 1h 18m -> 1h 50m (+40.1%)
  4. x86_64-msvc-ext1: 1h 34m -> 2h 10m (+38.3%)
  5. dist-x86_64-musl: 1h 49m -> 2h 22m (+29.8%)
  6. x86_64-gnu-parallel-frontend: 2h 5m -> 1h 28m (-29.2%)
  7. x86_64-mingw-1: 3h 6m -> 2h 15m (-27.6%)
  8. dist-x86_64-msvc-alt: 2h 11m -> 2h 47m (+27.3%)
  9. dist-powerpc64-linux-musl: 1h 18m -> 1h 39m (+26.3%)
  10. x86_64-gnu: 2h 41m -> 1h 59m (-26.0%)
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-bors

rust-bors Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#161517 coverage: Switch over to hybrid HIR-aware coverage spans 17d8fe47028097d52e9a391410ca452129287638
(link)
#162030 Prevent --test to be used in rustdoc-html testsuite 4199c7f5efefa643e07210ecdbad3e83ec5a8a6a
(link)
#162329 Suggest extra borrows for nested reference arguments 4037d196275ebda43f36176b97cf50d9b46aca0d
(link)

parent commit: dbad1bab60

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

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (46a266b): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (primary 1.6%, secondary 1.5%)

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

mean range count
Regressions ❌
(primary)
4.6% [4.6%, 4.6%] 1
Regressions ❌
(secondary)
2.9% [2.2%, 3.3%] 3
Improvements ✅
(primary)
-1.4% [-1.4%, -1.4%] 1
Improvements ✅
(secondary)
-2.4% [-2.4%, -2.4%] 1
All ❌✅ (primary) 1.6% [-1.4%, 4.6%] 2

Cycles

Results (primary -3.1%, secondary -3.1%)

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

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-3.1% [-3.2%, -3.1%] 2
Improvements ✅
(secondary)
-3.1% [-3.1%, -3.1%] 1
All ❌✅ (primary) -3.1% [-3.2%, -3.1%] 2

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 478.423s -> 478.283s (-0.03%)
Artifact size: 403.41 MiB -> 403.38 MiB (-0.01%)

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-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants