Skip to content

Rollup of 9 pull requests #145394

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

Closed
wants to merge 35 commits into from

Conversation

GuillaumeGomez
Copy link
Member

@GuillaumeGomez GuillaumeGomez commented Aug 14, 2025

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

GrigorenkoPV and others added 30 commits July 12, 2025 02:03
Like its signed counterpart, this function does not panic. Also, fix the
examples to document how it returns Some/None.
…length limit

When doing lto, rustc generates filenames that are concatenating many information.

In the case of this testcase, it is concatenating crate name and rust file name, plus some hash, and the extension.
In some other cases it will concatenate even more information reducing the maximum effective crate name to about 110 chars on linux filesystems where
filename max length is 255

This commit is ensuring that the temporary file names are limited in size, while still reasonabily ensuring the unicity (with hashing of the stripped part)
When operating on expressions, `cfg_select!` can now handle expressions
without braces. (It still requires braces for other things, such as
items.)

Expand the test coverage and documentation accordingly.
Co-authored-by: Marijn Schouten <[email protected]>
Useful for optimizing the sequencing of the compiler's own build.
…rk-Simulacrum

Add Ref/RefMut try_map method

Tracking issue:  rust-lang#143801

A more generalized version of [`filter_map`](https://doc.rust-lang.org/stable/core/cell/struct.Ref.html#method.filter_map), which allows to return some data on failure.

## Safety

As far as I can tell, `E` cannot contain any `'b` data, so it is impossible to duplicate the `&'b [mut]` reference into the `RefCell`'s  data.

Other than this `E`, everything is analogous to the already stable `filter_map`.

## `Try` / `Residual`

I have considered generalizing this to use the `Try` & `Residual` just like rust-lang#79711 does for `array::try_map`, but it does not seem to be possible: we want to essentially `.map_err(|e| (orig, e))` but this does not seem to be supported with `Try`. (Plus I am not even sure if it is possible to express the fact that `&U` in `Try::Output` would have to have the same lifetime as the `&T` input of `F`.)

## ACP

~As far as I can tell, this [is not mandatory](https://std-dev-guide.rust-lang.org/development/feature-lifecycle.html#suitability-for-the-standard-library), and the implementation is small enough to probably be smaller than the doc I would have to write.~

~rust-lang/libs-team#341

rust-lang/libs-team#586
…, r=davidtwco

Add information about group a lint belongs to

# Description

Fixes: rust-lang#65464

## Changes Made
- Extended the default lint settings message to include the lint group they belong to
- Modified the proposed fix message wording from "part of" to "implied by" for better accuracy
  - Old message: `` `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default ``
  - New message: `` `#[warn(unused_variables)]` (implied by `#[warn(unused)]`) on by default ``

## Rationale
1. The new wording ("implied by") better reflects the actual relationship between lint groups and their members
2. It maintains consistency with messages shown when manually setting lint levels
3. The change helps users understand the hierarchy of lint settings

## Implementation Notes
- Only affects messages for default lint levels (not shown when levels are overridden)
- External lints remain unchanged (potential discussion point for future changes)

## Examples

### Case 1: Unchanged behavior when lint level is overridden
```rust
#[deny(unused)]
fn main() {
    let x = 5;
}
```
Result:
```
note: the lint level is defined here
 --> src/main.rs:1:8
  |
1 | #[deny(unused)]
  |        ^^^^^^
  = note: `#[deny(unused_variables)]` implied by `#[deny(unused)]`
```

### Case 2: Changed behavior for default lint levels
```rust
fn main() {
    let x = 5;
}
```
New output:
```
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
```
Previous output:
```
= note: `#[warn(unused_variables)]` on by default
```

## Discussion Points
- Should we extend this change to external lints as well?
- Is "part of" the most accurate terminology?
- Doesn't this additional info bloat the message? Perhaps a clippy lint suggesting overriding a whole group instead of a few lints manually would be better
…v-comment, r=Mark-Simulacrum

Fix description of unsigned `checked_exact_div`

Like its signed counterpart, this function does not panic. Also, fix the examples to document how it returns Some/None.
strip prefix of temporary file names when it exceeds filesystem name length limit

When doing lto, rustc generates filenames that are concatenating many information.

In the case of this testcase, it is concatenating crate name and rust file name, plus some hash, and the extension. In some other cases it will concatenate even more information reducing the maximum effective crate name to about 110 chars on linux filesystems where filename max length is 255

This commit is ensuring that the temporary file names are limited in size, while still reasonably ensuring the unicity (with hashing of the stripped part)

Fix: rust-lang#49914
…petrochenkov

take attr style into account in diagnostics

when the original attribute was specified as an inner attribute, the suggestion will now match that attribute style
bootstrap: Fix jemalloc 64K page support for aarch64 tools

Resolves rust-lang#133748

The prior page size fix only targeted the compile build step, not the tools step: rust-lang#135081

Also note that since `miri` always uses jemalloc, I didn't copy the `builder.config.jemalloc(target)` check to the tools section.

Tested by running `strings` on the compiled `miri` binary to see the LG_PAGE value.

Before:

```
> strings miri | grep '^LG_PAGE'
LG_PAGE 14
```

After:

```
> strings miri | grep '^LG_PAGE'
LG_PAGE 16
```

May also need a separate fix for the standalone miri repository: rust-lang/miri#4514 (likely a change needed in miri-script?)
…jieyouxu

bootstrap: Support passing `--timings` to cargo

Useful for optimizing the sequencing of the compiler's own build.
…fmease

[rustdoc] Revert "rustdoc search: prefer stable items in search results"

Reverts rust-lang#141658 and reverts rust-lang#145349.

Reopens rust-lang#138067.

r? `@fmease`
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-search Area: Rustdoc's search feature 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-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 Aug 14, 2025
@GuillaumeGomez
Copy link
Member Author

@bors r+ p=5 rollup=never

@bors
Copy link
Collaborator

bors commented Aug 14, 2025

📌 Commit d105953 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 Aug 14, 2025
@bors
Copy link
Collaborator

bors commented Aug 14, 2025

⌛ Testing commit d105953 with merge 3c5ecc5...

bors added a commit that referenced this pull request Aug 14, 2025
Rollup of 9 pull requests

Successful merges:

 - #118087 (Add Ref/RefMut try_map method)
 - #140794 (Add information about group a lint belongs to)
 - #144947 (Fix description of unsigned `checked_exact_div`)
 - #145005 (strip prefix of temporary file names when it exceeds filesystem name length limit)
 - #145233 (cfg_select: Support unbraced expressions)
 - #145243 (take attr style into account in diagnostics)
 - #145353 (bootstrap: Fix jemalloc 64K page support for aarch64 tools)
 - #145379 (bootstrap: Support passing `--timings` to cargo)
 - #145389 ([rustdoc] Revert "rustdoc search: prefer stable items in search results")

Failed merges:

 - #144983 (Rehome 37 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`)
 - #145065 (resolve: Introduce `RibKind::Block`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
   |
24 |     let find_head = || (git_repo.head().unwrap().peel_to_commit().unwrap());
   |                        ^                                                  ^
   |
   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
help: remove these parentheses
   |
24 -     let find_head = || (git_repo.head().unwrap().peel_to_commit().unwrap());
24 +     let find_head = || git_repo.head().unwrap().peel_to_commit().unwrap();
   |

@bors
Copy link
Collaborator

bors commented Aug 14, 2025

💔 Test failed - checks-actions

@bors bors 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 Aug 14, 2025
@JonathanBrouwer
Copy link
Contributor

JonathanBrouwer commented Aug 14, 2025

Caused by #140794

Are src/tools/cargo/tests tests not part of PR CI? If they are not this singlehandedly explains the failure, otherwise it may be a soft conflict with something else

Edit: Looks like they are not part of PR CI, crazy

@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 14, 2025
@GuillaumeGomez GuillaumeGomez deleted the rollup-wrhcycn branch August 14, 2025 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-search Area: Rustdoc's search feature rollup A PR which is a rollup 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-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.