Commit graph

163462 commits

Author SHA1 Message Date
Lukas Wirth
1fffcff006
Merge pull request #20080 from Veykril/push-vnrwqppplykm
Cleanup `folding_ranges` and support more things
2025-06-24 08:02:55 +00:00
Lukas Wirth
40aeda9e1f Cleanup folding_ranges and support more things 2025-06-24 09:51:44 +02:00
Lukas Wirth
e8388b0080
Merge pull request #20061 from ChayimFriedman2/wrap-ret-ty
fix: In "Wrap return type" assist, don't wrap exit points if they already have the right type
2025-06-24 07:16:46 +00:00
Lukas Wirth
04c908948c
Merge pull request #20064 from Wilfred/document_sysroot_project
Document sysroot_project field in rust-project.json
2025-06-24 07:15:19 +00:00
Lukas Wirth
bb164bf699
Merge pull request #20036 from Veykril/push-yquvoyrxkksx
Do not default to 'static for trait object lifetimes
2025-06-24 06:59:54 +00:00
Lukas Wirth
1d3b517a78 Do not default to 'static for trait object lifetimes
We lack trait object default lifetime elision, so `'static` can be wrong at times, confusing the user
2025-06-24 08:49:24 +02:00
Lukas Wirth
c30af1ba43
Merge pull request #20062 from ChayimFriedman2/doctests
minor: Don't run doctests
2025-06-24 06:47:24 +00:00
Lukas Wirth
7ce7c2eed6
Merge pull request #20072 from Veykril/push-sorvvvzskywv
fix: Respect `.cargo/config.toml` `build.target-dir`
2025-06-24 05:50:47 +00:00
Laurențiu Nicola
c75104957e
Merge pull request #20076 from ChayimFriedman2/faq
docs: Add troubleshooting FAQ to the book
2025-06-23 18:27:36 +00:00
Chayim Refael Friedman
e40aa42f3b Add troubleshooting FAQ to the book
And one frequently asked question.
2025-06-23 21:16:21 +03:00
Lukas Wirth
c37994c726 fix: Respect .cargo/config.toml build.target-dir 2025-06-23 19:47:52 +02:00
Shoyu Vanilla
b3c79137c1 fix: Use ROOT hygiene for args inside new format_args! expansion 2025-06-24 01:10:32 +09:00
Lukas Wirth
6c3a870545
Merge pull request #20069 from Veykril/push-mnqkqxomtlxn
fix: Fix cargo project manifest not pointing to the workspace root
2025-06-23 12:19:41 +00:00
Lukas Wirth
d0ebff0430 fix: Fix cargo project manifest not pointing to the workspace root 2025-06-23 14:04:57 +02:00
Wilfred Hughes
18855c9775 Document sysroot_project field in rust-project.json 2025-06-23 10:43:45 +01:00
Laurențiu Nicola
3c4a690d01 Merge from rust-lang/rust 2025-06-23 12:17:31 +03:00
Laurențiu Nicola
3db7cffd54 Preparing for merge from rust-lang/rust 2025-06-23 12:17:08 +03:00
bors
22be76b7e2 Auto merge of #142901 - matthiaskrgr:rollup-topt4p6, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - rust-lang/rust#141597 (Document subdirectories of UI tests with README files)
 - rust-lang/rust#142823 (Port `#[no_mangle]` to new attribute parsing infrastructure)
 - rust-lang/rust#142828 (1.88.0 release notes)
 - rust-lang/rust#142854 (centralize `-Zmin-function-alignment` logic)
 - rust-lang/rust#142875 (Check rustdoc-json-types FORMAT_VERSION is correctly updated)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-23 06:37:23 +00:00
Matthias Krüger
110492092c
Rollup merge of #142875 - GuillaumeGomez:rustdoc-json-types-version-update, r=Kobzol
Check rustdoc-json-types FORMAT_VERSION is correctly updated

Follow-up of https://github.com/rust-lang/rust/pull/142677.

``@nnethercote`` suggested that we should also ensure that the `FORMAT_VERSION` was only increased by 1 and we should check for it, this PR does it.

cc ``@aDotInTheVoid``
r? ghost
2025-06-23 06:07:21 +02:00
Matthias Krüger
9b6665fafa
Rollup merge of #142823 - JonathanBrouwer:no_mangle_parser, r=jdonszelmann
Port `#[no_mangle]` to new attribute parsing infrastructure

Ports `no_mangle` to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197

r? ``@jdonszelmann``
2025-06-23 06:07:19 +02:00
Matthias Krüger
f63fdde764
Rollup merge of #141597 - Oneirical:unquestionable-instruction, r=jieyouxu
Document subdirectories of UI tests with README files

Part of rust-lang/rust#133895 and the [2025 Google Summer of Code](https://blog.rust-lang.org/2025/05/08/gsoc-2025-selected-projects/) associated project.

When adding a new UI test, one is faced with hundreds of subdirectories in `tests/ui` reflecting various categories. Knowing where to put the new test is not trivial, as many of the categories have slightly misleading names. For example, `moves` does not only refer to the `move` keyword but to functions taking ownership in general, whereas `allocator` does not refer to allocation in general but rather to the very specific `allocator_api` and `global_allocator` features.

Many contributors will therefore place their test at the top level of ̀`tests/ui` where it will be mixed with hundreds of unrelated tests.

This PR is a tentative move towards more clearly defined tag/categories, with a SUMMARY.md file documenting the true purpose of each subdirectory, placed inside `tests/ui`.

r? ``@jieyouxu``
2025-06-23 06:07:19 +02:00
Eric Huss
74973d72fd Update cargo 2025-06-22 17:43:06 -07:00
Chayim Refael Friedman
a78bc7cb64 Don't run doctests 2025-06-23 00:50:22 +03:00
Chayim Refael Friedman
47b29ea0c0 In "Wrap return type" assist, don't wrap exit points if they already have the right type 2025-06-23 00:45:40 +03:00
Jonathan Brouwer
2084831cd5
Port #[no_mangle] to new attribute parsing infrastructure
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-22 22:17:04 +02:00
Oneirical
b433aba3df Add a SUMMARY.md outlining immediate subdirectories of the ui test suite
Co-authored-by: Jieyou Xu <jieyouxu@outlook.com>
2025-06-22 12:18:22 -04:00
Guillaume Gomez
8da1a6290d
Rollup merge of #142877 - yotamofek:pr/rustdoc/comment-eslint-installation-req, r=GuillaumeGomez
Document why tidy checks if `eslint` is installed via `npm`

Discussion here: rust-lang/rust#142851
2025-06-22 17:35:37 +02:00
Guillaume Gomez
f1fa46d3ba
Rollup merge of #142868 - klensy:dc, r=oli-obk
remove few allow(dead_code)

Few from serial/parallel compiler leftovers and few from bootstrap.
2025-06-22 17:35:36 +02:00
Yotam Ofek
90524da730 Document why tidy checks if eslint is installed via npm 2025-06-22 15:18:58 +00:00
Guillaume Gomez
1a3cba8384 Check rustdoc-json-types FORMAT_VERSION correct change 2025-06-22 16:47:40 +02:00
Jonathan Brouwer
b24df42488
Port #[must_use] to new attribute parsing infrastructure
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-22 14:51:58 +02:00
klensy
d092dc9381 remove few from bootstrap too 2025-06-22 13:24:05 +03:00
Jacob Pratt
bf63acfd35
Rollup merge of #142776 - dtolnay:hirattrstyle2, r=jdonszelmann
All HIR attributes are outer

Fixes https://github.com/rust-lang/rust/issues/142649. Closes https://github.com/rust-lang/rust/pull/142759.

All HIR attributes, including parsed and not yet parsed, will now be rendered as outer attributes by `rustc_hir_pretty`. The original style of the corresponding AST attribute(s) is not relevant for pretty printing, only for diagnostics.

r? ````@jdonszelmann````
2025-06-22 08:49:05 +02:00
Jacob Pratt
b5b106ab91
Rollup merge of #142747 - nnethercote:json-conversion-cleanups, r=aDotInTheVoid
rustdoc_json: conversion cleanups

A bunch of clean-to-types conversion cleanups I found while working on perf-related stuff in rustdoc_json.

r? ```@aDotInTheVoid```
2025-06-22 08:49:05 +02:00
Jacob Pratt
aef8a76ce0
Rollup merge of #140254 - bjorn3:rustc_panic_abort_abort, r=petrochenkov
Pass -Cpanic=abort for the panic_abort crate

The panic_abort crate must be compiled with panic=abort, but cargo doesn't allow setting the panic strategy for a single crate the usual way using `panic="abort"`, but luckily per-package rustflags do allow this. Bootstrap previously handled this in its rustc wrapper, but for example the build systems of cg_clif and cg_gcc don't use the rustc wrapper, so they would either need to add one, patch the standard library or be unable to build a sysroot suitable for both panic=abort and panic=unwind (as is currently the case).

Required for https://github.com/rust-lang/rustc_codegen_cranelift/issues/1567
2025-06-22 08:49:03 +02:00
Chayim Refael Friedman
9a0434ec19
Merge pull request #20056 from ShoyuVanilla/fmt-args-new
Minic rustc's new `format_args!` expansion
2025-06-22 04:35:11 +00:00
Shoyu Vanilla
03a8268286 Minic rustc's new format_args! expansion 2025-06-22 13:22:28 +09:00
Shoyu Vanilla
17a8ba905b Implement region negation to minicore and add a flag fmt_before_1_89_0 2025-06-22 12:01:19 +09:00
bors
8051f01265 Auto merge of #141856 - folkertdev:run-make-forward-compiletest-runner, r=jieyouxu
forward the bootstrap `runner` to `run-make`

The runner was already forwarded to `compiletest`, this just passes it on to `run-make` and uses it in the `run` functions.

The configuration can look like this

```toml
# in bootstrap.toml
[target.s390x-unknown-linux-gnu]
runner = "qemu-s390x -L /usr/s390x-linux-gnu"
```

Any C compilation automatically sets the correct target. Calls to rustc must use `.target(target())`. Then, a command like below will work by cross-compiling to the given target, and using the given runner for that target to execute the binary:

```
./x test tests/run-make/c-link-to-rust-va-list-fn --target s390x-unknown-linux-gnu
```

The runner can also be used for e.g. running with `valgrind`.

This PR also enables its use in the test case that I care about, hopefully that actually does work on the platforms that CI uses. We should probably run some try jobs to be sure?

r? `@jieyouxu`

try-job: test-various
try-job: armhf-gnu
2025-06-22 02:21:13 +00:00
Folkert de Vries
0d4abfc7cc
forward the bootstrap runner to run-make
The runner was already forwarded to `compiletest`, this just passes it on to `run-make` and uses it in the `run` functions.
2025-06-22 01:37:51 +02:00
bors
fa2f3552da Auto merge of #142667 - yotamofek:pr/rustdoc/more-write-shared-perf, r=nnethercote
Avoid a few more allocations in `write_shared.rs`

Inspired by rust-lang/rust#141421 , avoids a few `Vec`, `PathBuf` and `String` allocations in `write_shared.rs`. I don't think these will show up on benchmarks, but are still worthwhile IMHO.
Also includes a few small cleanups.
r? nnethercote - if you'd like :)
2025-06-21 23:18:00 +00:00
Nicholas Nethercote
2878e1cba3 Rename some methods.
- `convert_static` -> `from_clean_static`
- `from_function` -> `from_clean_function`

To match the pre-existing `from_clean_item` and `FromClean::from_clean`.

I left `JsonRenderer::convert_item` unchanged because it's a bit
different.
2025-06-22 07:36:58 +10:00
Nicholas Nethercote
88388f45d6 Use FromClean more.
The `FromClean` trait is used a lot for converting to rustdoc-json
format. But it's not used universally; there are still some ad hoc
functions and methods for converting. This commit fixes this
inconsistency by using `FromClean` more.

The commit also introduces `FromClean` for `Box` and `Option`. This lets
a lot of `as_ref` and `map` calls be removed in favour of simple
`into_json` calls.
2025-06-22 07:36:57 +10:00
Nicholas Nethercote
9a597743ef Remove some code.
It's just replicating exactly what is done by `<Vec<GenericParamDef> as
FromClean>::into_json`
2025-06-22 07:36:57 +10:00
Nicholas Nethercote
4736142c48 Remove some dead code.
We currently have both `FromClean<clean::Constant> for Constant` and
`FromClean<clean::ConstantKind> for Constant` which are basically
identical, but the former is unused.
2025-06-22 07:36:57 +10:00
Nicholas Nethercote
6854f7d89a Use sym::asterisk to avoid a Symbol::intern call. 2025-06-22 07:36:57 +10:00
Chayim Refael Friedman
3fb8acb552
Merge pull request #20050 from LHolten/better-docs-for-exclude-imports-in-symbol-search
Add better documentation for excluding imports from symbol search
2025-06-21 20:34:56 +00:00
David Tolnay
6729b667ce
All HIR attributes are outer 2025-06-21 11:11:34 -07:00
Lukas Wirth
110bacdb4f
Merge pull request #20047 from ShoyuVanilla/comp-time-deps
internal: Utilize `cargo check --compile-time-deps`
2025-06-21 09:19:44 +00:00
Matthias Krüger
4e87031f2e
Rollup merge of #142804 - zachs18:rename-layouts-to-layoutdata-in-comments, r=saethlin
Rename `LayoutS` to `LayoutData` in comments

`LayoutS` was renamed to `LayoutData`, but some comments in the compiler were not changed. This updates comments in the compiler (and one section of commented-out code in rust-analyzer) to refer to `LayoutData` instead of `LayoutS`.

cc <https://github.com/rust-lang/rust/pull/132252>, `@workingjubilee`
2025-06-21 10:53:28 +02:00