169975 Commits

Author SHA1 Message Date
Arlo Siemsen 8c692f2da1 [stable 1.94] Update cargo submodule
1 commits in 292f395c297d4f99171325b0842ac4ea4ff3b386..29ea6fb6a5db279426f4cc4e17aa385f05a0cfbc
2026-03-21 06:42:37 -0500 to 2026-03-24 17:37:48 -0400
- [stable 1.94] Downgrade curl-sys to 0.4.83 (rust-lang/cargo#16787)
2026-03-24 17:54:25 -05:00
Mark Rousskov 96a4ac8909 Backport rust-lang/rust-clippy#16685
This applies the patch for that PR, fixing an ICE in match_same_arms.
2026-03-22 08:13:23 -04:00
Mark Rousskov 0a29b263d0 Cargo stable backports
```
$ git log --oneline 85eff7c80277b57f78b11e28d14154ab12fcf643..292f395c297d4f99171325b0842ac4ea4ff3b386
292f395c2 (HEAD) [stable 1.94] Fix symlink_and_directory when running in a long target dir name (#16777)
d00475981 Fix symlink_and_directory when running in a long target dir name (#16775)
ce98781f7 [stable 1.94] Update tar to 0.4.45 (#16769)
fec7f9297 Update tar to 0.4.45
5e256e377 Add a test for a tar file with a symlink and directory of the same name
1ed92053d test: Remove unused docker ip_address (#16636)
d7a2a0307 Increase cache_lock test timeout (#16545)
95d93fb89 Don't check the specific build-std output
dfbe729f6 chore: Updated compiler errors for Rust 1.93 (#16543)
cb03b21f6 Update cargo-semver-checks to 0.47.0
f7777c4f9 test(build-std): Update error message (#16658)
a56abe18a Disable custom target JSON spec test
634668d49 fix: `--remap-path-scope` stabilized in 1.95-nightly (#16536)
d428eaa44 fix(script): surpress `unused_features` lint for embedded (#16714)
e7b27c7f9 test(git): Mark a test as non-deterministic (#16706)
38922ca44 test(replace): Mark a test as non-deterministic (#16700)
```
2026-03-22 08:08:33 -04:00
Mark Rousskov 6fd8bb9422 Stable 1.94.1 release 2026-03-22 08:02:09 -04:00
Josh Stone b8eece98d2 Bump to stable release 2026-03-02 14:52:52 -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
Boxy 9cc698e8d6 parse array lengths without mgca shenanigans
(cherry picked from commit 01703e30c0)
2026-02-12 09:07:19 -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
Mark Rousskov 8065524b58 Switch to released 1.93 artifacts 2026-01-24 13:47:14 -05:00
Mark Rousskov 9118d50436 Set channel to beta 2026-01-19 09:27:26 -05: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 844f13103a Auto merge of #151228 - cyrgani:less-feature, r=jhpratt
remove multiple unhelpful `reason = "..."` values from `#[unstable(...)]` invocations

The vast majority of `#[unstable()]` attributes already has no explicit reason specified. This PR removes the `reason = "..."` value for the following unhelpful or meaningless reasons: 
* "recently added"
* "new API"
* "recently redesigned"
* "unstable"

An example of how the message looks with and without a reason:

```rust
fn main() {
    Vec::<()>::into_parts;
    Vec::<()>::const_make_global;
}
```

```
error[E0658]: use of unstable library feature `box_vec_non_null`: new API
 --> src/main.rs:2:5
  |
2 |     Vec::<()>::into_parts;
  |     ^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #130364 <https://github.com/rust-lang/rust/issues/130364> for more information
  = help: add `#![feature(box_vec_non_null)]` to the crate attributes to enable
  = note: this compiler was built on 2026-01-15; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature `const_heap`
 --> src/main.rs:3:5
  |
3 |     Vec::<()>::const_make_global;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #79597 <https://github.com/rust-lang/rust/issues/79597> for more information
  = help: add `#![feature(const_heap)]` to the crate attributes to enable
  = note: this compiler was built on 2026-01-15; consider upgrading it if it is out of date
```

Most of the remaining reasons after this are something similar to "this is an implementation detail for XYZ" or "this is not public". If this PR is approved, I'll look into those next. 

The PR also removes the `fd_read` feature gate. It only consists of one attribute applied to an implementation inside a module that is already private and unstable and should not be needed.
2026-01-17 06:27:42 +00:00
bors defdb83d4b Auto merge of #151234 - Zalathar:rollup-mtOIaDC, r=Zalathar
Rollup of 5 pull requests

Successful merges:

 - rust-lang/rust#151092 (Generate macro expansion for rust compiler crates docs)
 - rust-lang/rust#151120 (Fix deprecated attribute intra-doc link not resolved in the right location on reexported item)
 - rust-lang/rust#151207 (Preliminary match/capture test cleanup for PR 150681)
 - rust-lang/rust#151221 (Reorganizing `tests/ui/issues` 5 tests [1/N])
 - rust-lang/rust#151222 (feat: Support references in reflection type info)

r? @ghost
2026-01-17 03:10:02 +00:00
Stuart Cook 176bf87df0 Rollup merge of #151120 - ice-deprecated-note-on-reexport, r=lolbinarycat
Fix deprecated attribute intra-doc link not resolved in the right location on reexported item

Fixes https://github.com/rust-lang/rust/issues/151028.
Follow-up of https://github.com/rust-lang/rust/pull/150721.

So when we resolve an intra-doc link, its current context (the module from which we resolve in short) is very important. However, when we use an intra-doc link in a `#[deprecated]` attribute on a reexported item, we were using the context of the reexported item and not of the `use` itself. Meaning that if you have an intra-doc link `std::mem::drop` on an item from another crate (let's say `core`), then the import will simply fail since there is no `std` dependency.

Now comes the not so funny fix: at this point, we don't know anymore where the attribute came from (ie, from the reexport or from the reexported item) since we already merged the attribute at this point. The solution I found to go around this problem is to check if the item span contains the attribute, and if not, then we use the `inline_stmt_id` as context instead of the item's ID. I'm not super happy and I'm sure we'll find corner cases in the future (like with macros), however there are a few things that mitigate this fix:
1. The only way to generate an attribute with a macro with its item while having different spans is by using proc-macros. In that case, we can always default to the `inline_stmt_id` as context and be fine, but I guess we'll see when get there.
2. It only concerns reexports, so the area of the problem is quite restricted.

Hopefully this explanation made sense. :)

cc @folkertdev
r? @lolbinarycat
2026-01-17 11:47:18 +11:00
Stuart Cook 3157d50d5b Rollup merge of #151092 - generate-macro-expansion-compiler-crates-docs, r=jieyouxu
Generate macro expansion for rust compiler crates docs

Re-enable https://github.com/rust-lang/rust/pull/150022, which was disabled in https://github.com/rust-lang/rust/pull/149831 because some fixes hadn't been merged then.

r? @jieyouxu
2026-01-17 11:47:18 +11:00
bors 1a9f1686b2 Auto merge of #151225 - weihanglo:update-cargo, r=weihanglo
Update cargo submodule

15 commits in 8c133afcd5e0d69932fe11f5907683723f8d361d..85eff7c80277b57f78b11e28d14154ab12fcf643
2026-01-09 03:50:15 +0000 to 2026-01-15 16:18:08 +0000
- fix(lockfile): switch to `resolver.lockfile-path` config (rust-lang/cargo#16510)
- Moved build-script bins to `deps` directory (rust-lang/cargo#16515)
- Invalidate the whole build cache when `-Zno-embed-metadata` changes (rust-lang/cargo#16513)
- Do not create examples dir in build dir with new layout (rust-lang/cargo#16514)
- fix(git): avoid partial oid got zero padded (rust-lang/cargo#16511)
- Optimize cargo locate-project --workspace (rust-lang/cargo#16423)
- chore: Update typos (rust-lang/cargo#16507)
- refactor(git): remove unnecessary serialization (rust-lang/cargo#16505)
- fix(build-std): std link metadata propagate to user (rust-lang/cargo#16496)
- Improve error message for missing dependencies (rust-lang/cargo#16500)
- fix: preserve `dep_name` for build script metadata  (rust-lang/cargo#16494)
- refactor(toml): clarify `to_dependency` for config patch (rust-lang/cargo#16492)
- Add `--id` flag to `cargo report timings` and `cargo report rebuilds` (rust-lang/cargo#16490)
- Display lockfile path in very verbose mode when blocking (rust-lang/cargo#16491)
- fix(info): resolve underscore vs hyphen mismatch in schema lookup (rust-lang/cargo#16455)

r? ghost
2026-01-16 23:50:37 +00:00
Weihang Lo 500c94f945 Update cargo submodule 2026-01-16 15:45:53 -05:00
Matthias Krüger 2c2b62260b Rollup merge of #151218 - crate-struct, r=clubby789
compiletest: Add `AuxCrate` struct with docs.

To make the code clearer.
2026-01-16 21:04:32 +01:00
Martin Nordholts 4530e26f4e compiletest: Add AuxCrate struct with docs.
To make the code clearer.
2026-01-16 18:41:37 +01:00
Jakub Beránek 41daada3bb Ship LLVM (rust-dev) in fast try builds again 2026-01-16 14:49:33 +01:00
cyrgani e45e4a7cc6 delete weird fd_read feature 2026-01-16 13:31:38 +00:00
Guillaume Gomez 7544563578 Only enable rustdoc --generate-macro-expansion option for stage builds higher than 1 2026-01-16 11:39:40 +01:00
Jonathan Brouwer 92737cab34 Rollup merge of #151117 - reduce_deps, r=Kobzol
Avoid serde dependency in build_helper when not necessary

Run-make-support doesn't need the metrics code to be pulled in ever. And bootstrap only needs it in CI where build metrics support is enabled.
2026-01-14 22:30:00 +01:00
Jonathan Brouwer d23e780a57 Rollup merge of #150966 - arch-powerpc64le, r=petrochenkov
rustc_target: Remove unused Arch::PowerPC64LE

This variant has been added in https://github.com/rust-lang/rust/pull/147645, but actually unused since target_arch for powerpc64le- targets is "powerpc64". (The difference between powerpc64- and powerpc64le- targets is identified by target_endian.)

Note: This is an internal cleanup and does NOT remove `powerpc64le-*` targets.
2026-01-14 22:29:57 +01:00
Jonathan Brouwer 27e6ef9f6d Rollup merge of #150962 - rm/feed_const_ty, r=BoxyUwU
Remove `FeedConstTy` and provide ty when lowering const arg

r? @BoxyUwU

edit: BoxyUwU

`FeedConstTy` currently only provides the expected type of a const argument *sometimes* (e.g. previously array lengths did not do this). This causes problems with mGCA's directly represented const arguments which always need to know their expected type.
2026-01-14 22:29:57 +01:00
Jonathan Brouwer e04af73628 Rollup merge of #150586 - intra-doc-assoc-alias, r=GuillaumeGomez
rustdoc: Fix intra-doc link bugs involving type aliases and associated items

This PR:
- Add support for linking to fields of variants behind a type alias.
- Correctly resolve links to fields and variants behind a type alias to the alias's version of the docs.
- Refactor some intra-doc links code to make it simpler.
- Add tests for the status quo of linking to associated items behind aliases.

Future steps:
- Nail down the rules of when inherent and trait impls are inlined into an alias's docs, and when impls on the alias appear for the aliased type.
- Adjust the resolutions of intra-doc links, through aliases, to associated items based on these rules.

r? @GuillaumeGomez
2026-01-14 22:29:55 +01:00
Guillaume Gomez e4e2e8bd6f Fix deprecated attribute intra-doc link not resolved in the right location on reexported item 2026-01-14 21:52:30 +01:00
Taiki Endo 7d80e7d720 rustc_target: Remove unused Arch::PowerPC64LE
target_arch for powerpc64le- targets is "powerpc64".
2026-01-14 23:12:57 +09:00
bjorn3 2b209a69cf Avoid serde dependency in build_helper when not necessary 2026-01-14 13:21:16 +00:00
bors 8c52f735ab Auto merge of #151107 - JonathanBrouwer:rollup-9CIxxuZ, r=JonathanBrouwer
Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#149408 (refactor: remove Ord bound from BinaryHeap::new etc)
 - rust-lang/rust#150406 (Change some `matches!(.., .. if ..)` with let-chains)
 - rust-lang/rust#150723 (std: move `errno` and related functions into `sys::io`)
 - rust-lang/rust#150877 (resolve: Refactor away the side table `decl_parent_modules`)
 - rust-lang/rust#150902 (Update to_uppercase docs to avoid ß->SS example)
 - rust-lang/rust#151034 (std: Change UEFI env vars to volatile storage)
 - rust-lang/rust#151036 (Better handle when trying to iterate on a `Range` of a type that isn't `Step`)
 - rust-lang/rust#151067 (Avoid should-fail in two ui tests and a codegen-llvm test)
 - rust-lang/rust#151072 (also handle ENOTTY ioctl errors when checking pidfd -> pid support)
 - rust-lang/rust#151077 (Recognize potential `impl<const N: usize>` to `impl<N>` mistake)
 - rust-lang/rust#151096 (Remove `Deref`/`DerefMut` impl for `Providers`.)

Failed merges:

 - rust-lang/rust#150939 (resolve: Relax some asserts in glob overwriting and add tests)

r? @ghost
2026-01-14 13:12:51 +00:00
mu001999 80bd069138 Fix review comments 2026-01-14 20:59:41 +08:00
mu001999 e27fcfd28e Remove FeedConstTy 2026-01-14 20:59:41 +08:00
mu001999 d0b760369f Remove all usage of FeedConstTy::No 2026-01-14 20:59:38 +08:00
Jonathan Brouwer db10879fd1 Rollup merge of #151096 - rm-providers-deref, r=oli-obk
Remove `Deref`/`DerefMut` impl for `Providers`.

It's described as a "backwards compatibility hack to keep the diff small". Removing it requires only a modest amount of churn, and the resulting code is clearer without the invisible derefs.

r? @oli-obk
2026-01-14 11:05:42 +01:00
bors 2fd6efc327 Auto merge of #150541 - Kobzol:dist-gcc-component, r=jieyouxu
Add a dist component for libgccjit

Companion to https://github.com/rust-lang/rust/pull/150538.

try-job: dist-x86_64-linux
2026-01-14 09:57:06 +00:00
Nicholas Nethercote 3aa31788b5 Remove Deref/DerefMut impl for Providers.
It's described as a "backwards compatibility hack to keep the diff
small". Removing it requires only a modest amount of churn, and the
resulting code is clearer without the invisible derefs.
2026-01-14 15:55:59 +11:00
Guillaume Gomez c8c7b5b449 Generate macro expansion for rust compiler crates docs 2026-01-14 00:58:35 +01:00
Guillaume Gomez 770919211f Rollup merge of #151043 - patch-1, r=ehuss
armv7-unknown-linux-uclibceabihf.md: Fix bootstrap.toml syntax

With the suggested value we were getting instead:

```
ERROR: Failed to parse '/tmp/rust/bootstrap.toml': unknown field `stage`, expected one of `build`, `description`, `host`, `target`, `build-dir`, `cargo`, `rustc`, `rustfmt`, `cargo-clippy`, `docs`, `compiler-docs`, `library-docs-private-items`, `docs-minification`, `submodules`, `gdb`, `lldb`, `nodejs`, `npm`, `yarn`, `python`, `windows-rc`, `reuse`, `locked-deps`, `vendor`, `full-bootstrap`, `bootstrap-cache-path`, `extended`, `tools`, `tool`, `verbose`, `sanitizers`, `profiler`, `cargo-native-static`, `low-priority`, `configure-args`, `local-rebuild`, `print-step-timings`, `print-step-rusage`, `check-stage`, `doc-stage`, `build-stage`, `test-stage`, `install-stage`, `dist-stage`, `bench-stage`, `patch-binaries-for-nix`, `metrics`, `android-ndk`, `optimized-compiler-builtins`, `jobs`, `compiletest-diff-tool`, `compiletest-allow-stage0`, `compiletest-use-stage0-libtest`, `tidy-extra-checks`, `ccache`, `exclude` for key `build`
```
2026-01-13 23:39:12 +01:00
Guillaume Gomez 080c7043c1 Rollup merge of #150840 - print-check-cfg-rework-output, r=nnethercote
Make `--print=check-cfg` output compatible `--check-cfg` arguments

This PR changes significantly the output of the unstable `--print=check-cfg` option.

Specifically it removes the ad-hoc resemblance with `--print=cfg` in order to output a simplified but still compatible `--check-cfg` arguments.

The goal is to future proof the output of `--print=check-cfg` like `--check-cfg` is, and the best way to do that is to use it's syntax.

This is particularly relevant for [RFC3905](https://github.com/rust-lang/rfcs/pull/3905) which wants to introduce a new predicate: `version(...)`.
2026-01-13 23:39:09 +01:00
Guillaume Gomez 66f25e9d8d Rollup merge of #150771 - remove-homu-branches, r=marcoieni
Remove legacy homu `try` and `auto` branch mentions

~~To be merged once we get rid of homu.~~ I think that we can merge this now.
2026-01-13 23:39:09 +01:00
bors db1484bdee Auto merge of #151051 - JonathanBrouwer:rollup-SuaGLmP, r=JonathanBrouwer
Rollup of 14 pull requests

Successful merges:

 - rust-lang/rust#150151 (Destabilise `target-spec-json`)
 - rust-lang/rust#150826 (Add `f16` inline ASM support for s390x)
 - rust-lang/rust#150883 (Improve span for "unresolved intra doc link" on `deprecated` attribute)
 - rust-lang/rust#150934 (Move some checks from `check_doc_attrs` directly into `rustc_attr_parsing`)
 - rust-lang/rust#150943 (Port `#[must_not_suspend]` to attribute parser)
 - rust-lang/rust#150990 (std: sys: net: uefi: Make TcpStream Send)
 - rust-lang/rust#150995 (core: ptr: split_at_mut: fix typo in safety doc)
 - rust-lang/rust#150998 (Relax test expectation for @__llvm_profile_runtime_user)
 - rust-lang/rust#151002 (Remove a workaround for a bug (take 2))
 - rust-lang/rust#151005 (Fix typo in `MaybeUninit` docs)
 - rust-lang/rust#151011 (Update books)
 - rust-lang/rust#151029 (rustc-dev-guide subtree update)
 - rust-lang/rust#151032 (fix: added missing backtick in triagebot.toml)
 - rust-lang/rust#151035 (Don't suggest replacing closure parameter with type name)

r? @ghost
2026-01-13 10:47:20 +00:00
Jonathan Brouwer 0a200ad04f Rollup merge of #151029 - rdg-sync, r=tshepang
rustc-dev-guide subtree update

Subtree update of `rustc-dev-guide` to https://github.com/rust-lang/rustc-dev-guide/commit/e905666c5a24f37e73011fc6f282a8afab9a41c1.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost
2026-01-13 09:01:35 +01:00
Jonathan Brouwer ced35f87da Rollup merge of #151011 - docs-update, r=ehuss
Update books

## rust-lang/nomicon

2 commits in 5b3a9d084cbc64e54da87e3eec7c7faae0e48ba9..050c002a360fa45b701ea34feed7a860dc8a41bf
2026-01-10 15:05:01 UTC to 2026-01-09 23:34:23 UTC

- Correct false typo fix in safe-unsafe-meaning.md (rust-lang/nomicon#518)
- Fix grammar and typos in safe-unsafe-meaning.md (rust-lang/nomicon#517)

## rust-lang/reference

2 commits in 6363385ac4ebe1763f1e6fb2063c0b1db681a072..28b5a54419985f03db5294de5eede71b6665b594
2026-01-03 19:09:24 UTC to 2026-01-03 18:10:24 UTC

- RISC-V Extensions update including 29 extensions to stabilize (rust-lang/reference#1987)
- Update note about shebang removal in `include`d files (rust-lang/reference#2127)

## rust-lang/rust-by-example

1 commits in 2e02f22a10e7eeb758e6aba484f13d0f1988a3e5..8de6ff811315ac3a96ebe01d74057382e42ffdee
2026-01-06 00:16:33 UTC to 2026-01-06 00:16:33 UTC

- Update comments on iterator behavior in closure examples (rust-lang/rust-by-example#1983)
2026-01-13 09:01:34 +01:00
Jonathan Brouwer dc6afd74dd Rollup merge of #150883 - improve-deprecated-intra-doc-span, r=camelid
Improve span for "unresolved intra doc link" on `deprecated` attribute

Follow-up of rust-lang/rust#150721.

To make this work, I replaced the `Symbol` by an `Ident` to keep the `Span` information.

cc @folkertdev
r? @camelid
2026-01-13 09:01:30 +01:00
bors b2a322beb2 Auto merge of #145343 - Kobzol:dogfood-z-no-embed-metadata, r=bjorn3
Dogfood `-Zno-embed-metadata` in the standard library

This PR dogfoods the [`-Zno-embed-metadata`](https://github.com/rust-lang/cargo/issues/15495) flag in the standard library. This removes the .rmeta portion out of the `libstd.so` file, thus reducing its filesize on disk. Notably, this reduces the amount of MiB that we ship to people who download the standard library.

I think that the only way to find out what this breaks is to try to run full CI, and then try to land it on nightly :)

r? @ghost
2026-01-13 07:30:35 +00:00
Jakub Beránek c263d36539 Fix citool tests 2026-01-13 07:35:24 +01:00
Marco Trevisan 1e69091403 armv7-unknown-linux-uclibceabihf.md: Update toolchain download link
The old toolchain is not working with recent rustc, as it does not
defining `getauxval`
2026-01-13 04:17:51 +01:00
Marco Trevisan e5dbb3b1a2 armv7-unknown-linux-uclibceabihf.md: Fix build-toml syntax
With the suggested value we were getting instead:

```
ERROR: Failed to parse '/tmp/rust/bootstrap.toml': unknown field `stage`, expected one of `build`, `description`, `host`, `target`, `build-dir`, `cargo`, `rustc`, `rustfmt`, `cargo-clippy`, `docs`, `compiler-docs`, `library-docs-private-items`, `docs-minification`, `submodules`, `gdb`, `lldb`, `nodejs`, `npm`, `yarn`, `python`, `windows-rc`, `reuse`, `locked-deps`, `vendor`, `full-bootstrap`, `bootstrap-cache-path`, `extended`, `tools`, `tool`, `verbose`, `sanitizers`, `profiler`, `cargo-native-static`, `low-priority`, `configure-args`, `local-rebuild`, `print-step-timings`, `print-step-rusage`, `check-stage`, `doc-stage`, `build-stage`, `test-stage`, `install-stage`, `dist-stage`, `bench-stage`, `patch-binaries-for-nix`, `metrics`, `android-ndk`, `optimized-compiler-builtins`, `jobs`, `compiletest-diff-tool`, `compiletest-allow-stage0`, `compiletest-use-stage0-libtest`, `tidy-extra-checks`, `ccache`, `exclude` for key `build`
```
2026-01-13 04:01:45 +01:00
Urgau dd2b0a8e92 Update compiletest for new --print=check-cfg output 2026-01-12 23:46:22 +01:00