Rollup of 12 pull requests#152006
Conversation
Makes the use expressions significantly shorter.
So that `pub-priv1.rs` test does not have to (ab)use the `aux-crate` directive for this purpose. This is very edge-casey so I don't think we should document this in rustc-dev-guide. If someone needs to do this they will look at the code and easily find the functionality. This is a bit hacky since `--extern priv:pm.rs` is not valid, but we can make our directives work however we want. And I think this is a fine pragmatic approach. Doing it "the right way" would be a lot of work for not much gain. Plus, that work can be done incrementally in small steps in the future if wanted.
It doesn't use `self`, which means it doesn't need to be part of the `QueryContext` trait; we can just call `extract` directly where necessary.
Various `QueryStackFrame` variables are called `query`; `frame` is a better name. And various `QueryInfo` variables are called `frame`; `info` is a better name. This eliminates some confusing `query.query()` occurrences, which is a good sign, and some `frame.query` occurrences become `info.frame`.
Putting `+ 'tcx` on the `QueryDispatcher` trait lets a few other places be simplified.
It's defined and used in `rustc_query_impl`; `rustc_query_system` doesn't need it. So it can just be an inherent method on `QueryCtxt`.
Export globals via a `doc(hidden)` module. In test code, use the globals from `realstd` so that they are properly initialized.
The new ambiguities are reported when the import's visibility is ambiguous and may depend on the resolution/expansion order.
Co-authored-by: lcnr <rust@lcnr.de>
resolve: Report more visibility-related early resolution ambiguities for imports The new ambiguities are reported when the import's visibility is ambiguous and may depend on the resolution/expansion order. Detailed description: rust-lang#149596 (comment).
…thar compiletest: Support `--extern` modifiers with `proc-macro` directive So that the `src/tools/compiletest/src/directives/auxiliary/tests.rs` test does not have to (ab)use the `aux-crate` directive for this purpose. This is very edge-casey so I don't think we should document this in rustc-dev-guide. Mentioning it will confuse more than it helps. If someone needs to do this they will look at the code and easily find the functionality. This is a bit hacky since `--extern priv:pm.rs` is not valid, but we can make our directives work however we want. And I think this is a fine pragmatic approach. Doing it "the right way" would be a lot of work for not much gain. Plus, that work can be done incrementally in small steps in the future if wanted. r? @Zalathar --- Follow-up to: - rust-lang#151353 - rust-lang#151670 ### Unblocks: - rust-lang#151691, because without this fix that test fails (see rust-lang#151691 (comment))
…rcote Use `#![feature(adt_const_params)]` for static query flags As suggested by rust-lang#151633 (comment), this replaces multiple clunky const booleans with a single const struct, which is a bit nicer. This should also make it easier to experiment with statically resolving other flags, like `eval_always`. There are currently no other compiler crates using `feature(adt_const_params)`, so hopefully it's mature enough for a simple use-case like this one.
…ianne Use default field values in a few more cases Makes the use expressions significantly shorter.
… r=tgross35 more float constants Add constants discussed in rust-lang#146939 rust-lang/libs-team#661 Retry of rust-lang#146934 r? @tgross35
…-relate, r=lcnr regression test for alias-relate changes in lub r? @lcnr
Add inline syntax for diagnostic messages This PR adds the new inline diagnostics syntax needed for rust-lang#151366. The syntax itself is briefly described in the MCP: rust-lang/compiler-team#959 To test these changes: * I added quite a few uitests * I converted the first crate `rustc_attr_parsing` to the new syntax in a separate PR: rust-lang#151944 r? @Kivooeo
explain why we dont skip some of this work when there are field projections Perf says it doesn't help 🤷
…int-spans, r=Kivooeo Skip overlapping spans in argument error suggestions Fixes rust-lang#151607
…thar Query cleanups A few small cleanups in the query system. r? @Zalathar
…r=jhpratt Fix uninitialized UEFI globals in tests Export globals via a `doc(hidden)` module. In test code, use the globals from `realstd` so that they are properly initialized. CC @Ayush1325
|
GitHub says the incident is resolved; let's try again. @bors retry p=1001 |
|
@bors p=1001 |
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 f60a0f1 (parent) -> 5ac8ece (this PR) Test differencesShow 1428 test diffsStage 0
Stage 1
Stage 2
Additionally, 1408 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 5ac8ecea36e7548534e0bc3d4aa1c12bd4908566 --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 |
|
Seems to be working as expected now. @bors treeopen |
|
📌 Perf builds for each rolled up PR:
previous master: f60a0f1bcc In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Tree is now open for merging. |
|
Finished benchmarking commit (5ac8ece): 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 2.2%, secondary -2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 3.4%, secondary 1.5%)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: 470.454s -> 474.688s (0.90%) |
|
@rust-timer build fc75a6d (just testing perfbot) |
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (fc75a6d): comparison URL. Overall result: no relevant changes - no action neededInstruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary 2.4%, secondary -3.3%)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 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: 470.454s -> 475.329s (1.04%) |
Successful merges:
--externmodifiers withproc-macrodirective #151695 (compiletest: Support--externmodifiers withproc-macrodirective)#![feature(adt_const_params)]for static query flags #151938 (Use#![feature(adt_const_params)]for static query flags)#[rustc_hidden_type_of_opaque]to attribute parser #151992 (Port#[rustc_hidden_type_of_opaque]to attribute parser)r? @ghost
Create a similar rollup