Commit Graph

1959 Commits

Author SHA1 Message Date
Matthias Krüger 0988d2465d Rollup merge of #147178 - Walnut356:msvc_enum_summary, r=Mark-Simulacrum
[DebugInfo] Improve formatting of MSVC enum struct variants

More robust handling mirroring the `TupleSummaryProvider` function

before:
<img width="1168" height="28" alt="image" src="https://github.com/user-attachments/assets/994f0884-55c2-4d3d-b1b2-97df17f0c9f0" />

after:
<img width="813" height="31" alt="image" src="https://github.com/user-attachments/assets/8ad3dfa0-3aa7-42a9-bf50-6f5eaf0365aa" />

This shouldn't affect any tests as we don't run debuginfo tests for MSVC afaik
2025-10-12 19:07:46 +02:00
Shunpoco 340702c0c2 write x.py's help for saving output time
Currently x.py help (or x.py --help) builds bootstrap binary everytime, but it delays printing help.
This change saves the current top level help text into a file. x.py help prints the file and doesn't touch bootstrap binary.
x.py test bootstrap checks if the file is up to date.
Note that subcommand level helps (e.g., x.py check --help) aren't saved.
2025-10-11 23:16:18 +01:00
Stuart Cook a3291ede1a Rollup merge of #141839 - tshepang:ease-lsp-use, r=Mark-Simulacrum,fee1-dead
make rust-analyzer use a dedicated build directory

inspired by https://github.com/rust-lang/rust/pull/132794
2025-10-03 09:16:26 +10:00
Walnut 608c6614b1 fix msvc enum summary 2025-10-02 04:17:24 -05:00
Walnut 1f8bef51e3 fix tuple child creation 2025-09-30 03:04:23 -05:00
Shunpoco aef976ed4c Add auto extra-checks in pre-push script
It enables automatic check changes of Python/C++/JS
before pushing the changes to remote repository.
Those checks happen only when the target type of file is changed.
Otherwise it does not install any dependencies (venv and/or node_modules).
Note that shellcheck and spellcheck are not included in this change, because:
1. Unlike venv/node_modules, shellcheck is not installed automatically by the command, and
2. spellcheck is built whenever pre-push script is run, it forces developer to wait extra time
So not to break the current productivity, this commit skips them.
2025-09-27 17:39:06 +01:00
Tshepang Mbambo 24144ff499 make rust-analyzer settings use dedicated directory
This avoids rust-analyzer having to wait for a build lock due to ./x
running other commands (and the other way around).
2025-09-22 21:02:37 +02:00
Michael Howell fcc413f049 htmldocck: fix a bug in relative paths / globs
This bug only shows up when you run htmldocck in a directory other
than outdir, and also use globs. Never happened before, which is
why we're only seeing it now.
2025-09-03 09:09:18 -07:00
Guillaume Gomez c7e6f466cd Rollup merge of #145596 - lumiscosity:optimize-png-files, r=davidtwco
Losslessly optimize PNG files

Losslessly optimizes all of the PNG files in the repo. Done with:

```
oxipng -o max -a -s
oxipng -o max --zopfli -a -s
```
2025-08-26 16:34:12 +02:00
Jacob Pratt 5cfdbd6c08 Rollup merge of #145218 - nilptr:nilptr/feat/lldb-enum-pretty-printer, r=Mark-Simulacrum
[Debuginfo] improve enum value formatting in LLDB for better readability

> TL;DR: When debugging with CodeLLDB, I noticed enum values were often hard to read because LLDB lists every possible variant, resulting in a verbose and cluttered view, even though only one variant is actually valid. Interestingly, raw enum types display nicely. After some investigation, I found that `&enum` values get classified as `Other`, so it falls back to `DefaultSyntheticProvider`, which causes this verbose output.

## What does this PR do?

This PR contains 2 commits:

1. change the enum value formatting from showing 2 separate fields (`value` for attached data and `$discr$` for the discriminator) to a concise `<readable variant name>: <attached data>` format
2. dereference pointer types in `classify_rust_type` so that it can return more accurate type for reference type

## Self-test proof

Before:

<img width="1706" height="799" alt="before" src="https://github.com/user-attachments/assets/b66c7e22-990a-4da5-9036-34e3f9f62367" />

After:

<img width="1541" height="678" alt="after" src="https://github.com/user-attachments/assets/36db32e2-f822-4883-8f17-cb8067e509f6" />
2025-08-22 22:00:49 -04:00
lumiscosity 70e7c058a0 Losslessly optimize PNG files
Losslessly optimizes all of the PNG files in the repo. Done with:

```
oxipng -o max -a -s
oxipng -o max --zopfli -a -s
```
2025-08-21 14:14:30 +02:00
Guillaume Gomez 5a451b8c1c Add new --test-codegen-backend bootstrap option 2025-08-20 12:19:19 +02:00
nilptr 6be749b619 fix: python formatting error 2025-08-17 21:15:18 +08:00
nilptr c39ebeaa0b feat(lldb debug info): deref pointer types for more accurate rust type classification 2025-08-17 21:15:18 +08:00
nilptr 12eb1a0bce feat(lldb debug info): improve enum value formatting in lldb 2025-08-17 21:15:18 +08:00
Michael Howell 8511e40e72 rustdoc-search: search backend with partitioned suffix tree 2025-08-15 10:26:03 -07:00
Josh Triplett 3ecea538cd bootstrap: Update completions for new --timings argument 2025-08-13 22:53:50 -07:00
binarycat ca39010d3e update completions 2025-07-19 14:52:31 -05:00
binarycat a2586f0c80 tidy: running of eslint, tsc, and es-check are now an extra check 2025-07-19 14:44:15 -05:00
Jieyou Xu 647c051fec Regenerate completions after removing ./x suggest 2025-07-15 00:46:34 +08:00
Jakub Beránek 2ec48e0489 Rollup merge of #143850 - fmease:comptest-simp-docck-handling, r=jieyouxu
Compiletest: Simplify {Html,Json}DocCk directive handling

So much more maintainable and extensible.

r? ````@jieyouxu```` as discussed
2025-07-14 11:04:54 +02:00
León Orell Valerian Liehr 25794b14c1 Compiletest: Simplify {Html,Json}DocCk directive handling 2025-07-13 16:00:23 +02:00
Matthias Krüger b4b00c7d10 Rollup merge of #143785 - bjorn3:faster_ra_build_script_build, r=Kobzol
Add --compile-time-deps argument for x check

Together with skipping building C++ code in rustc_llvm for check, this reduces the amount of time it takes to do the x check for rust-analyzer analysis from 12m16s to 3m06s when the bootstrap compiler is already downloaded.
2025-07-13 15:16:00 +02:00
binarycat 507fd38a3f htmldocck: better error messages for negative raw directives 2025-07-11 13:56:18 -05:00
bjorn3 ae1075b9ee Update description for flag 2025-07-11 13:54:44 +00:00
bjorn3 3fe3edbcde Add --compile-time-deps argument for x check
This reduces the amount of time it takes to do the x check for
rust-analyzer analysis from 12m16s to 3m34s when the bootstrap compiler
is already downloaded.
2025-07-11 12:34:17 +00:00
binarycat 64456e07b8 tidy: add auto: prefix to --extra-checks syntax
currently this just uses a very simple
extension-based heirustic.
2025-07-08 16:16:48 -05:00
Jakub Beránek 1a1f56174b Update completions 2025-07-04 22:10:02 +02:00
klensy c76d032f01 setup CI and tidy to use typos for spellchecking and fix few typos 2025-07-03 10:51:06 +03:00
Jakub Beránek aeea2e5c61 Remove unused bootstrap flag 2025-06-18 09:38:28 +02:00
Jakub Beránek f461997cff Rename build to host_target
Host is the machine where bootstrap runs, and this field represents the target of the (host) stage0/beta compiler. This is much clearer than `build`, which also conflicts with the `Build` struct, which is stored under the name `build` inside `Builder` (lol).
2025-06-10 19:44:06 +02:00
Matthias Krüger cfe78d99ae Rollup merge of #141970 - onur-ozkan:skip-stage1-std, r=Kobzol
implement new `x` flag: `--skip-std-check-if-no-download-rustc`

One of our developers (``@RalfJung)`` [reported](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Surprising.20stages.20for.20check.20build.20after.20stage.20reorg/with/521925606)[#t-infra/bootstrap > Surprising stages for check build after stage reorg](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Surprising.20stages.20for.20check.20build.20after.20stage.20reorg/with/521925606) that working on both the compiler and the library simultaneously with RA enabled is extremely difficult because checking library creates a heavy load on machines (by building stage1 compiler) on each modification. `--skip-std-check-if-no-download-rustc` flag is intended to reduce this heavy load on their IDE integration as much as possible.

Fixes: rust-lang/rust#141955
2025-06-05 12:21:34 +02:00
onur-ozkan c843bec230 update skip_std_check_if_no_download_rustc doc-comments
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-06-04 15:29:00 +03:00
Derukugi d88c6dbb30 Add link to correct documentation in htmldocck.py
Fix typo in src/etc/htmldocck.py

Co-authored-by: León Orell Valerian Liehr <me@fmease.dev>

Change documentation link to the correct section in src/etc/htmldocck.py

Co-authored-by: León Orell Valerian Liehr <me@fmease.dev>

Remove all top-level docs from htmldocck.py
2025-06-04 20:05:13 +10:00
onur-ozkan f1e6afdc4c bless tidy
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-06-03 19:22:28 +03:00
onur-ozkan 59fbe04a52 move test-float-parse tool into src/tools dir
Obviously `test-float-parse` is a tool like any other in `src/tools`.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-06-03 11:05:51 +03:00
Jieyou Xu 8788b6a4ad test-float-parse: apply cfg(not(bootstrap))
Prior to stage 0 redesign, `test-float-parse` ran against in-tree std
but now it runs against beta std. `f16::FromStr` were only present in
in-tree std and not yet beta std, so apply `cfg(not(bootstrap))` gating
to unbrick `./x check --stage=0`.
2025-06-02 20:45:14 +08:00
bors 163cb4ea3f Auto merge of #141062 - ChaiTRex:ide_fmt_2024, r=Mark-Simulacrum
Update IDEs to use rustfmt 2024, fix Zed settings

Update IDEs to use rustfmt 2024, fix Zed settings

- Update IDE `rust-analyzer` settings to use 2024 rather than 2021.
- Fix Zed settings by removing `${workspaceFolder}/` from paths.
2025-05-23 11:15:24 +00:00
Trevor Gross 250869e909 float: Add f16 to test-float-parse
This requires a fix to the subnormal test to cap the maximum allowed
value within the maximum mantissa.
2025-05-18 16:51:28 +00:00
Chai T. Rex a6bf524975 Update IDEs to use rustfmt 2024, fix Zed settings
- Update IDE `rust-analyzer` settings to use 2024 rather than 2021.
- Fix Zed settings by removing `${workspaceFolder}/` from paths.
2025-05-15 20:38:03 -04:00
Chris Denton 8955c6c6ee Rollup merge of #139843 - thaliaarchi:editor-file-associations, r=Mark-Simulacrum
Setup editor file associations for non-rs extensions

.gitattributes lists `*.fixed`, `*.pp`, and `*.mir` as file extensions which should be treated as Rust source code. Do the same for VS Code and Zed. This only does syntax highlighting, which is appropriate, as MIR isn't really Rust code.

At the same time, consistently order `rust-analyzer.linkedProjects` between editors. For some reason, Eglot didn't include `library/Cargo.toml`.

I have tested this with VS Code and Zed. I have not implemented it for Emacs/Eglot or Helix.
2025-04-19 19:30:47 +00:00
Mara Bos 5523c87c41 Update libcore.natvis for Pin. 2025-04-17 21:16:58 +02:00
Thalia Archibald d1e82ba37c Setup editor file associations for non-rs extensions
.gitattributes lists *.fixed, *.pp, and *.mir as file extensions which
should be treated as Rust source code. Do the same for VS Code and Zed.
This only does syntax highlighting, which is appropriate, as MIR isn't
really Rust code.

At the same time, consistently order `rust-analyzer.linkedProjects`
between editors. For some reason, Eglot didn't include
library/Cargo.toml.
2025-04-14 23:16:11 -07:00
Stuart Cook 82f04468e9 Rollup merge of #139214 - bjorn3:edition_2024_rustfmt, r=compiler-errors
Tell rustfmt to use the 2024 edition in ./x.py fmt

Most crates in this repo have been moved to the 2024 edition already. This also allows removing a rustfmt exclusion for a cg_clif test.
2025-04-02 13:10:42 +11:00
bjorn3 770fcbf8c1 Move test-float-parse to the 2024 edition 2025-04-01 14:49:14 +00:00
highcloudwind 624eb8550b chore: remove redundant backtick
Signed-off-by: highcloudwind <highcloud@aliyun.com>
2025-04-01 21:05:34 +08:00
Jacob Pratt 0fc6279ce9 Rollup merge of #138606 - heiseish:131365-extended, r=Mark-Simulacrum
Fix missing rustfmt in msi installer - cont

## Context
- This PR extended and fixed https://github.com/rust-lang/rust/pull/131365, which was reverted in https://github.com/rust-lang/rust/pull/135253
- Initial effort from `@klensy` in https://github.com/rust-lang/rust/pull/135255 (at any points if you feel like picking this up again, let me know I'll close my PR! Just trying to push this through since it's my mistake in the original commits)
- Tested with both `beta` and `nightly` `rust.channel`

r? `@Mark-Simulacrum`
2025-03-23 20:44:11 -04:00
onur-ozkan b5eaeafc8b update completion files
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-20 14:03:40 +03:00
klensy 43152ad47b wix: allow to skip more components 2025-03-17 19:30:09 +08:00
Giang Dao a56b1d2a13 fix missing rustfmt and clippy for msi 2025-03-17 19:30:08 +08:00