Skip to content

Update mingw-w64 C toolchain - #158020

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
mati865:mingw-baseline
Jun 25, 2026
Merged

Update mingw-w64 C toolchain#158020
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
mati865:mingw-baseline

Conversation

@mati865

@mati865 mati865 commented Jun 17, 2026

Copy link
Copy Markdown
Member

No description provided.

@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Jun 17, 2026
@mati865

mati865 commented Jun 17, 2026

Copy link
Copy Markdown
Member Author

@bors try jobs=*i686-mingw,x86_64-mingw

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jun 17, 2026
Update mingw-w64 C toolchain


try-job: *i686-mingw
try-job: *x86_64-mingw*
@petrochenkov

Copy link
Copy Markdown
Contributor

I wonder if it fixes binary incompatibilities with the latest toolchains like #151790 and the libwinpthread-1.dll issue.

@mati865

mati865 commented Jun 17, 2026

Copy link
Copy Markdown
Member Author

It doesn't change winpthreads version (it's still version 12) and GCC is updated from 14.1 to 14.2, so I wouldn't hold my breath for it.

#151790 is probably GCC 15 ABI breaking change from a quick peek.

@rust-bors

rust-bors Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: d37e3b8 (d37e3b821d4203dd807507916d71a397ecebb0af)
Base parent: 98594f4 (98594f404ee741f97fefbae4aca049cde911bc94)

@mati865
mati865 marked this pull request as ready for review June 17, 2026 20:41
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 17, 2026
@rustbot

rustbot commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Some changes occurred in src/doc/rustc/src/platform-support

cc @Noratrieb

@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 Jun 17, 2026
@rustbot

rustbot commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

r? @adwinwhite

rustbot has assigned @adwinwhite.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: @ehuss, compiler
  • @ehuss, compiler expanded to 74 candidates
  • Random selection from 20 candidates

@adwinwhite

Copy link
Copy Markdown
Contributor

r? infra-ci

@rustbot rustbot assigned marcoieni and unassigned adwinwhite Jun 23, 2026
Comment thread src/doc/rustc/src/platform-support/windows-gnu.md
@marcoieni

Copy link
Copy Markdown
Member

@bors r+ rollup=always

I'm adding rollup always because the try jobs should have covered all affected jobs.

@rust-bors

rust-bors Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

📌 Commit b1483e3 has been approved by marcoieni

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 Jun 23, 2026
@mati865 mati865 added the relnotes Marks issues that should be documented in the release notes of the next release. label Jun 23, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jun 23, 2026
rust-bors Bot pushed a commit that referenced this pull request Jun 23, 2026
…uwer

Rollup of 16 pull requests

Successful merges:

 - #156885 (Fix misattributed type inference error span for index expressions)
 - #157271 (simplify some `proc_macro` things)
 - #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)
 - #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)
 - #157807 (don't ice on non-lifetime binders under `-Zassumptions-on-binders`)
 - #158020 (Update mingw-w64 C toolchain)
 - #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`)
 - #158257 ( fix escaping placeholder check in next solver normalization folder)
 - #158274 (triagebot: Stop pinging myself)
 - #158282 (slice_split_once: bounds check optimization note)

Failed merges:

 - #158256 (Avoid parser panics bubbling out to proc macros)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 24, 2026
rust-bors Bot pushed a commit that referenced this pull request Jun 24, 2026
Rollup of 27 pull requests

Successful merges:

 - #158315 (`rust-analyzer` subtree update)
 - #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)
 - #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`)
 - #158020 (Update mingw-w64 C toolchain)
 - #158039 (c-variadic: test that we use equality up to free lifetimes)
 - #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`)
 - #158257 ( fix escaping placeholder check in next solver normalization folder)
 - #158263 (Only load the feature list once in the entire resolver)
 - #158267 (FromUtf8Error::into_utf8_lossy better example and suggest use)
 - #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`)

Failed merges:

 - #158256 (Avoid parser panics bubbling out to proc macros)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 24, 2026
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
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 9749a42 into rust-lang:main Jun 25, 2026
14 checks passed
@rustbot rustbot added this to the 1.98.0 milestone Jun 25, 2026
@mati865
mati865 deleted the mingw-baseline branch June 25, 2026 08:09
rust-timer added a commit that referenced this pull request Jun 25, 2026
Rollup merge of #158020 - mati865:mingw-baseline, r=marcoieni

Update mingw-w64 C toolchain
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`)
@mati865 mati865 linked an issue Jul 6, 2026 that may be closed by this pull request
6 tasks
ghaaj pushed a commit to ghaaj/polygrammar that referenced this pull request Aug 7, 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`)
flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request Aug 17, 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`)
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Aug 21, 2026
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [rust](https://github.com/rust-lang/rust) | tools | minor | `1.97.1` → `1.98.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>rust-lang/rust (rust)</summary>

### [`v1.98.0`](https://github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1980-2026-08-20)

[Compare Source](rust-lang/rust@1.97.1...1.98.0)

\==========================

<a id="1.98.0-Language"></a>

## Language

- [Allow shortening lifetime of `&mut` when unsize-coercing, even in an invariant position.](rust-lang/rust#149219) For example, you can now coerce a `Cell<&'long mut i32>` to a `Cell<&'short mut dyn Send>`. Such shortenings were already previously allowed when coercing a `&mut` to a `&`, or coercing a `&` to a `&`.
- [Add deny-by-default `invalid_runtime_symbol_definitions` lint and warn-by-default `suspicious_runtime_symbol_definitions` lint](rust-lang/rust#155521)
  - The lints currently specifically targets `core` runtime symbols like `memcmp`, `memset`, `strlen`, ... and is planned to be expanded in the next few releases.
- [Add warn-by-default `c_void_returns` lint to check `core::ffi::c_void` as a return type](rust-lang/rust#156379)

<a id="1.98.0-Platform-Support"></a>

## Platform Support

- [Add `powerpc64-unknown-linux-gnuelfv2` as Tier 3](rust-lang/rust#144220)
- [Add `aarch64-unknown-linux-pauthtest` as Tier 3 target](rust-lang/rust#155722)
- [Promote `thumbv7a-none-eabi` to Tier 2](rust-lang/rust#155763)
- [Promote `thumbv7a-none-eabihf` to Tier 2](rust-lang/rust#155763)
- [Promote `thumbv7r-none-eabi` to Tier 2](rust-lang/rust#155763)
- [Promote `thumbv7r-none-eabihf` to Tier 2](rust-lang/rust#155763)
- [Promote `thumbv8r-none-eabihf` to Tier 2](rust-lang/rust#155763)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.98.0-Libraries"></a>

## Libraries

- [Change `Location<'_>` lifetime to `'static` in `Panic[Hook]Info`](rust-lang/rust#146561)
- [Document panic in `RangeInclusive::from(legacy::RangeInclusive)`](rust-lang/rust#155421)
- [Document that `ManuallyDrop`'s `Box` interaction has been fixed](rust-lang/rust#155750)
- [Stabilize LoongArch CRC Intrinsics](rust-lang/rust#156908)
- [The `derive` macro is available at `{core,std}::derive`.](rust-lang/rust#154645) This was previously [unintentionally stabilized in 1.96](rust-lang/rust#159856), but is now [explicitly accepted](rust-lang/rust#154645) as a stabilized API.
  - Please note that the MSRV for `{core,std}::derive` will be 1.96, and not 1.98.

<a id="1.98.0-Stabilized-APIs"></a>

## Stabilized APIs

- [`str::substr_range`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.substr_range)
- [`[T]::subslice_range`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.subslice_range)
- [`core::fmt::NumBuffer`](https://doc.rust-lang.org/stable/core/fmt/struct.NumBuffer.html)
- [`<{integer}>::format_into`](https://doc.rust-lang.org/stable/core/primitive.usize.html#method.format_into)
- [`Send/Sync for std::process::CommandArgs`](https://doc.rust-lang.org/stable/std/process/struct.CommandArgs.html#impl-Send-for-CommandArgs%3C'a%3E)
- [`{fN}::algebraic_add`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_add)
- [`{fN}::algebraic_sub`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_sub)
- [`{fN}::algebraic_mul`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_mul)
- [`{fN}::algebraic_div`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_div)
- [`{fN}::algebraic_rem`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_rem)
- [`NonZero<{integer}>::from_str_radix`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html#method.from_str_radix-4)
- [`String::from_utf16le`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16le)
- [`String::from_utf16le_lossy`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16le_lossy)
- [`String::from_utf16be`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16be)
- [`String::from_utf16be_lossy`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16be_lossy)
- [`[T]::strip_circumfix`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.strip_circumfix)
- [`str::strip_circumfix`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.strip_circumfix)
- [`Atomic<T>::from_mut`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.from_mut)
- [`Atomic<T>::get_mut_slice`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.get_mut_slice)
- [`Atomic<T>::from_mut_slice`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.from_mut_slice)
- [`std::range::legacy`](https://doc.rust-lang.org/stable/std/range/legacy/index.html)

<a id="1.98.0-Compatibility-Notes"></a>

## Compatibility Notes

- [If fully elided, lifetime bounds of trait object types may now resolve differently or even get rejected in very specific niche scenarios](rust-lang/rust#129543)
- [Error in more cases of ambiguous imports](rust-lang/rust#145108)
- [Switch the destructors implementation for thread locals on Windows to use Fiber Local Storage (FLS)](rust-lang/rust#148799)
- [Convert some cases of the `ambiguous_glob_imports` lint into a hard error](rust-lang/rust#149195)
- [Where-bounds of the form `Type = Type` and `Type == Type` are no longer syntactically allowed](rust-lang/rust#153513)
- [Ensure Send/Sync is not implemented for std::env::Vars{,Os}](rust-lang/rust#155153)
- [Fix that in some attributes, arguments were not properly rejected](rust-lang/rust#155193)
- [`repr(transparent)` is now more strict about which fields have "trivial" layout and hence can be ignored: `repr(C)` types, types with private fields, and `#[non_exhaustive]` types are no longer considered "trivial"](rust-lang/rust#155299)
- [Correctly check whether types have equal size in `transmute()` when some `repr` attributes are involved.](rust-lang/rust#155418)
- [More characters are escaped when printing strings and chars](rust-lang/rust#155527)
- [Implement fast path for `derive(PartialOrd)` when deriving `Ord`](rust-lang/rust#155598)
  This can break crates in practice where a type's PartialOrd and Ord impls were inconsistent with each other.
- [Add temporary scope to `assert_eq` and `assert_ne`](rust-lang/rust#155739)
- Closed a hole in the pattern matching [structural equality](https://doc.rust-lang.org/reference/patterns.html#constant-patterns) check, preventing cases where a match of a constant would be allowed, despite disagreeing with a manually written `PartialEq` implementation, when a `derive(PartialEq)` implementation for that type also exists.
- [On Emscripten the WASM exception handling ABI is now unconditionally used](rust-lang/rust#156928) The `-Zemscripten-wasm-eh=false` flag to switch back to JS exceptions has been removed.
- [The UNSAFE\_CODE lint is now consistently emitted for all unsafe attributes](rust-lang/rust#157201)
- [Solaris: remove `File::lock` implementation, it has the wrong semantics (return "unsupported" instead)](rust-lang/rust#157509)
- [Windows-gnu targets now specify baseline tools versions](rust-lang/rust#158020)
- [rustfmt now discovers module files that are defined in `cfg_select!`](rust-lang/rust#158372)
  This may cause more code to be formatted which was previously ignored.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODguMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4OC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiLCJhdXRvbWF0aW9uOmJvdC1hdXRob3JlZCIsImRlcGVuZGVuY3ktdHlwZTo6bWlub3IiXX0=-->
wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request Aug 24, 2026
Pkgsrc changes:
 * Update patches to match new vendored versions.
 * Associated checksum changes.
 * Add cargo option to permit linker warnings (NetBSD compat code)
   (taken from rust-beta wip package)

Upstream changes:

Version 1.98.0 (2026-08-20)
==========================

Language
--------
- [Allow shortening lifetime of `&mut` when unsize-coercing, even
  in an invariant position.]
  (rust-lang/rust#149219) For example, you
  can now coerce a `Cell<&'long mut i32>` to a `Cell<&'short mut
  dyn Send>`. Such shortenings were already previously allowed when
  coercing a `&mut` to a `&`, or coercing a `&` to a `&`.
- [Add deny-by-default `invalid_runtime_symbol_definitions` lint
  and warn-by-default `suspicious_runtime_symbol_definitions` lint]
  (rust-lang/rust#155521)
    - The lints currently specifically targets `core` runtime
      symbols like `memcmp`, `memset`, `strlen`, ... and is planned
      to be expanded in the next few releases.
- [Add warn-by-default `c_void_returns` lint to check `core::ffi::c_void`
  as a return type] (rust-lang/rust#156379)

Platform Support
----------------
- [Add `powerpc64-unknown-linux-gnuelfv2` as Tier 3]
  (rust-lang/rust#144220)
- [Add `aarch64-unknown-linux-pauthtest` as Tier 3 target]
  (rust-lang/rust#155722)
- [Promote `thumbv7a-none-eabi` to Tier 2]
  (rust-lang/rust#155763)
- [Promote `thumbv7a-none-eabihf` to Tier 2]
  (rust-lang/rust#155763)
- [Promote `thumbv7r-none-eabi` to Tier 2]
  (rust-lang/rust#155763)
- [Promote `thumbv7r-none-eabihf` to Tier 2]
  (rust-lang/rust#155763)
- [Promote `thumbv8r-none-eabihf` to Tier 2]
  (rust-lang/rust#155763)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html

Libraries
---------
- [Change `Location<'_>` lifetime to `'static` in `Panic[Hook]Info`]
  (rust-lang/rust#146561)
- [Document panic in `RangeInclusive::from(legacy::RangeInclusive)`]
  (rust-lang/rust#155421)
- [Document that `ManuallyDrop`'s `Box` interaction has been fixed]
  (rust-lang/rust#155750)
- [Stabilize LoongArch CRC Intrinsics]
  (rust-lang/rust#156908)
- [The `derive` macro is available at `{core,std}::derive`.]
  (rust-lang/rust#154645) This was
  previously [unintentionally stabilized in 1.96]
  (rust-lang/rust#159856), but is now
  [explicitly accepted] (rust-lang/rust#154645)
  as a stabilized API.
- Please note that the MSRV for
  `{core,std}::derive` will be 1.96, and not 1.98.

Stabilized APIs
---------------
- [`str::substr_range`]
  (https://doc.rust-lang.org/stable/std/primitive.str.html#method.substr_range)
- [`[T]::subslice_range`]
  (https://doc.rust-lang.org/stable/std/primitive.slice.html#method.subslice_range)
- [`core::fmt::NumBuffer`]
  (https://doc.rust-lang.org/stable/core/fmt/struct.NumBuffer.html)
- [`<{integer}>::format_into`]
  (https://doc.rust-lang.org/stable/core/primitive.usize.html#method.format_into)
- [`Send/Sync for std::process::CommandArgs`]
  (https://doc.rust-lang.org/stable/std/process/struct.CommandArgs.html#impl-Send-for-CommandArgs%3C'a%3E)
- [`{fN}::algebraic_add`]
  (https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_add)
- [`{fN}::algebraic_sub`]
  (https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_sub)
- [`{fN}::algebraic_mul`]
  (https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_mul)
- [`{fN}::algebraic_div`]
  (https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_div)
- [`{fN}::algebraic_rem`]
  (https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_rem)
- [`NonZero<{integer}>::from_str_radix`]
  (https://doc.rust-lang.org/stable/core/num/struct.NonZero.html#method.from_str_radix-4)
- [`String::from_utf16le`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16le)
- [`String::from_utf16le_lossy`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16le_lossy)
- [`String::from_utf16be`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16be)
- [`String::from_utf16be_lossy`]
  (https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16be_lossy)
- [`[T]::strip_circumfix`]
  (https://doc.rust-lang.org/stable/core/primitive.slice.html#method.strip_circumfix)
- [`str::strip_circumfix`]
  (https://doc.rust-lang.org/stable/core/primitive.str.html#method.strip_circumfix)
- [`Atomic<T>::from_mut`]
  (https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.from_mut)
- [`Atomic<T>::get_mut_slice`]
  (https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.get_mut_slice)
- [`Atomic<T>::from_mut_slice`]
  (https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.from_mut_slice)
- [`std::range::legacy`]
  (https://doc.rust-lang.org/stable/std/range/legacy/index.html)

Compatibility Notes
-------------------
- [If fully elided, lifetime bounds of trait object types may now
  resolve differently or even get rejected in very specific niche
  scenarios] (rust-lang/rust#129543)
- [Error in more cases of ambiguous imports]
  (rust-lang/rust#145108)
- [Switch the destructors implementation for thread locals on
  Windows to use Fiber Local Storage (FLS)]
  (rust-lang/rust#148799)
- [Convert some cases of the `ambiguous_glob_imports` lint into a hard error]
  (rust-lang/rust#149195)
- [Where-bounds of the form `Type = Type` and `Type == Type` are
  no longer syntactically allowed]
  (rust-lang/rust#153513)
- [Ensure Send/Sync is not implemented for std::env::Vars{,Os}]
  (rust-lang/rust#155153)
- [Fix that in some attributes, arguments were not properly rejected]
  (rust-lang/rust#155193)
- [`repr(transparent)` is now more strict about which fields have
  "trivial" layout and hence can be ignored: `repr(C)` types, types
  with private fields, and `#[non_exhaustive]` types are no longer
  considered "trivial"] (rust-lang/rust#155299)
- [Correctly check whether types have equal size in `transmute()`
  when some `repr` attributes are involved.]
  (rust-lang/rust#155418)
- [More characters are escaped when printing strings and chars]
  (rust-lang/rust#155527)
- [Implement fast path for `derive(PartialOrd)` when deriving `Ord`]
  (rust-lang/rust#155598)
  This can break crates in practice where a type's PartialOrd and
  Ord impls were inconsistent with each other.
- [Add temporary scope to `assert_eq` and `assert_ne`]
  (rust-lang/rust#155739)
- Closed a hole in the pattern matching [structural equality]
  (https://doc.rust-lang.org/reference/patterns.html#constant-patterns)
  check, preventing cases where a match of a constant would be
  allowed, despite disagreeing with a manually written `PartialEq`
  implementation, when a `derive(PartialEq)` implementation for
  that type also exists.
- [On Emscripten the WASM exception handling ABI is now unconditionally used]
  (rust-lang/rust#156928) The
  `-Zemscripten-wasm-eh=false` flag to switch back to JS exceptions
  has been removed.
- [The UNSAFE_CODE lint is now consistently emitted for all unsafe attributes]
  (rust-lang/rust#157201)
- [Solaris: remove `File::lock` implementation, it has the wrong
  semantics (return "unsupported" instead)]
  (rust-lang/rust#157509)
- [Windows-gnu targets now specify baseline tools versions]
  (rust-lang/rust#158020)
- [rustfmt now discovers module files that are defined in `cfg_select!`]
  (rust-lang/rust#158372)
  This may cause more code to be formatted which was previously ignored.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tracking issue for MCP 993: Set requirements for windows-gnu

5 participants