Skip to content

Comments

Rollup of 14 pull requests#153026

Open
JonathanBrouwer wants to merge 125 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-PAPpAYW
Open

Rollup of 14 pull requests#153026
JonathanBrouwer wants to merge 125 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-PAPpAYW

Conversation

@JonathanBrouwer
Copy link
Contributor

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

dependabot bot and others added 30 commits January 21, 2026 23:46
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Example
---
```rust
prt!{abc!$0(3 + 5)};
```

**Before this PR**

Assist not applicable

**After this PR**

```rust
prt!{abc!{3 + 5}};
```
Remove `#[serde(default)]` from optional fields. Fields of type `Option`
are automatically deserialized to `None` when the corresponding keys are
missing in `rust-project.json`, making the explicit attribute redundant.
Mark `cfg`, `env`, and `is_proc_macro` fields optional to match the
corresponding data structure, `project_json::CrateData`.
Example
---
```rust
fn main() {
    match 2 {
        bar => bar.$0
    }
}
```
->
```rust
fn main() {
    match 2 {
        bar => {
            let $1 = bar;
            $0
        }
    }
}
```
Example
---
```rust
fn main() {
    &baz.l$0
}
```

**Before this PR**

```text
sn if       if expr {}
sn match match expr {}
```

**After this PR**

```text
sn if       if expr {}
sn let             let
sn letm        let mut
sn match match expr {}
```
….e. `T::AssocType` without specifying the trait

I believe the new code is both cleaner and more robust, and should fix some edge cases.

rustc does all of this very differently with plenty of queries for various forms of predicate lowering; but we have tight memory constraints so we prefer a different approach.
Example
---
```rust
fn foo(bar: u32) {}
fn bar((a, bar$0)) {}
```

**Before this PR**

```rust
fn foo(bar: u32) {}
fn bar(bar: u32)) {}
```

**After this PR**

Not complete `bar: u32`
…g to `Self`

I.e. `PartialEq` and `PartialOrd`.
Example
---
```rust
//- /mac.rs crate:mac

pub fn my_derive() {}

//- /lib.rs crate:lib deps:mac
pub struct Foo(#[$0] i32);
```

**Before this PR**

```text
...
at must_use
at no_mangle
...
```

**After this PR**

```text
...
at must_use
at my_cool_helper_attribute derive helper of `MyDerive`
at no_mangle
...
```
…ing-cycles

internal: Refactor handling of associated type shorthand for type parameters, i.e. `T::AssocType` without specifying the trait
Without `unsafe` on this block, this feature didn't compile.
fix: Ensure cpu_profiler feature compiles on Rust edition 2024
…erive

fix: Fix predicates of builtin derive traits with two parameters defaulting to `Self`
fix: complete derive helpers on empty nameref
…-pat

fix: no complete suggest param in complex pattern
fix: complete `.let` on block tail prefix expression
…-call

internal: remove redundant double call in postfix
Reflection TypeId::trait_info_of

*[View all comments](https://triagebot.infra.rust-lang.org/gh-comments/rust-lang/rust/pull/152003)*

This is for rust-lang#146922.

As rust-lang#151236 was requested to be remade by someone I implemented the functionality as `TypeId::trait_info_of` which additionally allows getting the vtable pointer to build `dyn` Objects in recursive reflection.

It allows checking if a TypeId implements a trait. Since this is my first PR feel free to tell me if there are any formal issues.
…paths, r=jieyouxu

Revert relative paths for std links in rustc-docs

Reverts rust-lang#152243.

The relative path `../` passed via `--extern-html-root-url` produces broken links in compiler documentation. The path is wrong in both the published layout (`doc.rust-lang.org/nightly/nightly-rustc/` vs `doc.rust-lang.org/nightly/core/`) and local builds (`compiler-doc/` vs `doc/`).

This restores absolute URLs via `#[doc(html_root_url)]`.

Fixes rust-lang#152917
Re-opens rust-lang#151496

cc @eggyal
…=jdonszelmann

Port `#[feature]` to the new attribute system

Rebase of rust-lang#146652
…flow_checks, r=jdonszelmann

Port `#[rustc_inherit_overflow_checks]` to the new attribute parsers

For rust-lang#131229 (comment)

r? @jdonszelmann
…ivooeo

fix interpreter tracing output

rust-lang#144708 accidentally changed the output of `MIRI_LOG=info <miri run>` in two ways:
- by adding `stmt=`/`terminator=` prefixes
- by changing the statement printing to be a verbose debug version instead of MIR pretty-printing

This fixes both of these:
- use explicit format strings to avoid the prefixes
- fix inconsistency in Debug impls for MIR types: now both TerminatorKind and StatementKind are pretty-printed, and Terminator and Statement just forward to the *Kind output
…wiser

Superficial tweaks to the query modifier docs in `rustc_middle::query::modifiers`

This PR sorts the dummy items in the `modifiers` module, makes them non-pub to speed up find-all-references, and adds some extra explanation of what the dummy modifier items are for.

(These dummy items mostly just exist to carry documentation, and have no actual effect on compiler behaviour.)
bootstrap.compiler.toml: update name of primary branch

Those building from the latest commit are building from `main`, not `master`
…athanBrouwer,Kivooeo

Migration of `LintDiagnostic` - part 2

Follow-up of rust-lang#152933.

More `LintDiagnostic` items being migrated to `Diagnostic`.

r? @JonathanBrouwer
…blocks-sentence, r=Urgau

rustdoc: Improve sentence for documented empty impl blocks

Part of rust-lang#152874.

An impl block is not necessarily empty, so instead, better to precise that there are no **public** items.

r? @Urgau
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Feb 23, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc 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-infra Relevant to the infrastructure 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-rust-analyzer Relevant to the rust-analyzer 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. labels Feb 23, 2026
@JonathanBrouwer
Copy link
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 23, 2026

📌 Commit bea1d9c has been approved by JonathanBrouwer

It is now in the queue for this repository.

@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 Feb 23, 2026
@JonathanBrouwer
Copy link
Contributor Author

Trying commonly failed jobs because this is a large rollup
@bors try jobs=test-various,aarch64-apple,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,dist-x86_64-msvc,x86_64-mingw-1,x86_64-msvc-1,dist-various-2

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 23, 2026

⌛ Trying commit bea1d9c with merge 8c6e558

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/22322448537

rust-bors bot pushed a commit that referenced this pull request Feb 23, 2026
Rollup of 14 pull requests


try-job: test-various
try-job: aarch64-apple
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: dist-x86_64-msvc
try-job: x86_64-mingw-1
try-job: x86_64-msvc-1
try-job: dist-various-2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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-infra Relevant to the infrastructure 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-rust-analyzer Relevant to the rust-analyzer 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.