Conversation
This allows every check to be a single hashtable lookup instead of a linear scan.
This also incorporates some requested improvements to the error message for unknown directives.
…-Simulacrum Constify `ControlFlow` methods without unstable bounds Feature: `min_const_control_flow` Tracking issue: rust-lang#148738 This PR constifies some of the methods on `ControlFlow`.
…rk-Simulacrum Constify `ControlFlow` methods with unstable bounds Feature: `const_control_flow` Tracking issue: rust-lang#148739 This PR constifies the methods on `ControlFlow` with a dependency on rust-lang#143874.
compiletest: Do the known-directives check only once, and improve its error message This PR is a combination of three changes: - Store the list of known directives in a set, so that checking a directive name doesn't require a linear scan - Extract the known-directives check out of `iter_directives` and do it only once, instead of multiple times per file - Improve the error message for unknown directives, [as requested on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Compiletest.20directive.20parsing.20error/with/553598083) The change to error messages is fused with the extraction, since doing it independently would have been more awkward. --- ## Before ```text Testing stage1 with compiletest suite=coverage mode=coverage-map (aarch64-apple-darwin) errors encountered during EarlyProps parsing: /Users/stuart/Dev/rust/rust/tests/coverage/trivial.rs 2025-11-05T01:55:46.440012Z ERROR compiletest::directives: /Users/stuart/Dev/rust/rust/tests/coverage/trivial.rs:2: detected unknown compiletest test directive `add-core-stubs` thread '<unnamed>' (36268582) panicked at src/tools/compiletest/src/directives.rs:72:13: errors encountered during EarlyProps parsing note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` ## After ```text Testing stage1 with compiletest suite=coverage mode=coverage-map (aarch64-apple-darwin) thread '<unnamed>' (36270772) panicked at src/tools/compiletest/src/lib.rs:876:9: directives check failed: ERROR: unknown compiletest directive `add-core-stubs` at /Users/stuart/Dev/rust/rust/tests/coverage/trivial.rs:2 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ```
…r=yotamofek,fmease Fix invalid macro tag generation for keywords which can be followed by values Fixes rust-lang#148617. The problem didn't come from the `generate-macro-expansion` feature but was actually uncovered thanks to it. Keywords like `if` or `return`, when followed by a `!` were considered as macros, which was wrong and let to invalid class stack and to the panic. ~~While working on it, I realized that `_` was considered as a keyword, so I fixed that as well in the second commit.~~ (reverted, see rust-lang#148655 (comment), rust-lang#148655 (comment)) r? `@yotamofek`
|
@bors r+ rollup=never p=5 |
|
☀️ Test successful - checks-actions |
|
📌 Perf builds for each rolled up PR:
previous master: 6647be9364 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 6647be9 (parent) -> 8401398 (this PR) Test differencesShow 42 test diffsStage 1
Stage 2
Additionally, 38 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 8401398e1f14a24670ee1a3203713dc2f0f8b3a8 --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 (8401398): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary 1.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 4.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 475.519s -> 477.368s (0.39%) |
Successful merges:
ControlFlowmethods without unstable bounds #148248 (ConstifyControlFlowmethods without unstable bounds)ControlFlowmethods with unstable bounds #148285 (ConstifyControlFlowmethods with unstable bounds)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup