Commit graph

18890 commits

Author SHA1 Message Date
Jubilee
64cfd5b6d2
Rollup merge of #142908 - psumbera:solaris-tr, r=jieyouxu
Fix install-template.sh for Solaris tr

Allow to run install.sh also on Solaris where tr is not GNU tr.
2025-06-23 12:48:22 -07:00
Jubilee
b942c6d291
Rollup merge of #142827 - GuillaumeGomez:tidy-error-code-removal, r=Kobzol
Move error code explanation removal check into tidy

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

This PR replaces a shell script with rust code.

r? ghost
2025-06-23 12:48:21 -07:00
bors
706f244db5 Auto merge of #142907 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-06-23 15:57:38 +00:00
Petr Sumbera
c7bfb114b7 Fix install-template.sh for Solaris tr 2025-06-23 13:16:08 +02:00
Guillaume Gomez
4780f21fe5 Move error code explanation removal check into tidy 2025-06-23 13:16:00 +02:00
Guillaume Gomez
66060e6475 Create new CiInfo type in tidy checks to centralize CI related checks 2025-06-23 13:15:58 +02: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
Eric Huss
74973d72fd Update cargo 2025-06-22 17:43:06 -07: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
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
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
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
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
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
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
Matthias Krüger
24f797ed84
Rollup merge of #142787 - samueltardieu:diag-items-for-clippy, r=Manishearth,Urgau
Add diagnostic items for Clippy

Clippy still uses some paths to access items from the standard library. Adding the missing diagnostic items allows removing the last remaining paths.

Closes rust-lang/rust-clippy#5393
2025-06-21 10:53:26 +02:00
Matthias Krüger
06cc41b4ec
Rollup merge of #142785 - epage:link, r=ehuss
fix(linkcheck): Build using the lockfile

This is to unblock cargo from servo/html5ever#623

I ran `linkcheck.sh` locally and it now works
2025-06-21 10:53:26 +02:00
Matthias Krüger
5f727066d8
Rollup merge of #142502 - nnethercote:rustdoc-json-GenericArgs, r=aDotInTheVoid
rustdoc_json: improve handling of generic args

This PR fixes some inconsistencies and inefficiencies in how generic args are handled by rustdoc-json-types.

r? `@aDotInTheVoid`
2025-06-21 10:53:25 +02:00
Zakaria Elkatani
29a8b831b1 fix: Correct grammar in remove all unused imports assist 2025-06-21 01:48:55 -04:00
Shoyu Vanilla
8329c93bd4 internal: Utilize cargo check --compile-time-deps 2025-06-21 14:36:44 +09:00
Nicholas Nethercote
7fa8901cd0 rustdoc_json: represent generic args consistently.
They show up in three places: once as `Option<Box<GenericArgs>>`, once
as `Box<GenericArgs>`, and once as `GenericArgs`. The first option is
best. It is more compact because generic args are often missing. This
commit changes the latter two to the former.

Example output, before and after, for the `AssocItemConstraint` change:
```
{"name":"Offset","args":{"angle_bracketed":{"args":[],"constraints":[]}},"binding":{...}}
{"name":"Offset","args":null,"binding":{...}}
```
Example output, before and after, for the `Type::QualifiedPath` change:
```
{"qualified_path":{"name":"Offset","args":{"angle_bracketed":{"args":[],"constraints":[]}}, ...}}
{"qualified_path":{"name":"Offset","args":null, ...}}
```
This reduces JSON output size, but not by much (e.g. 0.5%), because
`AssocItemConstraint` and `Type::QualifiedPath` are uncommon.
2025-06-21 13:52:46 +10:00
Trevor Gross
cd85b9d832
Rollup merge of #142677 - GuillaumeGomez:check-format-version-update, r=Kobzol
Add CI check to ensure that rustdoc JSON `FORMAT_VERSION` is correctly updated

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

Tested it locally with: `BASE_COMMIT=1bb335244c311a07cee165c28c553c869e6f64a9 src/ci/docker/host-x86_64/mingw-check-1/validate-rustdoc-json-format-version-update.sh` (where `BASE_COMMIT` value was the commit before I made a wrong change with the `FORMAT_VERSION` update).

This is a first version. I plan to send a follow-up to also ensure that `FORMAT_VERSION` is updated if any code change is done in `rustdoc-json-types`. For that I just need to check that a line not starting with `/` and not an empty line was updated. Fun times with `grep` ahead. :')

cc `@aDotInTheVoid`
r? `@nnethercote`
2025-06-20 23:25:56 -04:00
Trevor Gross
7b355110df
Rollup merge of #142384 - celinval:chores-rayon-mv, r=oli-obk
Bringing `rustc_rayon_core` in tree as `rustc_thread_pool`

This PR moves [`rustc_rayon_core`](5fadf44/rayon-core) from commit `5fadf44` as suggested in [this zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/187679-t-compiler.2Fparallel-rustc/topic/Bringing.20.60rustc_rayon_core.60.20in.20tree). I tried to split the work into separate commits so it is easy to review. The first commit is a simple copy and paste from the fork, and subsequent changes were made to use the new crate and to ensure the new crate complies with different format and lint expectations.

**Call-out:** I was also wondering if I need to make any further changes to accommodate licensing requirements.

r? oli-obk
2025-06-20 23:25:54 -04:00
bors
15c701fbc9 Auto merge of #142794 - tgross35:rollup-iae7okj, r=tgross35
Rollup of 9 pull requests

Successful merges:

 - rust-lang/rust#142331 (Add `trim_prefix` and `trim_suffix` methods for both `slice` and `str` types.)
 - rust-lang/rust#142491 (Rework #[cold] attribute parser)
 - rust-lang/rust#142494 (Fix missing docs in `rustc_attr_parsing`)
 - rust-lang/rust#142495 (Better template for `#[repr]` attributes)
 - rust-lang/rust#142497 (Fix random failure when JS code is executed when the whole file was not read yet)
 - rust-lang/rust#142575 (Ensure copy* intrinsics also perform the static self-init checks)
 - rust-lang/rust#142650 (Refactor Translator)
 - rust-lang/rust#142713 (mbe: Refactor transcription)
 - rust-lang/rust#142755 (rustdoc: Remove `FormatRenderer::cache`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-20 23:09:48 +00:00
Jakub Beránek
31663db896
Rollup merge of #142767 - nnethercote:symbol-cleanups, r=petrochenkov
Some symbol and PathRoot cleanups

I'm looking into unifying how we join and print paths. Here are some preliminary cleanups.

r? ``@petrochenkov``
2025-06-20 20:03:24 +02:00
Zachary S
a7ff98e143 rust-analyzer: Rename LayoutS to LayoutData in comments 2025-06-20 12:50:55 -05:00
Trevor Gross
38600a6640
Rollup merge of #142650 - camsteffen:refactor-translator, r=petrochenkov
Refactor Translator

My main motivation was to simplify the usage of `SilentEmitter` for users like rustfmt. A few refactoring opportunities arose along the way.

* Replace `Translate` trait with `Translator` struct
* Replace `Emitter: Translate` with `Emitter::translator`
* Split `SilentEmitter` into `FatalOnlyEmitter` and `SilentEmitter`
2025-06-20 13:36:01 -04:00
Samuel Tardieu
07338a40de clippy: replace path uses by diagnostic items 2025-06-20 17:53:09 +02:00
Guillaume Gomez
0fc950735a Improve error message for rustdoc_json_types tidy check
Only emit git errors if we are in CI environment
2025-06-20 16:22:05 +02:00
Ed Page
367c8feb48 fix(linkcheck): Build using the lockfile
This is to unblock cargo from servo/html5ever#623
2025-06-20 09:12:30 -05:00
Guillaume Gomez
6367694904 Pass src_path to rustdoc_json tidy check 2025-06-20 15:49:47 +02:00
Guillaume Gomez
bbe8a2ad19 Generate base commit in rustdoc_json tidy checks 2025-06-20 15:49:47 +02:00
Guillaume Gomez
2180503841 Add CI check to ensure that rustdoc JSON FORMAT_VERSION is correctly updated 2025-06-20 15:04:21 +02:00
Lucas Holten
af3f9d1f55 Add better documentation for excluding imports from symbol search 2025-06-20 13:26:59 +02:00
Florian Diebold
808e066ed1
Merge pull request #20046 from regexident/type-param-parent-getter
Add `fn parent(self, db) -> GenericDef` to `hir::TypeParam`
2025-06-20 07:41:04 +00:00
bors
18491d5be0 Auto merge of #142286 - Kobzol:clippy-jemalloc, r=flip1995,blyxyas
Use jemalloc for Clippy

The tool macros are annoying, we should IMO just get rid of them, create separate steps for each tool and (re)use some builders in them to share the build code.

r? `@ghost`
2025-06-20 06:33:35 +00:00
Nicholas Nethercote
b95d39d37a Remove an unnecessary check in rustfmt.
"{{root}}" is an internal-only name, and cannot appear in Rust code
being formatted.
2025-06-20 13:21:07 +10:00
Nicholas Nethercote
1edf201937 Avoid some unnecessary symbol interning.
- `Ident::from_str_and_span` -> `Ident::new` when the string is
  pre-interned.
- `Ident::from_str` -> `Ident::with_dummy_span` when the string is
  pre-interned.
- `_d` and `_e` are unused.
2025-06-20 13:18:41 +10:00
HKalbasi
2a6ace3103
Merge pull request #20035 from joshka/jm/test-explorer-color
Add --color=always to test explorer command
2025-06-20 00:11:57 +00:00
bors
255aa22082 Auto merge of #140748 - m-ou-se:super-format-args3, r=jdonszelmann
Allow storing `format_args!()` in variable

Fixes https://github.com/rust-lang/rust/issues/92698

Tracking issue for super let: https://github.com/rust-lang/rust/issues/139076

Tracking issue for format_args: https://github.com/rust-lang/rust/issues/99012

This change allows:

```rust
let name = "world";
let f = format_args!("hello {name}!"); // New: Store format_args!() for later!

println!("{f}");
```

This will need an FCP.

This implementation makes use of `super let`, which is unstable and might not exist in the future in its current form. However, it is entirely reasonable to assume future Rust will always have _a_ way of expressing temporary lifetimes like this, since the (stable) `pin!()` macro needs this too. (This was also the motivation for merging https://github.com/rust-lang/rust/pull/139114.)

(This is a second version of https://github.com/rust-lang/rust/pull/139135)
2025-06-19 19:13:32 +00:00
Cameron Steffen
3388d83785 Extract SilentEmitter 2025-06-19 13:05:01 -05:00
Cameron Steffen
316f63bc48 Rename SilentEmitter -> FatalOnlyEmitter 2025-06-19 13:03:17 -05:00