Skip to content

Conversation

@GuillaumeGomez
Copy link
Member

@GuillaumeGomez GuillaumeGomez commented Nov 11, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

folkertdev and others added 15 commits November 5, 2025 17:06
async functions are disallowed (because `-> impl Trait` is not supported). `const` entry functions are allowed, nonsecure-call functions must be function pointers, which cannot be evaluated during constant evaluation.
It has been removed 9 months ago, which is more than a few months.
… r=lolbinarycat

[rustdoc] Fix invalid jump to def macro link generation

Follow-up of rust-lang#147820.

I realized that when there was no intra-doc link linking to the same item, then the generated link for macros in jump to def would be invalid.

To make the code less redundant, I merged the "registering" of items and the href generation use the same code for macros.

r? `@notriddle`
Adjust spans into the `for` loops context before creating the new desugaring spans.

When lowering `for` loops, the spans for the `into_iter` call and the `Some` pattern used the span of the provided pattern and head expression. If either of those came from a different `SyntaxContext` this would result in some very strange contexts. e.g.:

```rust
macro_rules! m { ($e:expr) => { { $e } } }
for _ in m!(expr) {}
```

This would result in the `into_iter` call have a context chain of `desugar => m!() => root` which is completely nonsensical; `m!()`  does not have a `for` loop. The `into_iter` call also ends up located at `{ $e }` rather than inside the `for _ in _` part.

This fixes that by walking the spans up to the `for` loop's context first. This will not handle adjusting the location of macro variable expansions (e.g. `for _ in $e`), but this does adjust the context to match the `for` loops.

---

This ended up causing rust-lang/rust-clippy#16008. Clippy should be using a `debug_assert` rather than `unreachable`, but it still results in a bug either way.
Update git index before running diff-index

Discussed in https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/tidy.3A.20strange.20number.20of.20modified.20files/with/553714742.

This is apparently the cause of `x test tidy` printing weird number of formatted files, and also of sometimes quirky behavior of finding the files modified from a base commit.
…davidtwco

cmse: add test for `async` and `const` functions

tracking issue: rust-lang#81391
tracking issue: rust-lang#75835

Some additional tests that seemed useful while working on the RFC text.

`async` functions are disallowed (because `-> impl Trait` is not supported).

`const` entry functions are allowed, `nonsecure-call` does not make sense, because this abi can only be used on function pointers, which cannot be evaluated during constant evaluation.

The async test is in the `c-variadic.rs` file because it has the minicore-compatible machinery for defining an async function. Splitting that logic out (like `minisimd.rs`) turns out to be complicated because the async stuff relies on types defined by minicore.

r? `@davidtwco`
Remove specialized warning for removed target

It has been removed 9 months ago, which is more than a few months.
@rustbot rustbot added 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-compiler Relevant to the compiler team, 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. rollup A PR which is a rollup labels Nov 11, 2025
@GuillaumeGomez
Copy link
Member Author

@bors r+ p=5 rollup=never

@bors
Copy link
Collaborator

bors commented Nov 11, 2025

📌 Commit d19b9b0 has been approved by GuillaumeGomez

It is now in the queue for this repository.

@bors bors 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 Nov 11, 2025
bors added a commit that referenced this pull request Nov 11, 2025
Rollup of 6 pull requests

Successful merges:

 - #147753 (Suggest add bounding value for RangeTo)
 - #148080 ([rustdoc] Fix invalid jump to def macro link generation)
 - #148465 (Adjust spans into the `for` loops context before creating the new desugaring spans.)
 - #148500 (Update git index before running diff-index)
 - #148536 (cmse: add test for `async` and `const` functions)
 - #148819 (Remove specialized warning for removed target)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Collaborator

bors commented Nov 11, 2025

⌛ Testing commit d19b9b0 with merge ce75ee5...

@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
---- [coverage-run] tests/coverage/async_block.rs stdout ----
Saved the actual coverage to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/coverage/async_block.coverage-run/async_block.coverage`
diff of coverage:

5    LL|       |extern crate executor;
6    LL|       |
7    LL|      1|fn main() {
-    LL|     17|    for i in 0..16 {
-                       ^16
+    LL|     16|    for i in 0..16 {
+                            ^1
10    LL|     16|        let future = async {
11    LL|     16|            if i >= 12 {
12    LL|      4|                println!("big");


The actual coverage differed from the expected coverage

error: an error occurred comparing coverage output.
status: exit status: 0
command: "/checkout/obj/build/aarch64-unknown-linux-gnu/llvm/bin/llvm-cov" "show" "--format=text" "--show-line-counts-or-regions" "--Xdemangler" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-tools-bin/coverage-dump" "--Xdemangler" "--demangle" "--instr-profile" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/coverage/async_block.coverage-run/default.profdata" "--object" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/coverage/async_block.coverage-run/a"
--- stdout -------------------------------
    1|       |#![feature(coverage_attribute)]
    2|       |//@ edition: 2021
    3|       |
    4|       |//@ aux-build: executor.rs
    5|       |extern crate executor;
    6|       |
    7|      1|fn main() {
    8|     16|    for i in 0..16 {
                           ^1
    9|     16|        let future = async {
   10|     16|            if i >= 12 {
   11|      4|                println!("big");
   12|     12|            } else {
   13|     12|                println!("small");
   14|     12|            }
   15|     16|        };
   16|     16|        executor::block_on(future);

@bors
Copy link
Collaborator

bors commented Nov 11, 2025

💔 Test failed - checks-actions

@bors bors removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Nov 11, 2025
@bors bors added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollup A PR which is a rollup 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-compiler Relevant to the compiler team, 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants