Rollup of 7 pull requests#153673
Conversation
Currently extra_checks acts as a single check. It has some downsides: - It is completely sequential. If one sub-check fails, next sub-checks are not executed - sub-checks are not tracked on TidyCtx's failed checks This commit extract those sub-chekcs into separate functions, and call tidy_ctx.start_check() in each function. It also add start_check() for prepare functions (installing python/npm packages) because some sub-checks rely on them.
Currently `QueryVTable`'s `value_from_cycle_error` function pointer uses the `FromCycleError` trait to call query cycle handling code and to construct an erroneous query output value. This trick however relies too heavily on trait impl specialization and makes those impls inconsistent (which is bad AFAIK). Instead this commit directly modifies `value_from_cycle_error` function pointer upon vtable initialization and gets rid of `FromCycleError`.
…stc_codegen_ssa`
It's defined in `rustc_span::source_map` which doesn't make any sense because it has nothing to do with source maps. This commit moves it to the crate root, a more sensible spot for something this basic.
…=lolbinarycat,kobzol Introduce granular tidy_ctx's check in extra_checks ## Changes This PR does: - Extract sub checks in extra_checks to each function which takes a reference of TidyCtx - Also extract python/npm dependency install steps to functions. They also calls tidy_ctx.start_check() The changes introduce some benefits: - A failure on one sub-check doesn't stop other sub-check (except py/npm install functions. Because some sub-checks rely on them) - A failure on a sub-check is tracked on TidyCtx's error check Verbose output (shortened): <img width="904" height="1251" alt="image" src="https://github.com/user-attachments/assets/53df4029-a820-467e-b849-ac05c02b396e" /> ## Question I considered that I would decompose each sub-check more so that main.rs calls sub-checks directly and those sub-checks are executed concurrently. But to do so, I think 1. main.rs has to know some implementation details of extra_checks (for example, it might need to know ExtraCheckArg to decide which sub-checks should be called or not), and/or 2. we should decompose extra_checks/ dir to utilize check! macro for sub-checks. I'd like to know your opinion/suggestion.
Add a regression test for rust-lang#153599 Fixes rust-lang#153599 it's already fixed.
…r, r=nnethercote Remove `FromCycleError` trait Currently `QueryVTable`'s `value_from_cycle_error` function pointer uses the `FromCycleError` trait to call query cycle handling code and to construct an erroneous query output value. This trick however relies too heavily on trait impl specialization and makes those impls inconsistent (which is bad AFAIK). Instead this PR directly modifies `value_from_cycle_error` function pointer upon vtable initialization and gets rid of `FromCycleError`. Removal of `FromCycleError` might also be a desired change for some developers involved in the query system development due to some other reasons. This PR is split up into two commits. **Code formatting changes are isolated into the second commit for better git diffs in the first one.** Nice and simple refactor PR. I got this idea from rust-lang#153470 (comment) discussion and thought it would be a pretty quick change to implement. r? @nnethercote I think this PR would benefit from your reviewer polish.
…nop, r=ehuss tests/ui/binop: add annotations for reference rules
…Brouwer Move `Spanned`. It's defined in `rustc_span::source_map` which doesn't make any sense because it has nothing to do with source maps. This commit moves it to the crate root, a more sensible spot for something this basic. r? @JonathanBrouwer
…athanBrouwer Remove `TyCtxt::node_lint` method and `rustc_middle::lint_level` function Part of rust-lang#153099. With this PR, we can finally get rid of `lint_level`. \o/ r? @JonathanBrouwer
Add test for rust-lang#109804 Close rust-lang#109804.
This comment has been minimized.
This comment has been minimized.
…uwer Rollup of 7 pull requests Successful merges: - #153560 (Introduce granular tidy_ctx's check in extra_checks) - #153666 (Add a regression test for #153599) - #153493 (Remove `FromCycleError` trait) - #153549 (tests/ui/binop: add annotations for reference rules) - #153641 (Move `Spanned`.) - #153663 (Remove `TyCtxt::node_lint` method and `rustc_middle::lint_level` function) - #153664 (Add test for #109804)
|
@bors yield |
|
Auto build was cancelled. Cancelled workflows: The next pull request likely to be tested is #153672. |
This comment has been minimized.
This comment has been minimized.
…uwer Rollup of 7 pull requests Successful merges: - #153560 (Introduce granular tidy_ctx's check in extra_checks) - #153666 (Add a regression test for #153599) - #153493 (Remove `FromCycleError` trait) - #153549 (tests/ui/binop: add annotations for reference rules) - #153641 (Move `Spanned`.) - #153663 (Remove `TyCtxt::node_lint` method and `rustc_middle::lint_level` function) - #153664 (Add test for #109804)
|
💔 Test for f910675 failed: CI. Failed job:
|
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
@bors retry |
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: d1c79458b5 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
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 d1c7945 (parent) -> b2fabe3 (this PR) Test differencesShow 556 test diffsStage 1
Stage 2
Additionally, 552 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard b2fabe39bde5174e8d728bb85f2b8d0572c35b74 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (b2fabe3): comparison URL. Overall result: ❌✅ regressions and improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary -0.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -1.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.0%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 479.3s -> 479.938s (0.13%) |
Successful merges:
FromCycleErrortrait #153493 (RemoveFromCycleErrortrait)Spanned. #153641 (MoveSpanned.)TyCtxt::node_lintmethod andrustc_middle::lint_levelfunction #153663 (RemoveTyCtxt::node_lintmethod andrustc_middle::lint_levelfunction)Borrow::borrowfunction item #109804)r? @ghost
Create a similar rollup