Skip to content

Fix incorrect unsafe debug assertion in unchecked_div_exact#158314

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
yilin0518:fix-unchecked_div_exact
Jun 25, 2026
Merged

Fix incorrect unsafe debug assertion in unchecked_div_exact#158314
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
yilin0518:fix-unchecked_div_exact

Conversation

@yilin0518

@yilin0518 yilin0518 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

This PR fixes a bug in the assert_unsafe_precondition! check for the unstable unchecked_div_exact method in signed integers (int_macros.rs).

What is the problem?

Currently, the precondition check for signed integers asserts that rhs > 0. This causes a panic in debug builds when performing a perfectly valid exact division with a negative divisor (e.g., -10i32 / -2i32).

The following code snippet will panic in debug mode, but successfully build within release mode:

#![feature(exact_div)]

fn main() {
    let lhs: i32 = -10;
    let rhs: i32 = -2;
    unsafe {
        let result = lhs.unchecked_div_exact(rhs);
    }
}

Furthermore, this erroneous rhs > 0 check renders the overflow prevention logic (lhs != <$SelfT>::MIN || rhs != -1) completely unreachable (dead code), since rhs could never be -1 if it is strictly greater than 0.

It appears that it should be rhs != 0.

What does this PR do?

  • Changes rhs > 0 to rhs != 0 in library/core/src/num/int_macros.rs to allow valid negative divisors.

Tracking issue: #139911

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 23, 2026
@rustbot

rustbot commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the pull request, and welcome! The Rust Project is excited to review your changes, and you should hear from @jhpratt (or someone else) some time within the next two weeks.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue
Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: libs
  • libs expanded to 12 candidates
  • Random selection from Darksonn, JohnTitor, Mark-Simulacrum, clarfonthey, jhpratt

@jhpratt

jhpratt commented Jun 24, 2026

Copy link
Copy Markdown
Member

Thanks!

@bors r+ rollup

@rust-bors

rust-bors Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

📌 Commit bf86b32 has been approved by jhpratt

It is now in the queue for this repository.

🌲 The tree is currently closed for pull requests below priority 5. This pull request will be tested once the tree is reopened.

@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 Jun 24, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 24, 2026
… r=jhpratt

Fix incorrect unsafe debug assertion in unchecked_div_exact

This PR fixes a bug in the `assert_unsafe_precondition!` check for the unstable `unchecked_div_exact` method in signed integers (`int_macros.rs`).

### What is the problem?
Currently, the precondition check for signed integers asserts that `rhs > 0`. This causes a panic in debug builds when performing a perfectly valid exact division with a negative divisor (e.g., `-10i32 / -2i32`).

The following code snippet will panic in debug mode, but successfully build within release mode:

```rust
#![feature(exact_div)]

fn main() {
    let lhs: i32 = -10;
    let rhs: i32 = -2;
    unsafe {
        let result = lhs.unchecked_div_exact(rhs);
    }
}
```

Furthermore, this erroneous `rhs > 0` check renders the overflow prevention logic `(lhs != <$SelfT>::MIN || rhs != -1)` completely unreachable (dead code), since `rhs` could never be `-1` if it is strictly greater than `0`.

It appears that it should be `rhs != 0`.

### What does this PR do?
- Changes `rhs > 0` to `rhs != 0` in `library/core/src/num/int_macros.rs` to allow valid negative divisors.

Tracking issue: rust-lang#139911
rust-bors Bot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests

Successful merges:

 - #158315 (`rust-analyzer` subtree update)
 - #158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - #155739 (Add temporary scope to assert_eq and assert_ne)
 - #156885 (Fix misattributed type inference error span for index expressions)
 - #157271 (simplify some `proc_macro` things)
 - #157419 (move rustc_type_ir Term things to term_kind.rs)
 - #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - #157921 (trait solver: Resolve region vars in max universe)
 - #157960 (delegation: add support for infers in generics)
 - #157983 (Lift the same-signature restriction for `extern "tail"`)
 - #158053 (Optimize network address parser)
 - #158105 (Extract all instance shim variants into new `ShimKind` enum)
 - #158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - #158279 (Follow goto and drop when linting unreachable code)
 - #157527 (Move derive tests into their dedicated folder)
 - #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - #157939 (Reorganize `tests/ui/issues` [8/N])
 - #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - #158003 (Reorganize `tests/ui/issues` [9/N])
 - #158020 (Update mingw-w64 C toolchain)
 - #158039 (c-variadic: test that we use equality up to free lifetimes)
 - #158060 (Reorganize `tests/ui/issues` [10/N])
 - #158222 (format: ignore println newline in foreign format hints)
 - #158223 (Move target checking for #[lang] to the attribute parser)
 - #158252 (Use `cfg_select` in `std::os`)
 - #158263 (Only load the feature list once in the entire resolver)
 - #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - #158272 (Reorganize `tests/ui/issues` [13/N])
 - #158274 (triagebot: Stop pinging myself)
 - #158282 (slice_split_once: bounds check optimization note)
 - #158300 (Improve unknown crate_type diagnostic suggestions)
 - #158304 (mailmap: update mu001999)
 - #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-bors Bot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests

Successful merges:

 - #158315 (`rust-analyzer` subtree update)
 - #158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - #155739 (Add temporary scope to assert_eq and assert_ne)
 - #156885 (Fix misattributed type inference error span for index expressions)
 - #157271 (simplify some `proc_macro` things)
 - #157419 (move rustc_type_ir Term things to term_kind.rs)
 - #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - #157921 (trait solver: Resolve region vars in max universe)
 - #157960 (delegation: add support for infers in generics)
 - #157983 (Lift the same-signature restriction for `extern "tail"`)
 - #158053 (Optimize network address parser)
 - #158105 (Extract all instance shim variants into new `ShimKind` enum)
 - #158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - #158279 (Follow goto and drop when linting unreachable code)
 - #157527 (Move derive tests into their dedicated folder)
 - #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - #157939 (Reorganize `tests/ui/issues` [8/N])
 - #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - #158003 (Reorganize `tests/ui/issues` [9/N])
 - #158020 (Update mingw-w64 C toolchain)
 - #158039 (c-variadic: test that we use equality up to free lifetimes)
 - #158060 (Reorganize `tests/ui/issues` [10/N])
 - #158222 (format: ignore println newline in foreign format hints)
 - #158223 (Move target checking for #[lang] to the attribute parser)
 - #158252 (Use `cfg_select` in `std::os`)
 - #158263 (Only load the feature list once in the entire resolver)
 - #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - #158272 (Reorganize `tests/ui/issues` [13/N])
 - #158274 (triagebot: Stop pinging myself)
 - #158282 (slice_split_once: bounds check optimization note)
 - #158300 (Improve unknown crate_type diagnostic suggestions)
 - #158304 (mailmap: update mu001999)
 - #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-bors Bot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests

Successful merges:

 - #158315 (`rust-analyzer` subtree update)
 - #158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - #155739 (Add temporary scope to assert_eq and assert_ne)
 - #156885 (Fix misattributed type inference error span for index expressions)
 - #157271 (simplify some `proc_macro` things)
 - #157419 (move rustc_type_ir Term things to term_kind.rs)
 - #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - #157921 (trait solver: Resolve region vars in max universe)
 - #157960 (delegation: add support for infers in generics)
 - #157983 (Lift the same-signature restriction for `extern "tail"`)
 - #158053 (Optimize network address parser)
 - #158105 (Extract all instance shim variants into new `ShimKind` enum)
 - #158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - #158279 (Follow goto and drop when linting unreachable code)
 - #157527 (Move derive tests into their dedicated folder)
 - #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - #157939 (Reorganize `tests/ui/issues` [8/N])
 - #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - #158003 (Reorganize `tests/ui/issues` [9/N])
 - #158020 (Update mingw-w64 C toolchain)
 - #158039 (c-variadic: test that we use equality up to free lifetimes)
 - #158060 (Reorganize `tests/ui/issues` [10/N])
 - #158222 (format: ignore println newline in foreign format hints)
 - #158223 (Move target checking for #[lang] to the attribute parser)
 - #158252 (Use `cfg_select` in `std::os`)
 - #158263 (Only load the feature list once in the entire resolver)
 - #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - #158272 (Reorganize `tests/ui/issues` [13/N])
 - #158274 (triagebot: Stop pinging myself)
 - #158282 (slice_split_once: bounds check optimization note)
 - #158300 (Improve unknown crate_type diagnostic suggestions)
 - #158304 (mailmap: update mu001999)
 - #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-bors Bot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests

Successful merges:

 - #158315 (`rust-analyzer` subtree update)
 - #158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - #155739 (Add temporary scope to assert_eq and assert_ne)
 - #156885 (Fix misattributed type inference error span for index expressions)
 - #157271 (simplify some `proc_macro` things)
 - #157419 (move rustc_type_ir Term things to term_kind.rs)
 - #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - #157921 (trait solver: Resolve region vars in max universe)
 - #157960 (delegation: add support for infers in generics)
 - #157983 (Lift the same-signature restriction for `extern "tail"`)
 - #158053 (Optimize network address parser)
 - #158105 (Extract all instance shim variants into new `ShimKind` enum)
 - #158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - #158279 (Follow goto and drop when linting unreachable code)
 - #157527 (Move derive tests into their dedicated folder)
 - #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - #157939 (Reorganize `tests/ui/issues` [8/N])
 - #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - #158003 (Reorganize `tests/ui/issues` [9/N])
 - #158020 (Update mingw-w64 C toolchain)
 - #158039 (c-variadic: test that we use equality up to free lifetimes)
 - #158060 (Reorganize `tests/ui/issues` [10/N])
 - #158222 (format: ignore println newline in foreign format hints)
 - #158223 (Move target checking for #[lang] to the attribute parser)
 - #158252 (Use `cfg_select` in `std::os`)
 - #158263 (Only load the feature list once in the entire resolver)
 - #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - #158272 (Reorganize `tests/ui/issues` [13/N])
 - #158274 (triagebot: Stop pinging myself)
 - #158282 (slice_split_once: bounds check optimization note)
 - #158300 (Improve unknown crate_type diagnostic suggestions)
 - #158304 (mailmap: update mu001999)
 - #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jun 24, 2026
… r=jhpratt

Fix incorrect unsafe debug assertion in unchecked_div_exact

This PR fixes a bug in the `assert_unsafe_precondition!` check for the unstable `unchecked_div_exact` method in signed integers (`int_macros.rs`).

### What is the problem?
Currently, the precondition check for signed integers asserts that `rhs > 0`. This causes a panic in debug builds when performing a perfectly valid exact division with a negative divisor (e.g., `-10i32 / -2i32`).

The following code snippet will panic in debug mode, but successfully build within release mode:

```rust
#![feature(exact_div)]

fn main() {
    let lhs: i32 = -10;
    let rhs: i32 = -2;
    unsafe {
        let result = lhs.unchecked_div_exact(rhs);
    }
}
```

Furthermore, this erroneous `rhs > 0` check renders the overflow prevention logic `(lhs != <$SelfT>::MIN || rhs != -1)` completely unreachable (dead code), since `rhs` could never be `-1` if it is strictly greater than `0`.

It appears that it should be `rhs != 0`.

### What does this PR do?
- Changes `rhs > 0` to `rhs != 0` in `library/core/src/num/int_macros.rs` to allow valid negative divisors.

Tracking issue: rust-lang#139911
rust-bors Bot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 35 pull requests



Successful merges:

 - #158315 (`rust-analyzer` subtree update)
 - #158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - #155739 (Add temporary scope to assert_eq and assert_ne)
 - #156885 (Fix misattributed type inference error span for index expressions)
 - #157271 (simplify some `proc_macro` things)
 - #157419 (move rustc_type_ir Term things to term_kind.rs)
 - #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - #157921 (trait solver: Resolve region vars in max universe)
 - #157960 (delegation: add support for infers in generics)
 - #157983 (Lift the same-signature restriction for `extern "tail"`)
 - #158053 (Optimize network address parser)
 - #158105 (Extract all instance shim variants into new `ShimKind` enum)
 - #158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - #158279 (Follow goto and drop when linting unreachable code)
 - #157527 (Move derive tests into their dedicated folder)
 - #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - #157939 (Reorganize `tests/ui/issues` [8/N])
 - #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - #158003 (Reorganize `tests/ui/issues` [9/N])
 - #158020 (Update mingw-w64 C toolchain)
 - #158039 (c-variadic: test that we use equality up to free lifetimes)
 - #158060 (Reorganize `tests/ui/issues` [10/N])
 - #158222 (format: ignore println newline in foreign format hints)
 - #158223 (Move target checking for #[lang] to the attribute parser)
 - #158252 (Use `cfg_select` in `std::os`)
 - #158263 (Only load the feature list once in the entire resolver)
 - #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - #158272 (Reorganize `tests/ui/issues` [13/N])
 - #158274 (triagebot: Stop pinging myself)
 - #158282 (slice_split_once: bounds check optimization note)
 - #158300 (Improve unknown crate_type diagnostic suggestions)
 - #158304 (mailmap: update mu001999)
 - #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-bors Bot pushed a commit that referenced this pull request Jun 25, 2026
Rollup of 35 pull requests



Successful merges:

 - #158315 (`rust-analyzer` subtree update)
 - #158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - #155739 (Add temporary scope to assert_eq and assert_ne)
 - #156885 (Fix misattributed type inference error span for index expressions)
 - #157271 (simplify some `proc_macro` things)
 - #157419 (move rustc_type_ir Term things to term_kind.rs)
 - #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - #157921 (trait solver: Resolve region vars in max universe)
 - #157960 (delegation: add support for infers in generics)
 - #157983 (Lift the same-signature restriction for `extern "tail"`)
 - #158053 (Optimize network address parser)
 - #158105 (Extract all instance shim variants into new `ShimKind` enum)
 - #158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - #158279 (Follow goto and drop when linting unreachable code)
 - #157527 (Move derive tests into their dedicated folder)
 - #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - #157939 (Reorganize `tests/ui/issues` [8/N])
 - #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - #158003 (Reorganize `tests/ui/issues` [9/N])
 - #158020 (Update mingw-w64 C toolchain)
 - #158039 (c-variadic: test that we use equality up to free lifetimes)
 - #158060 (Reorganize `tests/ui/issues` [10/N])
 - #158222 (format: ignore println newline in foreign format hints)
 - #158223 (Move target checking for #[lang] to the attribute parser)
 - #158252 (Use `cfg_select` in `std::os`)
 - #158263 (Only load the feature list once in the entire resolver)
 - #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - #158272 (Reorganize `tests/ui/issues` [13/N])
 - #158274 (triagebot: Stop pinging myself)
 - #158282 (slice_split_once: bounds check optimization note)
 - #158300 (Improve unknown crate_type diagnostic suggestions)
 - #158304 (mailmap: update mu001999)
 - #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
rust-bors Bot pushed a commit that referenced this pull request Jun 25, 2026
Rollup of 35 pull requests



Successful merges:

 - #158315 (`rust-analyzer` subtree update)
 - #158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - #155739 (Add temporary scope to assert_eq and assert_ne)
 - #156885 (Fix misattributed type inference error span for index expressions)
 - #157271 (simplify some `proc_macro` things)
 - #157419 (move rustc_type_ir Term things to term_kind.rs)
 - #157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - #157921 (trait solver: Resolve region vars in max universe)
 - #157960 (delegation: add support for infers in generics)
 - #157983 (Lift the same-signature restriction for `extern "tail"`)
 - #158053 (Optimize network address parser)
 - #158105 (Extract all instance shim variants into new `ShimKind` enum)
 - #158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - #158279 (Follow goto and drop when linting unreachable code)
 - #157527 (Move derive tests into their dedicated folder)
 - #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - #157939 (Reorganize `tests/ui/issues` [8/N])
 - #157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - #158003 (Reorganize `tests/ui/issues` [9/N])
 - #158020 (Update mingw-w64 C toolchain)
 - #158039 (c-variadic: test that we use equality up to free lifetimes)
 - #158060 (Reorganize `tests/ui/issues` [10/N])
 - #158222 (format: ignore println newline in foreign format hints)
 - #158223 (Move target checking for #[lang] to the attribute parser)
 - #158252 (Use `cfg_select` in `std::os`)
 - #158263 (Only load the feature list once in the entire resolver)
 - #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - #158272 (Reorganize `tests/ui/issues` [13/N])
 - #158274 (triagebot: Stop pinging myself)
 - #158282 (slice_split_once: bounds check optimization note)
 - #158300 (Improve unknown crate_type diagnostic suggestions)
 - #158304 (mailmap: update mu001999)
 - #158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - #158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - #158326 (Add `io::ErrorKind::TooManyOpenFiles`)
@rust-bors rust-bors Bot merged commit 9b26e2c into rust-lang:main Jun 25, 2026
13 checks passed
@rustbot rustbot added this to the 1.98.0 milestone Jun 25, 2026
rust-timer added a commit that referenced this pull request Jun 25, 2026
Rollup merge of #158314 - yilin0518:fix-unchecked_div_exact, r=jhpratt

Fix incorrect unsafe debug assertion in unchecked_div_exact

This PR fixes a bug in the `assert_unsafe_precondition!` check for the unstable `unchecked_div_exact` method in signed integers (`int_macros.rs`).

### What is the problem?
Currently, the precondition check for signed integers asserts that `rhs > 0`. This causes a panic in debug builds when performing a perfectly valid exact division with a negative divisor (e.g., `-10i32 / -2i32`).

The following code snippet will panic in debug mode, but successfully build within release mode:

```rust
#![feature(exact_div)]

fn main() {
    let lhs: i32 = -10;
    let rhs: i32 = -2;
    unsafe {
        let result = lhs.unchecked_div_exact(rhs);
    }
}
```

Furthermore, this erroneous `rhs > 0` check renders the overflow prevention logic `(lhs != <$SelfT>::MIN || rhs != -1)` completely unreachable (dead code), since `rhs` could never be `-1` if it is strictly greater than `0`.

It appears that it should be `rhs != 0`.

### What does this PR do?
- Changes `rhs > 0` to `rhs != 0` in `library/core/src/num/int_macros.rs` to allow valid negative divisors.

Tracking issue: #139911
pull Bot pushed a commit to xtqqczze/rust-lang-miri that referenced this pull request Jun 26, 2026
Rollup of 35 pull requests



Successful merges:

 - rust-lang/rust#158315 (`rust-analyzer` subtree update)
 - rust-lang/rust#158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - rust-lang/rust#155739 (Add temporary scope to assert_eq and assert_ne)
 - rust-lang/rust#156885 (Fix misattributed type inference error span for index expressions)
 - rust-lang/rust#157271 (simplify some `proc_macro` things)
 - rust-lang/rust#157419 (move rustc_type_ir Term things to term_kind.rs)
 - rust-lang/rust#157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - rust-lang/rust#157921 (trait solver: Resolve region vars in max universe)
 - rust-lang/rust#157960 (delegation: add support for infers in generics)
 - rust-lang/rust#157983 (Lift the same-signature restriction for `extern "tail"`)
 - rust-lang/rust#158053 (Optimize network address parser)
 - rust-lang/rust#158105 (Extract all instance shim variants into new `ShimKind` enum)
 - rust-lang/rust#158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - rust-lang/rust#158279 (Follow goto and drop when linting unreachable code)
 - rust-lang/rust#157527 (Move derive tests into their dedicated folder)
 - rust-lang/rust#157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - rust-lang/rust#157939 (Reorganize `tests/ui/issues` [8/N])
 - rust-lang/rust#157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - rust-lang/rust#158003 (Reorganize `tests/ui/issues` [9/N])
 - rust-lang/rust#158020 (Update mingw-w64 C toolchain)
 - rust-lang/rust#158039 (c-variadic: test that we use equality up to free lifetimes)
 - rust-lang/rust#158060 (Reorganize `tests/ui/issues` [10/N])
 - rust-lang/rust#158222 (format: ignore println newline in foreign format hints)
 - rust-lang/rust#158223 (Move target checking for #[lang] to the attribute parser)
 - rust-lang/rust#158252 (Use `cfg_select` in `std::os`)
 - rust-lang/rust#158263 (Only load the feature list once in the entire resolver)
 - rust-lang/rust#158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - rust-lang/rust#158272 (Reorganize `tests/ui/issues` [13/N])
 - rust-lang/rust#158274 (triagebot: Stop pinging myself)
 - rust-lang/rust#158282 (slice_split_once: bounds check optimization note)
 - rust-lang/rust#158300 (Improve unknown crate_type diagnostic suggestions)
 - rust-lang/rust#158304 (mailmap: update mu001999)
 - rust-lang/rust#158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - rust-lang/rust#158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - rust-lang/rust#158326 (Add `io::ErrorKind::TooManyOpenFiles`)
pull Bot pushed a commit to Kokoro2336/rust-analyzer that referenced this pull request Jun 29, 2026
Rollup of 35 pull requests



Successful merges:

 - rust-lang/rust#158315 (`rust-analyzer` subtree update)
 - rust-lang/rust#158336 (Stop excluding `stdarch` test crates from `rust-src`)
 - rust-lang/rust#155739 (Add temporary scope to assert_eq and assert_ne)
 - rust-lang/rust#156885 (Fix misattributed type inference error span for index expressions)
 - rust-lang/rust#157271 (simplify some `proc_macro` things)
 - rust-lang/rust#157419 (move rustc_type_ir Term things to term_kind.rs)
 - rust-lang/rust#157883 (Remove strict invariant node_type on hir_type during ty privacy visit)
 - rust-lang/rust#157921 (trait solver: Resolve region vars in max universe)
 - rust-lang/rust#157960 (delegation: add support for infers in generics)
 - rust-lang/rust#157983 (Lift the same-signature restriction for `extern "tail"`)
 - rust-lang/rust#158053 (Optimize network address parser)
 - rust-lang/rust#158105 (Extract all instance shim variants into new `ShimKind` enum)
 - rust-lang/rust#158207 (Resolver: local/external split of  `resolve_ident_in_module_non_globs_unadjusted` )
 - rust-lang/rust#158279 (Follow goto and drop when linting unreachable code)
 - rust-lang/rust#157527 (Move derive tests into their dedicated folder)
 - rust-lang/rust#157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - rust-lang/rust#157939 (Reorganize `tests/ui/issues` [8/N])
 - rust-lang/rust#157946 (Make `char::is_private_use` and `char::is_assigned` unstably public)
 - rust-lang/rust#158003 (Reorganize `tests/ui/issues` [9/N])
 - rust-lang/rust#158020 (Update mingw-w64 C toolchain)
 - rust-lang/rust#158039 (c-variadic: test that we use equality up to free lifetimes)
 - rust-lang/rust#158060 (Reorganize `tests/ui/issues` [10/N])
 - rust-lang/rust#158222 (format: ignore println newline in foreign format hints)
 - rust-lang/rust#158223 (Move target checking for #[lang] to the attribute parser)
 - rust-lang/rust#158252 (Use `cfg_select` in `std::os`)
 - rust-lang/rust#158263 (Only load the feature list once in the entire resolver)
 - rust-lang/rust#158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - rust-lang/rust#158272 (Reorganize `tests/ui/issues` [13/N])
 - rust-lang/rust#158274 (triagebot: Stop pinging myself)
 - rust-lang/rust#158282 (slice_split_once: bounds check optimization note)
 - rust-lang/rust#158300 (Improve unknown crate_type diagnostic suggestions)
 - rust-lang/rust#158304 (mailmap: update mu001999)
 - rust-lang/rust#158309 (Update `rustc-literal-escaper` version to `0.0.8`)
 - rust-lang/rust#158314 (Fix incorrect unsafe debug assertion in unchecked_div_exact)
 - rust-lang/rust#158326 (Add `io::ErrorKind::TooManyOpenFiles`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants