315755 Commits

Author SHA1 Message Date
bors 4a4ef493e3 Auto merge of #153313 - cuviper:stable-next, r=cuviper
[stable] prepare Rust 1.94.0

Ref: https://forge.rust-lang.org/release/process.html#stable-pr

- Sync relnotes for 1.94.0
- Bump to stable release

r? cuviper
1.94.0
2026-03-02 23:18:25 +00:00
Josh Stone b8eece98d2 Bump to stable release 2026-03-02 14:52:52 -08:00
Josh Stone f7370c7fa3 Sync relnotes for 1.94.0
This copies every change from `main` and rust-lang/rust#153221.
2026-03-02 14:50:00 -08:00
bors ec6e988377 Auto merge of #153150 - cuviper:beta-next, r=cuviper
[beta] backports

- rustdoc: Fix ICE when deprecated note is not resolved on the correct `DefId` rust-lang/rust#151255

r? cuviper
2026-02-26 23:14:10 +00:00
Guillaume Gomez ade4c304da Add regression test for ICE when deprecated note is not resolved on the correct DefId
(cherry picked from commit 1faaa76961)
2026-02-24 15:19:53 -08:00
Guillaume Gomez aed7cdd0ca rustdoc: Fix ICE when deprecated note is not resolved on the correct DefId
(cherry picked from commit b3a5f53e8f)
2026-02-24 15:19:53 -08:00
bors 31a40f5c87 Auto merge of #152875 - cuviper:beta-next, r=cuviper
[beta] backports

- Consider captures to be used by closures that unwind rust-lang/rust#152103
- Fix feature gating for new `try bikeshed` expressions rust-lang/rust#152519
- reject inline const patterns pre-expansion rust-lang/rust#152548
- layout_of unexpected rigid alias delayed bug rust-lang/rust#152575
- resolve: Disable an assert that no longer holds rust-lang/rust#152711

r? cuviper
2026-02-20 19:40:41 +00:00
Vadim Petrochenkov 675afc4604 resolve: Disable an assert that no longer holds
(cherry picked from commit b541f1b198)
2026-02-19 16:00:29 -08:00
lcnr fe9b522a7b ICE to delayed bug
(cherry picked from commit b3d9fbc172)
2026-02-19 16:00:25 -08:00
lcnr 2e724d4f36 add regression test
(cherry picked from commit b4f38c1da4)
2026-02-19 16:00:25 -08:00
dianne 54c77b83fe reject inline const patterns pre-expansion
(cherry picked from commit 60f802fe11)
2026-02-19 16:00:16 -08:00
Scott McMurray 471f7eeb8e Fix feature gating for new try bikeshed expressions
(cherry picked from commit 6afebcc4dd)
2026-02-19 16:00:11 -08:00
Alan Egerton 02dbeadb42 Consider captures to be used by closures that unwind
Assignments to a captured variable within a diverging closure should not
be considered unused if the divergence is caught.

This patch considers such assignments/captures to be used by diverging
closures irrespective of whether the divergence is caught, but better a
false negative unused lint than a false positive one (the latter having
caused a stable-to-stable regression).

(cherry picked from commit 58292e2a53)
2026-02-19 16:00:07 -08:00
bors 172dc09412 Auto merge of #152721 - ehuss:beta-revert-target-spec, r=jackh726
[beta] Revert destabilise target-spec-json

This reverts https://github.com/rust-lang/rust/pull/150151 in order to deal with https://github.com/rust-lang/rust/issues/151729 where the destabilization caused a problem with building rustc itself with JSON target specs. There's a fix at https://github.com/rust-lang/rust/pull/152677, but we would prefer to not backport that, and instead give ourselves more time to work out the kinks. Also, the destabilization was incomplete, and the rest of the changes are in 1.95 (https://github.com/rust-lang/rust/pull/151534 and https://github.com/rust-lang/cargo/pull/16557), so it would be nice to keep all the changes together in one release.

This reverts commit a89683dd95, reversing changes made to 2f1bd3f378.
2026-02-18 17:12:50 +00:00
Eric Huss 6de57ea1ec [beta] Revert destabilise target-spec-json
This reverts https://github.com/rust-lang/rust/pull/150151 in order to
deal with https://github.com/rust-lang/rust/issues/151729 where the
destabilization caused a problem with building rustc itself with JSON
target specs. There's a fix at
https://github.com/rust-lang/rust/pull/152677, but we would prefer to
not backport that, and instead give ourselves more time to work out the
kinks. Also, the destabilization was incomplete, and the rest of the
changes are in 1.95 (https://github.com/rust-lang/rust/pull/151534 and
https://github.com/rust-lang/cargo/pull/16557), so it would be nice to
keep all the changes together in one release.

This reverts commit a89683dd95, reversing
changes made to 2f1bd3f378.
2026-02-16 09:07:31 -08:00
bors 2e10913d41 Auto merge of #152187 - cuviper:beta-next, r=cuviper
[beta] backports, plus stable versions in stdarch

- Replace `stdarch` version placeholders with 1.94
- Parse ident with allowing recovery when trying to diagnose rust-lang/rust#151249
- Revert enabling `outline-atomics` on various platforms rust-lang/rust#151896
- Revert doc attribute parsing errors to future warnings rust-lang/rust#151952
- Remove the 4 failing tests from rustdoc-gui rust-lang/rust#152194
- Remove rustdoc GUI flaky test rust-lang/rust#152116
- Align `ArrayWindows` trait impls with `Windows` rust-lang/rust#151613
- Fix suppression of `unused_assignment` in binding of `unused_variable` rust-lang/rust#151556
- layout: handle rigid aliases without params rust-lang/rust#151814
- Fix missing unused_variables lint when using a match guard rust-lang/rust#151990
- Partially revert "resolve: Update `NameBindingData::vis` in place" rust-lang/rust#152498
- [BETA]: parse array lengths without stripping const blocks rust-lang/rust#152237

r? cuviper
2026-02-12 23:54:59 +00:00
Boxy 9cc698e8d6 parse array lengths without mgca shenanigans
(cherry picked from commit 01703e30c0)
2026-02-12 09:07:19 -08:00
Vadim Petrochenkov a096799b4a Partially revert "resolve: Update NameBindingData::vis in place"
(cherry picked from commit 324267ccaa)
2026-02-12 09:07:10 -08:00
Vadim Petrochenkov bcfdf1bf97 Add tests for issues 152004, 151124 and 152347
(cherry picked from commit 0cd0840243)
2026-02-12 09:07:10 -08:00
Alan Egerton 1087b41a83 Fix missing unused_variables lint when using a match guard
Within a binding pattern match guard, only real reads of a bound local
impact its liveness analysis - not the fake read that is injected.

(cherry picked from commit 5aba6b1635)
2026-02-12 09:06:20 -08:00
lcnr 8ac1f9d27d fix rustdoc test
(cherry picked from commit 337abba988)
2026-02-12 09:06:14 -08:00
lcnr 25c0e0569c prevent incorrect layout error
aliases may be rigid even if they don't reference params. If the alias isn't well-formed, trying to normalize it as part of the input should have already failed

(cherry picked from commit 39a532445a)
2026-02-12 09:06:14 -08:00
lcnr 4dbbfa3087 add regression test
(cherry picked from commit d4454e59d3)
2026-02-12 09:06:14 -08:00
Alan Egerton 01268919a5 Fix suppression of unused_assignment in binding of unused_variable
Unused assignments to an unused variable should trigger only the
`unused_variables` lint and not also the `unused_assignments` lint.
This was previously implemented by checking whether the span of the
assignee was within the span of the binding pattern, however that failed
to capture situations was imported from elsewhere (eg from the input
tokenstream of a proc-macro that generates the binding pattern).

By comparing the span of the assignee to those of the variable
introductions instead, a reported stable-to-stable regression is
resolved.

This fix also impacted some other preexisting tests, which had
(undesirably) been triggering both the `unused_variables` and
`unused_assignments` lints on the same initializing assignment; those
tests have therefore now been updated to expect only the former lint.

(cherry picked from commit 22b3f59882)
2026-02-12 09:06:11 -08:00
Josh Stone e1dd1bb6cb impl TrustedRandomAccess for ArrayWindows
(cherry picked from commit 129d552d3f)
2026-02-09 16:30:51 -08:00
Josh Stone 8011d42521 impl TrustedLen for ArrayWindows
(cherry picked from commit 8f7d556c75)
2026-02-09 16:30:51 -08:00
Josh Stone 622cdb3575 impl FusedIterator for ArrayWindows
(cherry picked from commit 08cd2ac33d)
2026-02-09 16:30:51 -08:00
Josh Stone 90e99bdd32 Manually impl Clone for ArrayWindows
This implementation doesn't need the derived `T: Clone`.

(cherry picked from commit 90521553e6)
2026-02-09 16:30:51 -08:00
Josh Stone f5ccb92483 Remove derive(Copy) on ArrayWindows
The derived `T: Copy` constraint is not appropriate for an iterator by
reference, but we generally do not want `Copy` on iterators anyway.

(cherry picked from commit 2bae85ec52)
2026-02-09 16:30:51 -08:00
Guillaume Gomez dbfbf2df54 Remove rustdoc GUI flaky test
(cherry picked from commit 607ac4bb84)
2026-02-06 08:38:33 -08:00
Jonathan Brouwer 322be0cdee Remove the 4 failing tests from rustdoc-gui
(cherry picked from commit bce8c00e2f)
2026-02-06 08:34:18 -08:00
Guillaume Gomez 34f6f4827d Move remaining doc attribute parsing errors to warnings
(cherry picked from commit c910511cab)
2026-02-05 11:44:34 -08:00
Guillaume Gomez d8ac42edd1 Make more doc attribute parsing error into future warnings
(cherry picked from commit 6d713489d0)
2026-02-05 11:38:02 -08:00
Guillaume Gomez 9126c7a0b7 Emit a future error warning for duplicate doc attribute
(cherry picked from commit 7dbbab63e2)
2026-02-05 11:36:45 -08:00
Trevor Gross dcea3c7ea3 Revert "Enable outline-atomics by default on AArch64 Windows platforms"
This reverts commit 1ed1b6e267.

(cherry picked from commit 9fb68d60ef)
2026-02-05 11:36:35 -08:00
Trevor Gross 4afad17828 Revert "Enable outline-atomics by default on AArch64 Android"
This reverts commit c455903978.

(cherry picked from commit 1173034b7b)
2026-02-05 11:36:35 -08:00
Trevor Gross b5e2de23c2 Revert "Enable outline-atomics by default on AArch64 Fuchsia"
This reverts commit 21525f862d.

(cherry picked from commit a9da102e20)
2026-02-05 11:36:35 -08:00
Trevor Gross 610c87797c Revert "Enable outline-atomics by default on AArch64 OpenBSD"
This reverts commit 66c150c1fa.

(cherry picked from commit 63e16520a2)
2026-02-05 11:36:35 -08:00
Trevor Gross e9a79f3f76 Revert "Enable outline-atomics by default on AArch64 FreeBSD"
This reverts commit 383053e016.

(cherry picked from commit 54f88be3cd)
2026-02-05 11:36:35 -08:00
mu001999 c226970869 Parse ident with allowing recovery when trying to recover in diagnosing
(cherry picked from commit 3713512217)
2026-02-05 11:36:26 -08:00
Josh Stone b90149755a Replace stdarch version placeholders with 1.94 2026-02-05 11:30:41 -08:00
bors 23a44d3c70 Auto merge of #151605 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] Switch to released 1.93 artifacts

Last part of 1.93 release.

https://forge.rust-lang.org/release/process.html#beta-stage0-update-friday

r? @Mark-Simulacrum
2026-01-25 06:38:02 +00:00
Mark Rousskov 8065524b58 Switch to released 1.93 artifacts 2026-01-24 13:47:14 -05:00
bors 9b1f8ff42d Auto merge of #151370 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] prepare 1.94 beta

https://forge.rust-lang.org/release/process.html#beta-pr

r? @Mark-Simulacrum
2026-01-19 19:45:12 +00:00
Mark Rousskov 9118d50436 Set channel to beta 2026-01-19 09:27:26 -05:00
Mark Rousskov 5d1cb2526b Replace version placeholders with 1.94 2026-01-19 09:26:42 -05:00
bors cd7ad97987 Auto merge of #151190 - estebank:const-default-hashmap, r=oli-obk
Add `const Default` impls for `HashSet` and `HashMap` with custom `Hasher`

Follow up to rust-lang/rust#134628. Tracking issue rust-lang/rust#143894.

r? @fmease

cc @fee1-dead @oli-obk

This doesn't allow for `const H: HashSet<()> = Default::default();`, but would allow for it to work with a custom hasher, which would enable the `Fx*` family to work.
2026-01-17 21:13:35 +00:00
bors fe98ddcfcf Auto merge of #151232 - fmease:rustdoc-dont-eval-assoc-consts, r=yotamofek
rustdoc: Stop unconditionally evaluating the initializer of associated consts

See the descriptions of the added tests for details.

Fixes rust-lang/rust#131625.
Fixes [after beta-1.93 backport] rust-lang/rust#149635.
Fixes rust-lang/rust#150312.

Supersedes rust-lang/rust#150629 IINM.

CC @cuviper (https://github.com/rust-lang/rust/issues/149635#issuecomment-3761125727)
r? @GuillaumeGomez or @yotamofek (rust-lang/rust#150629)
2026-01-17 16:15:18 +00:00
León Orell Valerian Liehr ac8e8505b7 rustdoc: Stop unconditionally evaluating the initializer of associated consts 2026-01-17 12:12:36 +01:00
bors 9f6cd6defb Auto merge of #151085 - Keith-Cancel:mgca2, r=BoxyUwU
Fix ICE: When Trying to check visibility of a #[type_const], check RHS instead.

This PR fixes https://github.com/rust-lang/rust/issues/150956 for min_const_generic_args https://github.com/rust-lang/rust/issues/132980. 

The first part of this PR checks in `reachable.rs` if we have a type const use `visit_const_item_rhs(init);` instead of calling `const_eval_poly_to_alloc()`

The second part is I noticed that if `const_eval_poly_to_alloc()` returns a `ErrorHandled::TooGeneric` then switches to `visit_const_item_rhs()`. So further up `const_eval_poly_to_alloc()` call order it eventual gets to `eval_in_interpreter()`. So I added a debug_assert in `eval_in_interpreter()` if we happen to try and run CTFE on a `type_const`.

The other bit is just a test case, and some duplicated code I noticed.

While the PR does get rid of the ICE for a type_const with `pub` visibility. If I try using the const though it will ICE with the following:
```
error: internal compiler error: /home/keith/GitHub/rust_kc/compiler/rustc_const_eval/src/check_consts/qualifs.rs:355:13: expected ConstKind::Param or ConstKind::Value here, found UnevaluatedConst { def: DefId(20:4 ~ colorkit[c783]::TYPE_CONST), args: [] }


thread 'rustc' (819687) panicked at /home/keith/GitHub/rust_kc/compiler/rustc_const_eval/src/check_consts/qualifs.rs:355:13:
```

I suspect it is a similar issue to inherent associated consts. Since if I apply the same fix I had here:
https://github.com/rust-lang/rust/pull/150799#discussion_r2676504639

I then can use the const  internally and in external crates without any issues.
Although, did not include that fix since if it is a similar issue it would need to be addressed elsewhere.

r? @BoxyUwU 
@rustbot label +F-associated_const_equality +F-min_generic_const_args
2026-01-17 09:45:42 +00:00