-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Rollup of 19 pull requests #145701
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 19 pull requests #145701
Conversation
Add a few links to the collections mentioned in the module doc for Collections.
Just like we implemented relatively complex rules to imply other extensions **from** "C" (and some others), this commit implements implication **to** the "C" extension from others, complying the following text in the ISA Manual (although there's no direct imply/depend references). > The C extension is the superset of the following extensions: > > - Zca > - Zcf if F is specified (RV32 only) > - Zcd if D is specified This is formally verified so that no other extension combinations (*not* in this implementation) can (currently) imply the "C" extension.
`ModKind::Loaded` has an `inline` field and a `had_parse_error` field. If the `inline` field is `Inline::Yes` then `had_parse_error` must be `Ok(())`. This commit moves the `had_parse_error` field into the `Inline::No` variant. This makes it impossible to create the nonsensical combination of `inline == Inline::Yes` and `had_parse_error = Err(_)`.
…egen-backend` and `--override-codegen-backend`
…t while proving a where-clause Signed-off-by: xizheyin <[email protected]>
`rustc_errors` depends on numerous crates, solely to implement its `IntoDiagArg` trait on types from those crates. Many crates depend on `rustc_errors`, and it's on the critical path. We can't swap things around to make all of those crates depend on `rustc_errors` instead, because `rustc_errors` would end up in dependency cycles. Instead, move `IntoDiagArg` into `rustc_error_messages`, which has far fewer dependencies, and then have most of these crates depend on `rustc_error_messages`. This allows `rustc_errors` to drop dependencies on several crates, including the large `rustc_target`. (This doesn't fully reduce dependency chains yet, as `rustc_errors` still depends on `rustc_hir` which depends on `rustc_target`. That will get fixed in a subsequent commit.)
Some crates depend on `rustc_hir` but only want `HirId` and similar id types. `rustc_hir` is a heavy dependency, since it pulls in `rustc_target`. Split these types out into their own crate `rustc_hir_id`. This allows `rustc_errors` to drop its direct dependency on `rustc_hir`. (`rustc_errors` still depends on `rustc_hir` indirectly through `rustc_lint_defs`; a subsequent commit will fix that.)
`rustc_lint_defs` uses `rustc_hir` solely for the `Namespace` type, which it only needs the static description from. Use the static description directly, to eliminate the dependency on `rustc_hir`. This reduces a long dependency chain: - Many things depend on `rustc_errors` - `rustc_errors` depends on `rustc_lint_defs` - `rustc_lint_defs` depended on `rustc_hir` prior to this commit - `rustc_hir` depends on `rustc_target`
…hir` `rustc_mir_dataflow` only uses `DefId`, which is a re-export from `rustc_span`.
`rustc_traits` only uses `DefId`, which is a re-export from `rustc_span`.
…y, r=dtolnay stabilize `const_array_each_ref` cc rust-lang#133289, needs FCP.
[Doc] Add links to the various collections Add a few links to the collections mentioned in the module doc for Collections.
…quality, r=WaffleLapkin,lcnr Defer tail call ret ty equality to check_tail_calls Fixes rust-lang#144892. Currently the tail call signature check assumes that return types have been accounted for. However, this is not complete for several reasons. Firstly, we were using subtyping instead of equality in the HIR typeck code: https://github.com/rust-lang/rust/blob/e1b9081e699065badfc1a9419ec9566e5c8615c4/compiler/rustc_hir_typeck/src/expr.rs#L1096 We could fix this, but it doesn't really do much for us anyways since HIR typeck doesn't care about regions. That means, secondly, we'd need to fix the terminator type check in MIR typeck to account for variances, since tail call terminators need to relate their arguments invariantly to account for the "signature must be equal" rule. This seems annoying. All of this seems like a lot of work, and we already are *manually* checking argument equality. Let's just extend the `check_tail_calls` to account for mismatches in return types anyways. r? ``````@WaffleLapkin``````
@bors r+ rollup=never p=5 @bors2 try jobs=test-various |
This comment has been minimized.
This comment has been minimized.
Rollup of 19 pull requests try-job: test-various
☀️ Test successful - checks-actions |
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 922958c (parent) -> 57e620e (this PR) Test differencesShow 51 test diffsStage 1
Stage 2
Additionally, 42 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 57e620e56b718abaf47f18e1e20a3cc3480b258b --output-dir test-dashboard And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
📌 Perf builds for each rolled up PR:
previous master: 922958cffe In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (57e620e): 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.0%, secondary 3.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 471.588s -> 469.9s (-0.36%) |
Successful merges:
const_array_each_ref
#143383 (stabilizeconst_array_each_ref
)--test-codegen-backend
bootstrap option #145256 (Add new--test-codegen-backend
bootstrap option)ast::ModKind
. #145590 (Prevent impossible combinations inast::ModKind
.)"x86-interrupt"
functions #145662 (Enforce correct number of arguments for"x86-interrupt"
functions)[review-changes-since]
feature #145674 (Enable triagebot[review-changes-since]
feature)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup