Skip to content

Rollup of 20 pull requests - #145697

Closed
jhpratt wants to merge 48 commits into
rust-lang:masterfrom
jhpratt:rollup-586qjhb
Closed

Rollup of 20 pull requests#145697
jhpratt wants to merge 48 commits into
rust-lang:masterfrom
jhpratt:rollup-586qjhb

Conversation

@jhpratt

@jhprattjhpratt commented Aug 21, 2025

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

fee1-deadand others added 30 commits July 3, 2025 23:43
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 <xizheyin@smail.nju.edu.cn>
The return type is correct in the source code but incorrect in the docstring
`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.
@rustbotrustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-rustdoc-search Area: Rustdoc's search feature A-testsuite Area: The testsuite used to check the correctness of rustc A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic F-explicit_tail_calls `#![feature(explicit_tail_calls)]` S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-release Relevant to the release subteam, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. labels Aug 21, 2025
@jhpratt

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=5

@rustbotrustbot added the rollup A PR which is a rollup label Aug 21, 2025
@bors

bors commented Aug 21, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit d533ada has been approved by jhpratt

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 21, 2025
@jhpratt

Copy link
Copy Markdown
MemberAuthor

Given the other failed rollups, let's try this one while the previous is being built.

@bors2 try jobs=test-various

@rust-bors

This comment has been minimized.

rust-borsBot added a commit that referenced this pull request Aug 21, 2025
Rollup of 20 pull requests
try-job: test-various
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-various failed! Check out the build log: (web)(plain enhanced)(plain)

Click to see the possible cause of the failure (guessed by this bot)
test [codegen] tests/codegen-llvm/zip.rs ... ok
failures:
---- [codegen] tests/codegen-llvm/issues/cows-dont-have-branches-117763.rs stdout ----
error: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/issues/cows-dont-have-branches-117763/cows-dont-have-branches-117763.ll" "/checkout/tests/codegen-llvm/issues/cows-dont-have-branches-117763.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen-llvm/issues/cows-dont-have-branches-117763.rs:13:12: error: CHECK: expected string not found in input
// CHECK: ret { ptr, i64 }
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/issues/cows-dont-have-branches-117763/cows-dont-have-branches-117763.ll:7:53: note: scanning from here
define dso_local { ptr, i32 } @branchless_cow_slices(ptr noalias noundef readonly align 4 captures(none) dereferenceable(12) %cow) unnamed_addr #0 {
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/issues/cows-dont-have-branches-117763/cows-dont-have-branches-117763.ll:15:2: note: possible intended match here
ret { ptr, i32 } %1
^
Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen-llvm/issues/cows-dont-have-branches-117763/cows-dont-have-branches-117763.ll
Check file: /checkout/tests/codegen-llvm/issues/cows-dont-have-branches-117763.rs
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: ; ModuleID = 'cows_dont_have_branches_117763.12ccc2b468a22eea-cgu.0' 2: source_filename = "cows_dont_have_branches_117763.12ccc2b468a22eea-cgu.0" 3: target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20" 4: target triple = "wasm32-unknown-wasip1" 5: 6: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) 7: define dso_local { ptr, i32 } @branchless_cow_slices(ptr noalias noundef readonly align 4 captures(none) dereferenceable(12) %cow) unnamed_addr #0 { check:13'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
8: start: check:13'0 ~~~~~~~
9: %_2.sroa.0.0.in = getelementptr inbounds nuw i8, ptr %cow, i32 4 check:13'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10: %_2.sroa.0.0 = load ptr, ptr %_2.sroa.0.0.in, align 4, !nonnull !1, !noundef !1 check:13'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11: %_2.sroa.5.0.in = getelementptr inbounds nuw i8, ptr %cow, i32 8 check:13'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: %_2.sroa.5.0 = load i32, ptr %_2.sroa.5.0.in, align 4, !noundef !1 check:13'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13: %0 = insertvalue { ptr, i32 } poison, ptr %_2.sroa.0.0, 0 check:13'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14: %1 = insertvalue { ptr, i32 } %0, i32 %_2.sroa.5.0, 1 check:13'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15: ret { ptr, i32 } %1 check:13'0 ~~~~~~~~~~~~~~~~~~~~~
check:13'1 ? possible intended match
16: } check:13'0 ~~
17: check:13'0 ~
18: attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) "target-cpu"="generic" } check:13'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19: check:13'0 ~
20: !llvm.ident = !{!0} check:13'0 ~~~~~~~~~~~~~~~~~~~~
21: check:13'0 ~
22: !0 = !{!"rustc version 1.91.0-nightly (5c606e5b6 2025-08-21)"} check:13'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: !1 = !{} check:13'0 ~~~~~~~~~
>>>>>>
------------------------------------------

@rust-bors

rust-borsBot commented Aug 21, 2025

Copy link
Copy Markdown
Contributor

💔 Test for 5c606e5 failed: CI. Failed jobs:

@jhprattjhpratt closed this Aug 21, 2025
@jhpratt
jhpratt deleted the rollup-586qjhb branch August 21, 2025 05:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributesArea: Attributes (`#[…]`, `#![…]`)A-compiletestArea: The compiletest test runnerA-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-metaArea: Issues & PRs about the rust-lang/rust repository itselfA-rustdoc-searchArea: Rustdoc's search featureA-testsuiteArea: The testsuite used to check the correctness of rustcA-translationArea: Translation infrastructure, and migrating existing diagnostics to SessionDiagnosticF-explicit_tail_calls`#![feature(explicit_tail_calls)]`rollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-clippyRelevant to the Clippy team.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-releaseRelevant to the release subteam, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.T-rustfmtRelevant to the rustfmt team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@jhpratt@bors@rust-log-analyzer@rustbot@fee1-dead@QnJ1c2kNCg@adwinwhite@the8472@typesanitizer@a4lg@RalfJung@nnethercote@compiler-errors@dns2utf8@GuillaumeGomez@xizheyin@Kobzol@GrigorenkoPV@Berrysoft@Urgau