Commit graph

169967 commits

Author SHA1 Message Date
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 e905666c5a.

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
Urgau
feb44c3f48 Make --print=check-cfg output compatible --check-cfg arguments 2026-01-12 23:46:22 +01:00
Tshepang Mbambo
da5aa2825a sembr src/tests/perf.md 2026-01-12 22:26:55 +02:00
Tshepang Mbambo
579e2b3009 some improvements to tests/best-practices.md 2026-01-12 22:26:30 +02:00
Tshepang Mbambo
d89da80448 sembr src/tests/best-practices.md 2026-01-12 22:19:30 +02:00
Tshepang Mbambo
2d9616a5d7 add missing pause 2026-01-12 22:18:33 +02:00
Tshepang Mbambo
c451d97ce1 a more natural continuation 2026-01-12 22:18:18 +02:00
Tshepang Mbambo
328942672d sembr src/profiling/with_rustc_perf.md 2026-01-12 22:15:18 +02:00
Tshepang Mbambo
d442a793b2 sembr src/rustdoc-internals/rustdoc-html-test-suite.md 2026-01-12 22:13:40 +02:00