Make rustc_hir_analysis not depend on rustc_lint.#154361
Make rustc_hir_analysis not depend on rustc_lint.#154361rust-bors[bot] merged 1 commit intorust-lang:mainfrom
rustc_hir_analysis not depend on rustc_lint.#154361Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…<try> Make `rustc_hir_analysis` not depend on `rustc_lint`.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (f563964): comparison URL. Overall result: no relevant changes - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (secondary -3.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 2.8%)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: 484.064s -> 483.055s (-0.21%) |
1eac51a to
b7be8e4
Compare
`rustc_hir_analysis` depends on `rustc_lint` in just a single function: `emit_delayed_lint`, which is used by the "emit_ast_lowering_delayed_lints" checking section within `rustc_hir_analysis::check_crate`. This commit moves that function and section to out of `rustc_hir_analysis::check_crate`, into `rustc_interface`, eliminating the dependency. This seems reasonable because the delayed lint errors aren't really related to HIR analysis. They were in there just because HIR analysis follows AST lowering. This means `rustc_hir_analysis` and `rustc_lint` can both start compiling as soon as `rustc_trait_selection` finishes. This also changes the error order in one test, which doesn't matter. The commit also changes `emit_delayed_lint` to `emit_delayed_lints`, factoring out some code duplicated in rustdoc.
b7be8e4 to
a733192
Compare
|
These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
…davidtwco Make `rustc_hir_analysis` not depend on `rustc_lint`. `rustc_hir_analysis` depends on `rustc_lint` in just a single function: `emit_delayed_lint`, which is used by the "emit_ast_lowering_delayed_lints" checking section within `rustc_hir_analysis::check_crate`. This commit moves that function and section to out of `rustc_hir_analysis::check_crate`, into `rustc_interface`, eliminating the dependency. This seems reasonable because the delayed lint errors aren't really related to HIR analysis, they were in there just because HIR analysis is what follows AST lowering. This means `rustc_hir_analysis` and `rustc_lint` can both start compiling as soon as `rustc_trait_selection` finishes. This also changes the error order in one test, which doesn't matter. The commit also changes `emit_delayed_lint` to `emit_delayed_lints`, factoring out some code duplicated in rustdoc. r? @davidtwco
|
💥 Test timed out after |
|
Almost certainly a runner being flaky, but let's do a try job to double-check. @bors try jobs=arm-android |
This comment has been minimized.
This comment has been minimized.
…<try> Make `rustc_hir_analysis` not depend on `rustc_lint`. try-job: arm-android
|
@bors retry |
This comment has been minimized.
This comment has been minimized.
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 ac40f5e (parent) -> e3691a5 (this PR) Test differencesShow 2 test diffs2 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard e3691a5bd58e92999bcbffedf640ecd61e02c29e --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 (e3691a5): comparison URL. Overall result: ❌ regressions - 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 (primary 0.8%, secondary -2.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.6%, secondary 2.8%)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: 484.633s -> 483.294s (-0.28%) |
rustc_hir_analysisdepends onrustc_lintin just a single function:emit_delayed_lint, which is used by the"emit_ast_lowering_delayed_lints" checking section within
rustc_hir_analysis::check_crate.This commit moves that function and section to out of
rustc_hir_analysis::check_crate, intorustc_interface, eliminating the dependency. This seems reasonable because the delayed lint errors aren't really related to HIR analysis, they were in there just because HIR analysis is what follows AST lowering.This means
rustc_hir_analysisandrustc_lintcan both start compiling as soon asrustc_trait_selectionfinishes. This also changes the error order in one test, which doesn't matter.The commit also changes
emit_delayed_linttoemit_delayed_lints, factoring out some code duplicated in rustdoc.r? @davidtwco