Skip to content

Rollup of 14 pull requests - #164640

Closed
JonathanBrouwer wants to merge 48 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-Scsx5gJ
Closed

JonathanBrouwer wants to merge 48 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-Scsx5gJ

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

evan-dickinson and others added 30 commits September 11, 2026 16:09
If we try to eagerly process our skip count, we might see the end of the
inner iterator. `Iterator::advance_by` is supposed to return a non-zero
`Err` count when exhausted, but there's no room for `Skip` to report
anything in this case. So, it's better that we don't even try.
Invalid lifetime suggested:

```
error[E0311]: the parameter type `S` may not live long enough
  --> $DIR/do-not-suggest-anon-lifetime.rs:16:10
   |
LL |     ) -> impl Future<Output = Result<Self::Response, Self::Error>> {
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `impl Future<Output = Result<<Foo as Service<S, Request>>::Response, <Foo as Service<S, Request>>::Error>>` will meet its required lifetime bounds...
   |
  ::: $DIR/auxiliary/anon_lifetime.rs:14:9
   |
LL |         &self,
   |         - the parameter type `S` must be valid for the anonymous lifetime as defined here...
   |
note: ...that is required by this bound
  --> $DIR/auxiliary/anon_lifetime.rs:17:77
   |
LL |     ) -> impl Future<Output = Result<Self::Response, Self::Error>> + Send + '_;
   |                                                                             ^^
help: consider adding an explicit lifetime bound
   |
LL |     ) -> impl Future<Output = Result<Self::Response, Self::Error>> where S: anon {
   |                                                                    +++++++++++++
```
Given
```rust
---
packag.edition = "2024"

[dependencies]
rama = "0.2.0"
---

fn main() {}

struct Foo;

impl<S, Request: 'static> rama::Service<S, Request> for Foo {
    type Response = ();
    type Error = ();

    fn serve(
        &self,
        _ctx: rama::Context<S>,
        _req: Request,
    ) -> impl Future<Output = Result<Self::Response, Self::Error>> {
        async { todo!() }
    }
}
```
emit
```
error[E0311]: the parameter type `S` may not live long enough
  --> f20.rs:20:10
   |
20 |     ) -> impl Future<Output = Result<Self::Response, Self::Error>> {
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `impl Future<Output = Result<<Foo as Service<S, Request>>::Response, <Foo as Service<S, Request>>::Error>>` will meet its required lifetime bounds...
   |
  ::: /home/gh-estebank/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rama-core-0.2.0/src/service/svc.rs:19:9
   |
19 |         &self,
   |         - the parameter type `S` must be valid for the anonymous lifetime as defined here...
   |
note: ...that is required by this bound
  --> /home/gh-estebank/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rama-core-0.2.0/src/service/svc.rs:22:77
   |
22 |     ) -> impl Future<Output = Result<Self::Response, Self::Error>> + Send + '_;
   |                                                                             ^^
```

without the incorrect suggestion

```
help: consider adding an explicit lifetime bound
   |
22 |     ) -> impl Future<Output = Result<Self::Response, Self::Error>> where S: anon {
   |                                                                    +++++++++++++
```
It does not have any use, and it is a no-op we have to process on the
hot path of macro parsing.
The parsing code is much hotter than `compute_locs()`, so perform the
match over there. This might mildly change the debug representation of
computed `[MatcherLoc]`s, but it's probably worthwhile for perf.
@rust-bors rust-bors Bot 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 Oct 20, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 20, 2026
…uwer

Rollup of 14 pull requests

Successful merges:

 - #163664 (Add new `RUSTC_BOOTSTRAP=-allow-unstable-compiler-flags` mode for testing stable compiler behavior in UI tests)
 - #163104 ([debuginfo] Emit `usize` and `isize` as typedefs)
 - #163701 (add ReadDir::dir to get the directory handle of the underlying directory)
 - #164488 (Don't try to skip anything in `Skip::advance_by(0)`)
 - #164611 (Improve bit permutation codegen)
 - #164612 (std: Combine `is_powerpc64_feature_detected` into `is_powerpc_feature_detected`)
 - #148842 (Avoid incorrect lifetime suggestion involving `sym::anon`)
 - #162668 (document that `!` does bitwise and logical negation)
 - #164264 (lint: suggest `fXX::is_nan` for unsuffixed NaN comparisons)
 - #164509 (layout invariant: turn delayed bug back into proper assertion)
 - #164540 (Minor optimizations around macro parsing)
 - #164594 (rustdoc: Correctly handle inner `deprecated` attribute on modules)
 - #164595 (Allow attributes in function trait parameters)
 - #164629 (arch::breakpoint: avoid confusing 'equivalent' terminology)
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors treeopen

@rust-bors

rust-bors Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Tree is now open for merging.

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 20, 2026
@rust-bors

rust-bors Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

💔 Test for b0cdc90 failed: CI. Failed job:

@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors retry

@rust-bors rust-bors Bot 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 Oct 20, 2026
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-gnu-stdlib-semver-check failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

Important

For more information how to resolve CI failures of this job, visit this link.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 20, 2026
…uwer

Rollup of 14 pull requests

Successful merges:

 - #163664 (Add new `RUSTC_BOOTSTRAP=-allow-unstable-compiler-flags` mode for testing stable compiler behavior in UI tests)
 - #163104 ([debuginfo] Emit `usize` and `isize` as typedefs)
 - #163701 (add ReadDir::dir to get the directory handle of the underlying directory)
 - #164488 (Don't try to skip anything in `Skip::advance_by(0)`)
 - #164611 (Improve bit permutation codegen)
 - #164612 (std: Combine `is_powerpc64_feature_detected` into `is_powerpc_feature_detected`)
 - #148842 (Avoid incorrect lifetime suggestion involving `sym::anon`)
 - #162668 (document that `!` does bitwise and logical negation)
 - #164264 (lint: suggest `fXX::is_nan` for unsuffixed NaN comparisons)
 - #164509 (layout invariant: turn delayed bug back into proper assertion)
 - #164540 (Minor optimizations around macro parsing)
 - #164594 (rustdoc: Correctly handle inner `deprecated` attribute on modules)
 - #164595 (Allow attributes in function trait parameters)
 - #164629 (arch::breakpoint: avoid confusing 'equivalent' terminology)
@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 20, 2026
@rust-bors

rust-bors Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

💔 Test for f2d75f8 failed: CI. Failed job:

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-aarch64-apple-macos-26-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling test-float-parse v0.1.0 (/Users/runner/work/rust/rust/src/tools/test-float-parse)
[RUSTC-TIMING] test_float_parse test:false 0.607
    Finished `release` profile [optimized] target(s) in 1.06s
     Running `build/aarch64-apple-darwin/stage3-tools/aarch64-apple-darwin/release/test-float-parse --skip-huge`
build/aarch64-apple-darwin/stage3-tools/aarch64-apple-darwin/release/test-float-parse: build/aarch64-apple-darwin/stage3-tools/aarch64-apple-darwin/release/test-float-parse: cannot execute binary file
Command `/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage0/bin/cargo run --target aarch64-apple-darwin -Zbinary-dep-depinfo -j 3 -Zroot-dir=/Users/runner/work/rust/rust -Zembed-metadata=no --locked --color=always --profile=release --manifest-path /Users/runner/work/rust/rust/src/tools/test-float-parse/Cargo.toml -- --skip-huge [workdir=/Users/runner/work/rust/rust]` failed with exit code 126
Created at: src/bootstrap/src/core/build_steps/tool.rs:208:21
Executed at: src/bootstrap/src/core/build_steps/test.rs:4780:19

Command has failed. Rerun with -v to see more details.
Bootstrap failed while executing `--stage 2 test --host=aarch64-apple-darwin --target=aarch64-apple-darwin --skip tests --skip library --skip tidyselftest`
Currently active steps:
test::TestFloatParse { build_compiler: Compiler { stage: 2, host: aarch64-apple-darwin, forced_compiler: false }, target: aarch64-apple-darwin } at src/bootstrap/src/core/build_steps/test.rs:4721
Build completed unsuccessfully in 2:08:24
  local time: Tue Oct 20 17:57:10 UTC 2026

Important

For more information how to resolve CI failures of this job, visit this link.

@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors retry

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 20, 2026
@rust-bors

rust-bors Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

PR #164629, which is a member of this rollup, was unapproved.

This rollup was thus unapproved.

@rust-bors

rust-bors Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

PR #164629, which is a member of this rollup, changed its commit SHA to 4134d6244243d584d49723d13a8f405fd19059bb.

This rollup was closed.

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup 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-libs Relevant to the library 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.