Commit graph

10750 commits

Author SHA1 Message Date
Levi Zim
49ea23232c
Fix deadlink in libs-and-metadata.md 2025-04-06 20:05:03 +08:00
Matthias Krüger
8b86782ef0
Rollup merge of #139339 - mejrs:tait, r=oli-obk
unstable book: document tait

Documents the type alias impl trait feature.

Rendered:
![image](https://github.com/user-attachments/assets/1d904ff9-e1e1-4ef0-a62d-cbe2d480dce0)
![image](https://github.com/user-attachments/assets/9e877ad1-0f73-4ead-a4ac-0e106512cef8)
![image](https://github.com/user-attachments/assets/86663a23-9824-406d-a5e1-1e0c1662b5f5)

because you are deeply involved in this I'll r you but feel free to reroll
r? `@oli-obk`
2025-04-04 21:54:57 +02:00
bors
5337252b99 Auto merge of #137869 - Noratrieb:Now_I_am_become_death,_the_destroyer_of_i686-pc-windows-gnu, r=workingjubilee
Demote i686-pc-windows-gnu to Tier 2

In accordance with [RFC 3771](https://github.com/rust-lang/rfcs/pull/3771). FCP has been completed.

tracking issue #138422

I also added a stub doc page for the target and renamed the windows-gnullvm page for consistency.
2025-04-04 15:45:03 +00:00
Gábor Szabó
fb6af25b2b
Update book.toml fix the authors field
See https://rust-lang.github.io/mdBook/format/configuration/general.html#general-metadata
2025-04-04 08:34:08 +03:00
mejrs
b98760ba2d Fix links 2025-04-04 01:23:01 +02:00
mejrs
897f9e5985 unstable book: document tait 2025-04-04 00:20:49 +02:00
binarycat
ceba464c69 add some links about the rustdoc-gui test suite 2025-04-03 15:09:11 -05:00
clubby789
984c51f6a1 Stabilize cfg_boolean_literals 2025-04-03 18:10:48 +00:00
bors
82eb03ec62 Auto merge of #139301 - matthiaskrgr:rollup-sa6ali8, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #139080 (Experimental feature gate for `super let`)
 - #139145 (slice: Remove some uses of unsafe in first/last chunk methods)
 - #139149 (unstable book: document import_trait_associated_functions)
 - #139273 (Apply requested API changes to `cell_update`)
 - #139282 (rustdoc: make settings checkboxes always square)
 - #139283 (Rustc dev guide subtree update)
 - #139294 (Fix the `f16`/`f128` feature gates on integer literals)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-04-03 15:31:20 +00:00
Vadim Petrochenkov
4d64990690 compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
Matthias Krüger
85c557e76e
Rollup merge of #139283 - BoxyUwU:rdg-push, r=jieyouxu
Rustc dev guide subtree update

r? ``@jieyouxu`` ``@Kobzol``
2025-04-03 07:39:08 +02:00
Matthias Krüger
ee56188457
Rollup merge of #139149 - mejrs:itaf, r=ehuss
unstable book: document import_trait_associated_functions

Documents https://github.com/rust-lang/rust/issues/134691 which was implemented in https://github.com/rust-lang/rust/pull/134754
2025-04-03 07:39:06 +02:00
Tshepang Mbambo
fddb425ed8
test directive can appear anywhere in the file 2025-04-03 02:04:49 +02:00
Noratrieb
6a1f57d095 Demote i686-pc-windows-gnu to Tier 2
In accordance with RFC 3771.

I also added a stub doc page for the target and renamed the
windows-gnullvm page for consistency.
2025-04-02 21:40:58 +02:00
Jieyou Xu
cae5d8a81c
Merge from rustc 2025-04-02 23:26:35 +08:00
Jieyou Xu
05d5fdadbb
Preparing for merge from rustc 2025-04-02 23:26:26 +08:00
Takayuki Maeda
eb23a597c8
Rollup merge of #139184 - Urgau:crate-root-lint-levels, r=jieyouxu
Add unstable `--print=crate-root-lint-levels`

This PR implements `--print=crate-root-lint-levels` from MCP 833 https://github.com/rust-lang/compiler-team/issues/833.

Tracking issue: https://github.com/rust-lang/rust/issues/139180

Best reviewed commit by commit.
2025-04-02 22:52:45 +09:00
Stuart Cook
5f05d43922
Rollup merge of #139212 - ehuss:update-mdbook, r=Mark-Simulacrum
Update mdbook to 0.4.48

This brings in several updates. Two significant ones are to halve the search index size, and the other introduces major changes to footnote rendering.

Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0448
2025-04-02 13:10:42 +11:00
Stuart Cook
e89ba0bf95
Rollup merge of #139208 - futreall:master, r=jieyouxu
fix dead link netbsd.md

src/doc/rustc/src/platform-support/netbsd.md
https://github.com/NetBSD/pkgsrc-wip/blob/master/rust/Makefile - https://github.com/NetBSD/pkgsrc-wip/blob/master/Makefile
2025-04-02 13:10:41 +11:00
Urgau
df18de57a5 Add unstable --print=crate-root-lint-levels 2025-04-01 18:29:39 +02:00
bors
0b4a81a4ef Auto merge of #138492 - lcnr:rm-inline_const_pat, r=oli-obk
remove `feature(inline_const_pat)`

Summarizing https://rust-lang.zulipchat.com/#narrow/channel/144729-t-types/topic/remove.20feature.28inline_const_pat.29.20and.20shared.20borrowck.

With https://github.com/rust-lang/types-team/issues/129 we will start to borrowck items together with their typeck parent. This is necessary to correctly support opaque types, blocking the new solver and TAIT/ATPIT stabilization with the old one. This means that we cannot really support `inline_const_pat` as they are implemented right now:

- we want to typeck inline consts together with their parent body to allow inference to flow both ways and to allow the const to refer to local regions of its parent.This means we also need to borrowck the inline const together with its parent as that's necessary to properly support opaque types
- we want the inline const pattern to participate in exhaustiveness checking
- to participate in exhaustiveness checking we need to evaluate it, which requires borrowck, which now relies on borrowck of the typeck root, which ends up checking exhaustiveness again. **This is a query cycle**.

There are 4 possible ways to handle this:
- stop typechecking inline const patterns together with their parent
  - causes inline const patterns to be different than inline const exprs
  - prevents bidirectional inference, we need to either fail to compile `if let const { 1 } = 1u32` or `if let const { 1u32 } = 1`
  - region inference for inline consts will be harder, it feels non-trivial to support inline consts referencing local regions from the parent fn
- inline consts no longer participate in exhaustiveness checking. Treat them like `pat if pat == const { .. }`  instead. We then only evaluate them after borrowck
  - difference between `const { 1 }`  and `const FOO: usize = 1; match x { FOO => () }`. This is confusing
  - do they carry their weight if they are now just equivalent to using an if-guard
- delay exhaustiveness checking until after borrowck
  - should be possible in theory, but is a quite involved change and may have some unexpected challenges
- remove this feature for now

I believe we should either delay exhaustiveness checking or remove the feature entirely. As moving exhaustiveness checking to after borrow checking is quite complex I think the right course of action is to fully remove the feature for now and to add it again once/if we've got that implementation figured out.

`const { .. }`-expressions remain stable. These seem to have been the main motivation for https://github.com/rust-lang/rfcs/issues/2920.

r? types

cc `@rust-lang/types` `@rust-lang/lang` #76001
2025-04-01 14:20:46 +00:00
Eric Huss
6c3be19f57 Update mdbook to 0.4.48
This brings in several updates. Two significant ones are to halve the
search index size, and the other introduces major changes to footnote
rendering.

Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0448
2025-04-01 06:51:47 -07:00
futreall
d2358f7f2e fix link in netbsd.md
Update netbsd.md

Update netbsd.md
2025-04-01 16:38:22 +03:00
bors
8c35f4a85e Auto merge of #137535 - Kobzol:split-metadata, r=petrochenkov
Introduce `-Zembed-metadata` to allow omitting full metadata from rlibs and dylibs

This is a continuation of https://github.com/rust-lang/rust/pull/120855 (I was mentored by `@bjorn3` to move it forward). Most of the original code was written by bjorn3, I tried to clean it up a bit and add some documentation and tests.

This PR introduces a new unstable compiler flag called `-Zembed-metadata=[no|yes]`, with the default being `yes` (see https://github.com/rust-lang/rust/issues/57076 for context). When set to `no`, rustc will only store a small metadata stub inside rlibs/dylibs instead of the full metadata, to keep their size smaller. It should be used in combination with `--emit=metadata`, so that the users of such a compiled library can still read the metadata from the corresponding `.rmeta` file. [This comment](https://github.com/rust-lang/rust/pull/120855#issuecomment-1937018169) shows an example of binary/artifact size wins that can be achieved using this approach.

Contrary to https://github.com/rust-lang/rust/pull/120855, this PR only introduces the new flag, along with a couple of run-make tests and documentation, but does not yet use it in bootstrap to actually compile rustc. I plan to do that as a follow-up step (along with integration in Cargo, which should ideally just always pass this flag to reduce the size of target directories).

Fixes https://github.com/rust-lang/rust/issues/23366
Closes https://github.com/rust-lang/rust/issues/29511
Fixes https://github.com/rust-lang/rust/issues/57076

Another attempt of https://github.com/rust-lang/rust/pull/93945 and https://github.com/rust-lang/rust/pull/120855.

r? `@petrochenkov`
2025-04-01 10:40:06 +00:00
Jakub Beránek
a5057b786b Add documentation of the option into the unstable book 2025-03-31 09:44:41 +02:00
mejrs
39a491ada3 unstable book: document import_trait_associated_functions 2025-03-30 23:20:04 +02:00
mejrs
f3cbc3992e Remove duplicate c-variadic.md 2025-03-30 22:13:47 +02:00
clubby789
ebae4c65a1 Fix partial clone link 2025-03-30 13:21:01 +01:00
Tshepang Mbambo
9302f4d94f add rustfmt settings file 2025-03-30 00:31:44 +02:00
Tshepang Mbambo
471a2a8b87 example assumes a static exists
This was removed, likely by mistake, during a refactor.
2025-03-30 00:16:39 +02:00
Tshepang Mbambo
1faf7ff9a4 update rustc-{driver,interface} examples 2025-03-29 23:52:57 +02:00
Tshepang Mbambo
9448b79201
Merge pull request #2289 from y1lan/fix_compiler_err_of_examples
Fix compile errors of all the examples
2025-03-29 23:10:13 +02:00
许杰友 Jieyou Xu (Joe)
70cbe19fe0
Merge pull request #2288 from rust-lang/tshepang-known-bug-takes-args
mention that known-bug test directive takes arguments
2025-03-30 02:31:33 +08:00
Tshepang Mbambo
865a5a7e16 mention that know-bug test directive takes arguments 2025-03-29 20:02:01 +02:00
Vadim Petrochenkov
cf451f0830 compiletest: Support matching diagnostics on lines below 2025-03-29 13:30:20 +03:00
Samuel Tardieu
5952f01712 Fix trivial typo of BoundVariableKind 2025-03-28 21:04:21 +01:00
Santiago Pastorino
cdbb219f83
Fix code generation link 2025-03-28 12:38:32 -03:00
Matthias Krüger
5261a0aedf
Rollup merge of #139038 - adamgreig:thumb-target-maintainers, r=Noratrieb
Update target maintainers for thumb targets to reflect new REWG Arm team name

Closes #139027

The name of the team responsible for these targets has changed as the team was merged with other Arm-related teams (see https://github.com/rust-embedded/wg/pull/818). The link gives an up-to-date list of github usernames that can be pinged, whereas the old email address is not very actively maintained or tracked.
2025-03-28 12:59:57 +01:00
Eric Huss
f535922f20 Try to more clearly specify exactly what the runtool flags do 2025-03-27 19:07:17 -07:00
Eric Huss
af2b4b94ed Show an example of using multiple ignore attributes 2025-03-27 19:07:17 -07:00
Eric Huss
7251b466a4 Remove and stabilize --enable-per-target-ignores
This removes the `--enable-per-target-ignores` and enables it
unconditionally.
2025-03-27 19:06:48 -07:00
Eric Huss
6441701e5c Stabilize --test-runtool and --test-runtool-arg 2025-03-27 19:04:56 -07:00
Eric Huss
ec25e3300b Rename --runtool and --runtool-arg
This renames `--runtool` and `--runtool-arg` to `--test-runtool` and
`--test-runtool-arg` to maintain consistency with other `--test-*`
arguments.
2025-03-27 19:04:56 -07:00
Adam Greig
3b7d59ad12
Update target maintainers for thumb targets to reflect new REWG Arm team name 2025-03-28 01:54:35 +00:00
Jacob Pratt
0b40e6e2cf
Rollup merge of #139010 - madsmtm:parse-xcrun-better, r=wesleywiser
Improve `xcrun` error handling

The compiler invokes `xcrun` on macOS when linking Apple targets, to find the Xcode SDK which contain all the necessary linker stubs. The error messages that `xcrun` outputs aren't always that great though, so this PR tries to improve that by providing extra context when an error occurs.

Fixes https://github.com/rust-lang/rust/issues/56829.
Fixes https://github.com/rust-lang/rust/issues/84534.
Part of https://github.com/rust-lang/rust/issues/129432.
See also the alternative https://github.com/rust-lang/rust/pull/131433.

Tested on:
- `x86_64-apple-darwin`, MacBook Pro running Mac OS X 10.12.6
    - With no tooling installed
    - With Xcode 9.2
    - With Xcode 9.2 Commandline Tools
- `aarch64-apple-darwin`, MacBook M2 Pro running macOS 14.7.4
    - With Xcode 13.4.1
    - With Xcode 16.2
    - Inside `nix-shell -p xcbuild` (nixpkgs' `xcrun` shim)
- `aarch64-apple-darwin`, VM running macOS 15.3.1
    - With no tooling installed
    - With Xcode 16.2 Commandline Tools

``@rustbot`` label O-apple
r? compiler
CC ``@BlackHoleFox`` ``@thomcc``
2025-03-27 21:41:48 -04:00
mejrs
a9a21bde85 Delete from_method from rustc_on_unimplemented documentation 2025-03-27 18:32:48 +01:00
Stuart Cook
bad12175de
Rollup merge of #138946 - Urgau:platform-support-bottom, r=jieyouxu
Un-bury chapters from the chapter list in rustc book

This PR moves the "Platform Support" section to the bottom of rustc chapter book, as to un-burry chapters from the chapter list, which where hidden by the wall of targets.

| Before | After |
|--------|-------|
| ![image](https://github.com/user-attachments/assets/92769307-eadb-4d9d-bdbb-9e610207eb79) | ![image](https://github.com/user-attachments/assets/1834f5c5-a1e6-4674-9be2-1094d1376eda) |

r? ````@jieyouxu````
2025-03-27 15:57:23 +11:00
Stuart Cook
a07f0d7465
Rollup merge of #138624 - LukasWoodtli:gardena/lw/mipsel-maintainer, r=jieyouxu
Add mipsel maintainer
2025-03-27 15:57:21 +11:00
Mads Marquart
dffb0dbc3e Document how the SDK is found if SDKROOT is not set
I've intentionally used slightly vague language ("roughly"), as we don't
want to guarantee the exact invocation of `xcrun`, just hint that it's
close to that.
2025-03-27 03:34:17 +01:00
Jacob Pratt
f6bfdff862
Rollup merge of #138905 - Gelbpunkt:powerpc64-unknown-linux-musl-maintainer, r=compiler-errors
Add target maintainer information for powerpc64-unknown-linux-musl

We intend to fix the outstanding issues on the target and eventually promote it to tier 2. We have the capacity to maintain this target in the future and already perform regular builds of rustc for this target.

Currently, all host tools except miri build fine, but I have a patch for libffi-sys to make miri also compile fine for this target that is [pending review](https://github.com/tov/libffi-rs/pull/100).

While at it, add an option for the musl root for this target.

I also added a kernel version requirement, which is rather arbitrarily chosen, but it matches our tier 2 powerpc64le-unknown-linux-musl target so I think it is a good fit.
2025-03-25 20:34:49 -04:00