Commit Graph

2663 Commits

Author SHA1 Message Date
bors 27dffea545 Auto merge of #137215 - onur-ozkan:rustc-tool-build-stages, r=jieyouxu,Kobzol
stabilize stage management for rustc tools

https://github.com/rust-lang/rust/pull/135990 got out of control due to excessive complexity. This PR aims to achieve the same goal with a simpler approach, likely through multiple smaller PRs. I will keep the other one read-only and open as a reference for future work.

This work stabilizes the staging logic for `ToolRustc` programs, so you no longer need to handle build and target compilers separately in steps. Previously, most tools didn't do this correctly, which was causing the compiler to be built twice (e.g., `x test cargo --stage 1` would compile the stage 2 compiler before, but now it only compiles the stage 1 compiler).

I also tried to document how we should write `ToolRustc` steps as they are quite different and require more attention than other tools.

Next goal is to stabilize how stages are handled for the rustc itself. Currently, `x build --stage 1` builds the stage 1 compiler which is fine, but `x build compiler --stage 1` builds stage 2 compiler.

~~for now, r? ghost~~
2025-02-23 05:03:26 +00:00
Deadbeef 4f88394545 Rewrite effects checking chapter 2025-02-20 21:39:45 +08:00
Matthias Krüger 9d7d3f90be
Rollup merge of #137227 - epage:features_untracked, r=compiler-errors
docs(dev): Update the feature-gate instructions

`features_untracked` was removed in #114723

features are now functions as of  #132027
2025-02-19 18:52:08 +01:00
Matthias Krüger c4d5fa6a0e
Rollup merge of #127793 - ChaiTRex:zed_support, r=Kobzol
Added project-specific Zed IDE settings

This repository currently has project-specific VS Code IDE settings in `.vscode` and `compiler/rustc_codegen_cranelift/.vscode`. Now there are equivalent project-specific Zed IDE settings alongside those.

This fixes `rust-analyzer` not being able to properly handle this project.

Note that:

1. The contents of `src/tools/rust-analyzer/.vscode` could not be translated to Zed, as they aren't basic IDE settings.
2. One of the VS Code settings in `.vscode` has no corresponding setting in Zed, and so this has been noted like this:

    ```json
      "_settings_only_in_vs_code_not_yet_in_zed": {
        "git.detectSubmodulesLimit": 20
      },
    ```
2025-02-19 18:52:03 +01:00
onur-ozkan 97b80c80d1 add rustc-dev doc about bootstrap tools
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-02-19 09:03:35 +03:00
Ed Page 1520629844 docs(dev): Access features as functions, not members
This was changed in #132027
2025-02-18 10:35:13 -06:00
Ed Page 209dd46dad docs(dev): Remove reference to features_untracked
This was removed in #114723
2025-02-18 10:28:36 -06:00
Chai T. Rex 019264fc55 Add Zed to dev guide suggested workflows page 2025-02-17 23:56:38 -05:00
Jakub Beránek 912575e174
Update documentation 2025-02-17 12:27:44 +01:00
许杰友 Jieyou Xu (Joe) 141a8a1962 rustc-dev-guide: document `COMPILER` and `COMPILER_FOR` tracing targets 2025-02-16 18:47:57 +08:00
Florian Brucker 1979d85189 Fix examples to work with nightly-2025-02-13
While there were comments indicating which nightly versions the examples
were tested with, those versions did not work for me: neither did the
examples compile, nor did they produce the expected output.

This commit fixes the compilation issues, using nightly-2025-02-13 for
all examples (previously the version differed between the examples) and,
in the case of the `rustc_driver` examples, also fixes the argument
passing: rustc ignores the first argument, so we need to pass the
filename as the second (otherwise we only get the help text printed).

Note that the `rustc-interface-getting-diagnostics.rs` example still
does not produce any output, which I assume is not how it is intended.
However, I don't know enough to fix it.

To avoid inconsistencies between the documented version and the actually
required version I've moved the version comment from the Markdown into
the Rust code where it hopefully won't be forgotten as easily.

Finally I've clarified in the examples' README that you also need to use
the proper nightly version when compiling the examples, not just when
running them.
2025-02-15 19:44:32 +01:00
许杰友 Jieyou Xu (Joe) f32fc55183 rustc-dev-guide: document `{ignore,only}-rustc_abi-x86-sse2` 2025-02-15 23:17:07 +08:00
许杰友 Jieyou Xu (Joe) ad2eb5504e
Merge pull request #2252 from chenyukang/fix-perf
Add note for perf issue
2025-02-14 17:56:04 +08:00
Martin Liska 362246d1a8 Fix borked link 2025-02-14 07:23:10 +01:00
yukang b353b6e10a add notes for perf issue 2025-02-14 13:49:02 +08:00
Jubilee 2ddb2f8565
Rollup merge of #136924 - Kobzol:bootstrap-tracing, r=jieyouxu
Add profiling of bootstrap commands using Chrome events

Since we now have support for tracing in bootstrap, and the execution of most commands is centralized within a few functions, it's quite trivial to also trace command execution, and visualize it using the Chrome profiler. This can be helpful both to profile what takes time in bootstrap and also to get a visual idea of what happens in a given bootstrap invocation (since the execution of external commands is usually the most interesting thing).

This is how it looks:
![image](https://github.com/user-attachments/assets/3351489e-3a0f-4729-9082-5bf40c586d4b)

I first tried to use [tracing-flame](https://github.com/tokio-rs/tracing/tree/master/tracing-flame), but the output wasn't very useful, because the event/stackframe names were bootstrap code locations, instead of the command contents.

r? ``@jieyouxu``
2025-02-13 21:37:51 -08:00
bors 812566df01 Auto merge of #136593 - lukas-code:ty-value-perf, r=oli-obk
valtree performance tuning

Summary: This PR makes type checking of code with many type-level constants faster.

After https://github.com/rust-lang/rust/pull/136180 was merged, we observed a small perf regression (https://github.com/rust-lang/rust/pull/136318#issuecomment-2635562821). This happened because that PR introduced additional copies in the fast reject code path for consts, which is very hot for certain crates: 6c1d960d88/compiler/rustc_type_ir/src/fast_reject.rs (L486-L487)

This PR improves the performance again by properly interning the valtrees so that copying and comparing them becomes faster. This will become especially useful with `feature(adt_const_params)`, so the fast reject code doesn't have to do a deep compare of the valtrees.

Note that we can't just compare the interned consts themselves in the fast reject, because sometimes `'static` lifetimes in the type are be replaced with inference variables (due to canonicalization) on one side but not the other.

A less invasive alternative that I considered is simply avoiding copies introduced by https://github.com/rust-lang/rust/pull/136180 and comparing the valtrees it in-place (see commit: 9e91e50ac5 / perf results: https://github.com/rust-lang/rust/pull/136593#issuecomment-2642303245), however that was still measurably slower than interning.

There are some minor regressions in secondary benchmarks: These happen due to changes in memory allocations and seem acceptable to me. The crates that make heavy use of valtrees show no significant changes in memory usage.
2025-02-13 15:27:30 +00:00
Jakub Beránek 470a207ef0 Document bootstrap profiling 2025-02-13 13:36:31 +01:00
Jacob Pratt ae56be98d4
Rollup merge of #136858 - safinaskar:parallel-cleanup-2025-02-11-07-54, r=SparrowLii
Parallel-compiler-related cleanup

Parallel-compiler-related cleanup

I carefully split changes into commits. Commit messages are self-explanatory. Squashing is not recommended.

cc "Parallel Rustc Front-end" https://github.com/rust-lang/rust/issues/113349

r? SparrowLii

``@rustbot`` label: +WG-compiler-parallel
2025-02-13 03:53:31 -05:00
jyn 356e4816b2 document bootstrap logging 2025-02-12 21:03:34 -05:00
Lukas Markeffsky db57a5f454 intern valtrees 2025-02-13 00:38:17 +01:00
Guillaume Gomez b54679e461
Rollup merge of #136871 - madsmtm:link-to-lang-procedures, r=scottmcm
dev-guide: Link to `t-lang` procedures for new features

I was confused in https://github.com/rust-lang/rust/pull/136867, because while I did remember that such a procedure existed, but I couldn't seem to find it in the dev guide.
2025-02-12 20:30:53 +01:00
bors a071c7c0c8 Auto merge of #135336 - tshepang:patch-5, r=jieyouxu
clarify and document needs-dynamic-linking

try-job: test-various
2025-02-12 15:39:48 +00:00
Tshepang Mbambo 5cb9ff172f document the directive 2025-02-11 22:05:40 +02:00
Mads Marquart 66e5b92c31 dev-guide: Link to t-lang procedures for new features 2025-02-11 15:49:04 +01:00
Askar Safin eeec2f4b40 src/doc/rustc-dev-guide/src/parallel-rustc.md: remove Arc and Rc (it seems they are left-over after my PR) 2025-02-11 09:25:46 +03:00
Askar Safin f0bcb73760 compiler/rustc_data_structures/src/sync.rs: remove atomics, but not AtomicU64! 2025-02-11 08:57:36 +03:00
Askar Safin efa3dae1e1 compiler/rustc_data_structures/src/sync.rs: delete Weak 2025-02-11 08:28:28 +03:00
Askar Safin 844a47ab9f compiler/rustc_data_structures/src/sync.rs: delete MappedLockGuard
It seems it is left-over after some refactoring
2025-02-11 08:24:50 +03:00
The rustc-dev-guide Cronjob Bot 26a4c95a7e Merge from rustc 2025-02-10 04:02:38 +00:00
Urgau ce1d055f2f
Rollup merge of #136530 - Kobzol:x-perf, r=onur-ozkan
Implement `x perf` directly in bootstrap

Discussed [here](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Turning.20.60x.20perf.60.20into.20a.20first.20class.20command).

Implementing the command directly in bootstrap let's us correctly build the compiler toolchain based on input arguments (such as include rustdoc in the toolchain [only] when needed), and it also makes the CLI interface nicer.

r? ``@onur-ozkan``
2025-02-09 00:37:27 +01:00
Martin Liska dc919f8296 Remove reference to enum.Reveal 2025-02-07 09:03:22 +01:00
Michael Howell 9143d8d6c8 Update links to type schemas
What used to be in externs.js is now in rustdoc.d.ts.
2025-02-06 08:29:10 -07:00
MarcoIeni 8a6fd47a85
improve CI cache docs 2025-02-06 14:59:43 +01:00
Martin Liska aba092fd08 Replace link with a https based one 2025-02-06 09:12:42 +01:00
Jakub Beránek 0238431e20 Update rustc-dev-guide 2025-02-05 15:33:40 +01:00
许杰友 Jieyou Xu (Joe) b6a1fa4401
Merge pull request #2242 from DuskyElf/master 2025-02-04 04:30:57 +08:00
Tshepang Mbambo b3c5e9c734
overlong line 2025-02-03 22:07:10 +02:00
Rehmatpal Singh 2790e9aed6
Remove "Port run-make tests from Make to Rust" tracking issue from Recurring work 2025-02-04 01:26:15 +05:30
Askar Safin 9f683c9070 tree-wide: parallel: Fully removed all `Lrc`, replaced with `Arc` 2025-02-03 13:25:57 +03:00
Yuki Okushi 9350966973
Merge pull request #2236 from rust-lang/rustc-pull 2025-02-02 17:31:01 +09:00
Yuki Okushi 198de243e1
Apply suggestions from code review 2025-02-02 17:30:30 +09:00
nora cccaff7377
Merge pull request #2233 from chiichen/nix-shell-dev
Use a more convinient way of developing rustc on NixOS
2025-02-02 08:52:17 +01:00
Jakub Beránek c1b96f0f88 Reword submodule handling 2025-02-01 16:42:28 +01:00
bors be693b567c Auto merge of #136350 - matthiaskrgr:rollup-6eqfyvh, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #134531 ([rustdoc] Add `--extract-doctests` command-line flag)
 - #135860 (Compiler: Finalize dyn compatibility renaming)
 - #135992 (Improve documentation when adding a new target)
 - #136194 (Support clobber_abi in BPF inline assembly)
 - #136325 (Delay a bug when indexing unsized slices)
 - #136326 (Replace our `LLVMRustDIBuilderRef` with LLVM-C's `LLVMDIBuilderRef`)
 - #136330 (Remove unnecessary hooks)
 - #136336 (Overhaul `rustc_middle::util`)
 - #136341 (Remove myself from vacation)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-31 20:16:46 +00:00
Matthias Krüger 30c56c6e2b
Rollup merge of #135992 - madsmtm:new-target-docs, r=jieyouxu
Improve documentation when adding a new target

https://github.com/rust-lang/rust/pull/133631#issuecomment-2607877936 shows that it can be a bit difficult process-wise to add a new target.

I've added a bit of text to the docs, suggesting that users add the target defintion/spec first, and later work on `std` support.

I also found that we have two places where we document how to add a new target. I've linked these for now, but they should probably be merged somehow in the future.

`@rustbot` label A-docs
r? compiler
CC `@workingjubilee` who's worked a lot on target specs IIRC.
2025-01-31 12:28:16 +01:00
bors fb72badc0b Auto merge of #136332 - jhpratt:rollup-aa69d0e, r=jhpratt
Rollup of 9 pull requests

Successful merges:

 - #132156 (When encountering unexpected closure return type, point at return type/expression)
 - #133429 (Autodiff Upstreaming - rustc_codegen_ssa, rustc_middle)
 - #136281 (`rustc_hir_analysis` cleanups)
 - #136297 (Fix a typo in profile-guided-optimization.md)
 - #136300 (atomic: extend compare_and_swap migration docs)
 - #136310 (normalize `*.long-type.txt` paths for compare-mode tests)
 - #136312 (Disable `overflow_delimited_expr` in edition 2024)
 - #136313 (Filter out RPITITs when suggesting unconstrained assoc type on too many generics)
 - #136323 (Fix a typo in conventions.md)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-31 09:42:28 +00:00
Ryan Cumming 55cd18d5cc
Fix a typo in conventions.md
Introduced in #135950
2025-01-31 10:23:46 +11:00
Jakub Beránek a0505b3e7d Rewrite section on executing Docker tests 2025-01-30 18:33:34 +01:00
Michael Goulet 0cd4069ee4 Rework rustc_dump_vtable 2025-01-30 15:30:04 +00:00
bors 9cefcea1ce Auto merge of #136038 - compiler-errors:outlives, r=lcnr
Simplify and consolidate the way we handle construct `OutlivesEnvironment` for lexical region resolution

This is best reviewed commit-by-commit. I tried to consolidate the API for lexical region resolution *first*, then change the API when it was finally behind a single surface.

r? lcnr or reassign
2025-01-30 11:40:32 +00:00
chiichen 72ceb939b3 feat: modify developing with nix section 2025-01-30 18:03:27 +08:00
chiichen a14bbfbea9 chore: discard padding white space 2025-01-30 18:02:58 +08:00
Boxy f61d56ba4d
Rustc pull 2025-01-29 16:46:09 +00:00
许杰友 Jieyou Xu (Joe) ea884accae
Merge pull request #2227 from Joren-vanGoethem/master 2025-01-29 05:03:36 +00:00
许杰友 Jieyou Xu (Joe) 5000a7027c
Merge pull request #2231 from yegeunyang/#2069 2025-01-29 05:02:55 +00:00
yegeunyang 2332c8e114 Touch up a sentence 2025-01-28 22:56:52 -06:00
许杰友 Jieyou Xu (Joe) ed1fc5d8e1
Merge pull request #2232 from yegeunyang/#2114
Add a link to declare_lint! macro doc in diagnostics.md
2025-01-29 04:08:54 +00:00
yegeunyang 7e74e43eaa Add link to declare_lint! macro 2025-01-28 21:05:12 -06:00
yegeunyang 930c6a61e3 Add "Writing tests" section 2025-01-28 20:42:26 -06:00
Michael Goulet cd9a8cc9c3 Move outlives env computation into methods 2025-01-28 18:55:03 +00:00
Michael Howell bc8f00367e Add some extra pointers for rustdoc frontend devs 2025-01-28 11:04:26 -07:00
Boxy b98da0d8e3 Merge from rustc 2025-01-28 11:57:19 +00:00
Joren-vanGoethem 636c5b1a4d
Update about-this-guide.md 2025-01-28 07:43:16 +01:00
Eric Huss ae3a58a13a
Correct information on dylib compression
Compression of dylibs was removed in https://github.com/rust-lang/rust/pull/113695 (and decompression removed in https://github.com/rust-lang/rust/pull/132402).
2025-01-26 12:08:48 -08:00
许杰友 Jieyou Xu (Joe) a86a368f0f rustc-dev-guide: update bootstrap tracing docs 2025-01-27 01:24:53 +08:00
León Orell Valerian Liehr 3ffcf606a9
Remove accidental leading empty line in code block 2025-01-26 02:42:09 +01:00
Eric Huss 684424aeef Update boring lines to sync with rustdoc 2025-01-25 13:49:32 -08:00
Matthias Krüger eda1e03c12
Rollup merge of #135829 - Kobzol:rustc-push, r=jieyouxu
Rustc dev guide subtree update

r? ``@ghost``
2025-01-24 23:25:44 +01:00
Matthias Krüger 3dcb2ad5d9
Rollup merge of #135950 - Kobzol:tidy-python-improvements, r=onur-ozkan
Tidy Python improvements

Fixes display of Python formatting diffs in tidy, and refactors the code to make it simpler and more robust. Also documents Python formatting and linting in the Rustc dev guide.

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

r? `@onur-ozkan`
2025-01-24 16:25:44 +01:00
Matthias Krüger 2b37fbe050
Rollup merge of #135926 - jieyouxu:needs-subprocess-thread, r=oli-obk
Implement `needs-subprocess` directive, and cleanup a bunch of tests to use `needs-{subprocess,threads}`

### Summary

Closes #128295.

- Implements `//@ needs-subprocess` directive in compiletest as requested in #128295. However, compiletest is a host tool, so we can't just try to spawn process because that spawns the process on *host*, not the *target*, under cross-compilation scenarios.
    - The short-term solution is to add *Yet Another* list of allow-list targets.
    - The long-term solution is to first check if a `$target` supports std, then try to run a binary to do run-time capability detection *on the target*. But that is tricky because you have to build-and-run a binary *for the target*.
    - This PR picks the short-term solution, because the long-term solution is highly non-trivial, and it's already an improvement over individual `ignore-*`s all over the place.
    - Opened an issue about the long-term solution in #135928.
- Documents `//@ needs-subprocess` in rustc-dev-guide.
- Replace `ignore-{wasm,wasm32,emscripten,sgx}` with `needs-{subprocess,threads}` where suitable in tests.
- Some drive-by test changes as I was trying to figure out if I could use `needs-{subprocess,threads}` and found some bits needlessly distracting.

Count of tests that use `ignore-{wasm,wasm32,emscripten,sgx}` before and after this PR:

| State | `ignore-sgx` | `ignore-wasm` | `ignore-emscripten` |
| - | - | - | - |
| Before this PR | 96 | 88 | 207 |
| After this PR | 36 | 38 | 61 |

<details>
<summary>Commands used to find out locally</summary>

```
--- before

[17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-sgx" tests | wc -l
96
[17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-wasm" tests | wc -l
88
[17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-emscripten" tests | wc -l
207

--- after

[17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-sgx" tests | wc -l
36
[17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-wasm" tests | wc -l
38
[17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-emscripten" tests | wc -l
61
```
</details>

### Review advice

- Best reviewed commit-by-commit.
- Non-trivial test changes (not mechanically simple replacements) are split into individual commits to help with review. Their individual commit messages give some basic description of the changes.
- I *could* split some test changes out into another PR, but I found that I needed to change some tests to `needs-threads`, some to `needs-subprocess`, and some needed to use *both*, so they might conflict and become very annoying.

---

r? ``@ghost`` (need to run try jobs)

try-job: x86_64-msvc-1
try-job: i686-msvc-1
try-job: i686-mingw
try-job: x86_64-mingw-1
try-job: x86_64-apple-1
try-job: aarch64-apple
try-job: aarch64-gnu
try-job: test-various
try-job: armhf-gnu
2025-01-24 16:25:43 +01:00
Mads Marquart 2e060866f0 Cross-link documentation for adding a new target
Both the target tier policy and the rustc-dev-guide has documentation on
this, let's make sure people see both.
2025-01-24 14:40:12 +01:00
Ada Alakbarova 168456e7a3
fix(solve/significant-changes): typo 2025-01-24 14:12:17 +01:00
Jakub Beránek 80aac13e78
Document Python formatting and linting in the rustc-dev-guide 2025-01-24 09:35:46 +01:00
Matthias Krüger 74962603cb
Rollup merge of #135489 - RalfJung:TryFromSliceError, r=tgross35
remove pointless allowed_through_unstable_modules on TryFromSliceError

This got added in https://github.com/rust-lang/rust/pull/132482 but the PR does not explain why. `@lukas-code` do you still remember? Also Cc `@Noratrieb` as reviewer of that PR.

If I understand the issue description correctly, all paths under which this type is exported are stable now: `core::array::TryFromSliceError` and `std::array::TryFromSliceError`. If that is the case, we shouldn't have the attribute; it's a terrible hack that should only be used when needed to maintain backward compatibility. Getting some historic information right is IMO *not* sufficient justification to risk accidentally exposing this type via more unstable paths today or in the future.
2025-01-24 08:08:06 +01:00
Matthias Krüger 520ca6b0da
Rollup merge of #135880 - bjorn3:misc_driver_refactors, r=oli-obk
Get rid of RunCompiler

The various `set_*` methods that have been removed can be replaced by setting the respective fields in the `Callbacks::config` implementation. `set_using_internal_features` was often forgotten and it's equivalent is now done automatically.
2025-01-23 19:54:26 +01:00
许杰友 Jieyou Xu (Joe) 0f175948cd rustc-dev-guide: document `needs-subprocess` directive 2025-01-23 20:51:28 +08:00
bjorn3 76f7584f6a Remove RunCompiler
It has become nothing other than a wrapper around run_compiler.
2025-01-23 09:38:58 +00:00
Jakub Beránek 3543f80951
Add test for checking used glibc symbols 2025-01-21 10:20:24 +01:00
Jakub Beránek 8c5b8fa814
Merge pull request #2215 from Kobzol/pull
rustc pull
2025-01-20 15:54:51 +01:00
Jakub Beránek 1e32114309 Merge from rustc 2025-01-20 14:12:41 +01:00
Jakub Beránek 0ae03351d2 Add portable SIMD to list of subtrees 2025-01-20 13:53:10 +01:00
Noratrieb 166fa3b79e Fix dev guide docs for error-pattern
I know it would have made more sense to make this PR to the dev guide
repo but I had already made the fix before I realized that.
2025-01-19 11:36:41 +01:00
Yuki Okushi c1b4cfaa96
Merge pull request #2211 from patrickoliveira15/patch/inference-invariance 2025-01-18 05:26:20 +09:00
Patrick Oliveira fbceffc7ca
remove outdated text about wfx implies 2025-01-17 12:04:42 -03:00
许杰友 Jieyou Xu (Joe) e9d9b29d06 compiletest: fix outdated `rustdoc-js` test suite name 2025-01-17 08:40:04 +08:00
lcnr 46458edee5 nyaa 2025-01-15 14:23:48 +01:00
Ryan Mehri b4940bbed6 fix some more typos 2025-01-14 23:01:42 -08:00
Noah Lev 7a4c3d3c30 Fix some broken links
* Rename `StringReader -> Lexer`
* Remove deleted `Query` struct
* Update some internal links
2025-01-14 21:52:33 -08:00
Ralf Jung 1cd70aaa2c rustc-dev-guide: add note about not adding rustc_allowed_through_unstable_modules to more items 2025-01-14 17:00:12 +01:00
许杰友 Jieyou Xu (Joe) a58b85a26c rustc-dev-guide: document `BOOTSTRAP_TRACING` and bootstrap `tracing` setup 2025-01-13 13:46:20 +08:00
onur-ozkan eecd68cf55 rustc-dev-guide: update outdated LLVM stamp filename
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-12 08:47:57 +03:00
许杰友 Jieyou Xu (Joe) aca4d07e08
Merge pull request #2205 from ehuss/ci-config 2025-01-11 00:34:43 +08:00
Eric Huss cd9705f029 Fix calculate-job-matrix.py link 2025-01-10 08:26:52 -08:00
Eric Huss 42768820fe Document how to find the configuration used in CI
This documents how to determine which settings are used in CI, since I
see this question come up regularly. We currently don't have a great way
to answer the question, but at least there is something.
2025-01-10 08:16:37 -08:00
Samson 8789c2cf9b
Fix rib example
related zulip thread: https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/Ribs.20in.20name.20resolution
2025-01-07 21:29:45 +01:00
Jakub Beránek 280d73878a Update rustc-dev-guide 2025-01-07 19:10:03 +01:00
Max Heller 0fd52366ca
Fix broken raw HTML (#2198) 2025-01-07 16:00:59 +08:00
许杰友 Jieyou Xu (Joe) 32835d18d8 Only keep label description in Forge docs 2025-01-06 18:59:36 +02:00
Jakub Beránek 1dad69ebd4
Add rustc-dev-guide to the list of repositories managed by josh (#2197) 2025-01-06 18:30:59 +08:00
Boxy 885fd79971 Split stuff out of representing types, and rewrite early/late bound chapter (#2192) 2025-01-05 17:51:45 +01:00
Stuart Cook bb71c99918 Describe how to use rust-analyzer with `rmake.rs` (#2191) 2025-01-05 17:51:45 +01:00
Tshepang Mbambo 027bbb345c fix comment 2025-01-05 17:51:45 +01:00
Tshepang Mbambo b3b1d09278 make paragraph more readable 2025-01-05 17:51:45 +01:00
Tshepang Mbambo 7dbf25b2f8 repetition not needed 2025-01-05 17:51:45 +01:00
Jakub Beránek eb70681870 Document josh subtrees and update subtree repository list (#2182) 2025-01-05 17:51:45 +01:00
Onur Özkan 63548be44e comment out FIXMEs to not display them on UI (#2186) 2025-01-05 17:51:45 +01:00
Max Heller 08b4cd8efc Use `id` attribute for `<a>` tags instead of deprecated `name` attribute (#2184) 2024-12-31 22:02:50 +08:00
Stuart Cook 6637742182 Remove stale implementation details of coverage instrumentation (#2179)
This level of detail in the dev guide is a maintenance burden; better to leave
this sort of thing to in-tree comments.
2024-12-30 12:02:52 +11:00
Martin Liška ddff18e30a Add missing link for [Node] (#2177) 2024-12-30 04:34:34 +08:00
Martin Liška ecad0213d7 Fix 403 received for HEAD request (#2176) 2024-12-30 04:33:45 +08:00
clubby789 5f32a38a3d Document `x test --no-capture` (#2174) 2024-12-28 19:55:20 +08:00
Stuart Cook 9b22375c78 Remove the `-test` suffix from normalize directives (#2172) 2024-12-28 17:32:43 +08:00
bjorn3 e70f551db6 Rework the driver docs (#2162) 2024-12-27 20:40:32 +08:00
clubby789 4e746875ed Document `forbid-output` for UI tests (#2171) 2024-12-27 12:21:52 +00:00
clubby789 b746f63983 completions: Zsh is now supported (#2173) 2024-12-27 09:03:10 +08:00
lcnr 6af30f87b7 region-outlives propagation (#2169)
* region-outlives propagation

* woops

* gamer
2024-12-23 10:17:51 +01:00
clubby789 a49028cf1e Document the `--debugger` flag (#2170) 2024-12-23 08:43:28 +00:00
Marco Ieni b5529ca9ba document the public ci dashboard (#2167) 2024-12-18 19:53:17 +08:00
Chris Bloodsworth 6afff2e610 Fix trivial typo of "query-fied"
"Query-field" should be "Query-fied" - three instances.
2024-12-18 08:01:33 +02:00
Tshepang Mbambo ee9a5845e0 typo, pause 2024-12-18 07:56:30 +02:00
Ryan Mehri 421c7282e1 Fix some typos 2024-12-18 07:56:30 +02:00
Eric Huss 766fbbbe3d Add suggestion for `--keep-stage 0` (#2164) 2024-12-18 01:00:38 +08:00
Connor Tsui 8e495d4b93 specify what a CGU is (#2163) 2024-12-16 15:12:01 +08:00
Tshepang Mbambo 1f2c5e10ff functionality removed from codebase (part 2) (#2160) 2024-12-10 22:27:37 +08:00
Tshepang Mbambo 8f3bf55222 functionality removed from codebase (#2159) 2024-12-10 22:11:11 +08:00
Orion Gonzalez 3ca330e1c3 remove polymorphization 2024-12-10 13:29:13 +00:00
Ralf Jung fcadf9608b squashing: recommend --keep-base when squashing without a conflict (#2157) 2024-12-07 06:59:23 +08:00
lcnr 1f851c0fc5 update section even more (#2156) 2024-12-05 20:30:36 +08:00
lcnr fccf752c1c closure constraints (#2155) 2024-12-05 12:01:46 +01:00
许杰友 Jieyou Xu (Joe) 740947ed6d Remove `//@ compare-output-lines-by-subset` directive (#2151) 2024-12-05 13:02:11 +08:00
许杰友 Jieyou Xu (Joe) df234c0f0e Document `needs-target-has-atomic` directive (#2154) 2024-12-05 13:01:46 +08:00
许杰友 Jieyou Xu (Joe) 8df3580d08 Spell out `git submodule deinit -f --all` (#2153) 2024-12-02 12:45:30 +08:00
许杰友 Jieyou Xu (Joe) 54c6a86858 Explain how to deal with exploded git submodules (#2152) 2024-12-02 12:38:56 +08:00
许杰友 Jieyou Xu (Joe) 67054cce92 Update `//@ proc-macro` aux build directive docs (#2149)
Co-authored-by: Eric Huss <eric@huss.org>
2024-11-29 13:01:15 +08:00
许杰友 Jieyou Xu (Joe) 65a59a3398 Remove `pretty-expanded` as it no longer exists (#2147) 2024-11-28 09:27:28 +08:00
Keith Wansbrough 8d9b40183e Fix trivial typo
"And" should be "An" - one instance.
2024-11-27 18:31:18 -05:00
Camille Gillot 0962f0e058 Remove -Zfuel. (#2032) 2024-11-27 18:31:58 +08:00
Boxy c4737a8d01 Remove constants section as it is outdated 2024-11-22 11:17:57 +00:00
Boxy f71456b753 Flatten generic parameter defs section 2024-11-22 11:17:57 +00:00
Taylor Cramer 6ea822df54 Add instructions to test error code docs (#2145) 2024-11-21 10:58:56 -08:00
Boxy 47a3a1d261 Reorganize the "Source Code Representation" chapters (#2142) 2024-11-21 20:28:23 +08:00
Yutaro Ohno 16e30472c9 Make `Diag` a clickable link in Suggestion section (#2140) 2024-11-20 16:21:27 +08:00
Ralf Jung 544b1fc77d update for rustc_intrinsic_const_stable_indirect (#2138)
Update for rust-lang/rust#133142
2024-11-18 18:16:00 +01:00
许杰友 Jieyou Xu (Joe) 65e7344ebb Mention `RUSTC_BOOTSTRAP` for misc testing (#2136) 2024-11-18 16:18:15 +08:00
许杰友 Jieyou Xu (Joe) 1f42c533c9 Document how to acquire `cdb.exe` (#2137) 2024-11-16 16:53:42 +00:00
许杰友 Jieyou Xu (Joe) 7ed13a5faf Document `max-llvm-major-version` directive (#2129) 2024-11-14 22:16:16 +08:00
许杰友 Jieyou Xu (Joe) 530b2eb228 Document `exact-llvm-major-version` directive (#2135) 2024-11-14 17:38:14 +08:00
Sam Estep 67dc382ac5 Note Rustfmt for separate rust-analyzer directory (#2134) 2024-11-13 21:37:25 +08:00
Tshepang Mbambo 4ff8d9a171 still accurate (#2133) 2024-11-10 13:18:32 +08:00
Tshepang Mbambo aaa854803f typo (#2132) 2024-11-10 11:36:49 +08:00
Tshepang Mbambo 13ae69b254 add valid date-check marker 2024-11-09 22:39:14 +02:00
Tbkhi c423c5636d Update parallel-rustc.md (#1926)
Co-authored-by: SparrowLii <liyuan179@huawei.com>
Co-authored-by: Jieyou Xu <jieyouxu@outlook.com>
2024-11-08 16:59:36 +08:00
许杰友 Jieyou Xu (Joe) 5d7107b836 Rename `{ignore,only}-debug` -> `{ignore,needs}-{rustc,std}-debug-assertions` (#2101) 2024-11-08 15:06:55 +08:00
Ralf Jung 9532ff1e18 update const stability docs (#2111) 2024-11-05 17:26:56 +08:00
Barrett 6ef78e3691 diagnostics: lists should use the Oxford comma
we encountered this in https://github.com/rust-lang/rust/pull/131038

kinda felt like an unspoken rule so here's a more concrete
clarification.
2024-11-05 09:22:17 +02:00
Eric Huss a927b95352 Add a link for the `reference` compiletest header (#2096) 2024-11-04 22:40:57 +08:00
León Orell Valerian Liehr f0cba7ad09 Slightly fix up the glossary (#2127) 2024-11-04 13:03:02 +00:00
León Orell Valerian Liehr 117f9c526d Remove an mdbook workaround (#2124)
The original issue has been fixed, the workaround is no longer necessary.
2024-11-04 11:53:06 +00:00
Martin Liška be78802b46 Fix broken links (#2123) 2024-11-04 16:24:05 +08:00
Martin Liška b289220795 Fix minicore.rs link (#2122) 2024-11-04 16:17:28 +08:00
Nicholas Nethercote 2d1a0479a6 Update for recent dataflow simplifications. (#2121) 2024-11-04 15:57:00 +08:00
许杰友 Jieyou Xu (Joe) a54fe7590c Describe `minicore` test auxiliary and directive (#2097) 2024-11-04 14:26:20 +08:00
许杰友 Jieyou Xu (Joe) b088cb6d97 Fix and update docs for `needs-force-clang-based-tests` (#2085) 2024-11-04 14:17:37 +08:00
Martin Liška 6880243036 Fix borked links (#2119) 2024-11-03 15:58:43 +08:00
DianQK 168301374d Describe how to revert a PR (#2118)
Co-authored-by: Jieyou Xu <jieyouxu@outlook.com>
2024-11-03 14:32:15 +08:00
Michael Goulet c5287a80f4 Ok now linkify 2024-11-02 16:45:00 -04:00
Michael Goulet a98daf1038 Try to fix footnotes 2024-11-02 15:16:04 -04:00
Martin Liška cbd5436e1d Fix rustc-related links that are 404 right now (#2112) 2024-11-02 20:53:31 +08:00
Michael Goulet 30f861c671 fix permalinks 2024-11-02 15:27:40 +08:00
Michael Goulet c21a829aab Async closures chapter 2024-11-02 15:27:40 +08:00
David Wood 9e83adad73 update rfl ci job policy (#2108) 2024-11-01 01:46:24 +08:00
Thomas Nyman 1170f0de32 Fix internal and incomplete links (#2107)
* Fix broken link in syntax-intro.md

* Fix broken link in tests/compiletest.md

* Fix incorrectly formatted reference-style link in compiler-src.md

* Fix broken links to rustc-driver.md to point to rustc-driver/intro.md

* Define URLs for incomplete links to rustc sources in stabilization_guide.md

* Define link to coherence.md for incomplete link in solve/invariants.md
2024-10-31 11:13:57 +08:00
Stuart Cook 93738ab172 Describe why and how to use a separate build directory for rust-analyzer (#2106) 2024-10-29 18:16:11 +08:00
许杰友 Jieyou Xu (Joe) d4b49fd93f Update current status of diagnostics translation infra (#2105) 2024-10-28 17:37:50 +08:00
Ralf Jung c31d23bff7 update const stability docs (#2098) 2024-10-26 20:20:45 +08:00
Stuart Cook 7f82658877 Advice on auto-formatting C++ code (#2104) 2024-10-25 12:17:44 +08:00
lolbinarycat cd7464ce4b Update compiler-src.md (#2102)
fix conflicting link names that lead to the "chapter link" leading to rustdoc's source code instead.
2024-10-24 17:33:08 -03:00
Juniper Tyree 58b2b24c1d Add the WASM | WASI | Emscripten notification groups (#2100) 2024-10-21 10:30:07 +08:00
Tbkhi f1f5ec1b21 Update bootstrapping.md (#1900)
Co-authored-by: Jieyou Xu <39484203+jieyouxu@users.noreply.github.com>
Co-authored-by: Tbkhi <me.stole546@silomails.com>
2024-10-13 17:51:38 +08:00
Stuart Cook 0e2bebfe2d Rename `needs-profiler-support` to `needs-profiler-runtime` (#2095) 2024-10-10 09:27:13 +11:00
Stuart Cook f2eb9245ca Document compiletest directives `ignore-coverage-map` and `ignore-coverage-run` (#2094) 2024-10-09 10:21:58 +08:00
许杰友 Jieyou Xu (Joe) 6f4b909f69 Purge `run-pass-valgrind` mentions 2024-10-07 23:12:09 +02:00
Michael Howell 1e799684ee rustdoc: docs for search deduplication (#1850) 2024-10-07 23:09:03 +08:00
许杰友 Jieyou Xu (Joe) 58aeefcf0c Revise test naming advice to discourage using issue numbers alone
But accept test names that include non-prefix issue number.
2024-10-07 11:17:02 +02:00
Jakub Beránek e4eded33df Document `bootstrap` integration with `rustc-perf` (#2005) 2024-10-07 16:28:06 +08:00
Kajetan Puchalski ab71898fc7 building: Update instructions for ./x setup editor 2024-10-07 10:03:36 +02:00
许杰友 Jieyou Xu (Joe) 9bb0da343a [Testing 2/2] Revise revisions docs (#2089)
Co-authored-by: nora <48135649+Noratrieb@users.noreply.github.com>
2024-10-07 14:33:52 +08:00
许杰友 Jieyou Xu (Joe) 2b9274252f [Testing 1/2] Revise testing chapters excluding the directives chapter (#2088) 2024-10-07 10:39:22 +08:00
Yoh Deadfall 0a9b996970 Fixed links to rust-analyzer configs for Emacs and Helix (#2087) 2024-10-06 09:43:08 +09:00
Onur Özkan 454dc454c1 update `x install` documentation (#2084) 2024-10-04 00:43:40 +08:00
León Orell Valerian Liehr 5e8e9cc899 Rename "object safe" to "dyn compatible" (#2083) 2024-10-03 17:31:43 +08:00
León Orell Valerian Liehr 53514829de fixups (#2082) 2024-10-03 10:54:50 +08:00
Urgau 3022bf007e Add documentation for `{{rust-src-base}}` (#2079) 2024-09-29 14:21:45 +02:00
Kajetan Puchalski 34a13c2e52 building/suggested: Add instructions for Emacs & Helix (#2080)
Co-authored-by: 许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com>
2024-09-28 20:09:48 +08:00
Christopher Speir de2f32e59c Fix file paths to section 35.1 & 35.2 example code (#2078) 2024-09-25 22:18:50 +08:00
Noratrieb eca2a904d1 elaborate on warnings 2024-09-24 20:59:54 +02:00
Yuri Astrakhan 9303d5b017 Apply suggestions from code review
Co-authored-by: 许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com>
2024-09-24 20:59:54 +02:00
Yuri Astrakhan c923ae6187 Clarify how to disable warnings in deps 2024-09-24 20:59:54 +02:00
Tbkhi 8bac43ba1e Update compiler-src.md
Various link additions and minor edits for clarity.

revisions

fix line length

adding links

minor edits
2024-09-24 20:57:06 +02:00
León Orell Valerian Liehr b80083b5c0 Update rustdoc build instructions 2024-09-24 20:47:22 +02:00
Noratrieb 8a5ec724fd minor edits 2024-09-24 20:46:07 +02:00
Tbkhi dabf6dabde doc edits 2024-09-24 20:46:07 +02:00
Tbkhi 5658f05dfc Update salsa.md
Formatting updates.
2024-09-24 20:46:07 +02:00
Tbkhi f5594304c2 Update memory.md
Minor updates to formatting.

documentation updates

Update memory.md

minor edits
2024-09-24 20:43:37 +02:00
Noratrieb fa8e2b4794 minor edits 2024-09-24 20:33:04 +02:00
Tbkhi 6803fdb36b updates documentation 2024-09-24 20:33:04 +02:00
Tbkhi fb88f31f79 Update serialization.md
Minor documentation updates.
2024-09-24 20:33:04 +02:00
Tbkhi 1374a2ab4a improve rustc-driver.md
minor addition and adding links

Update rustc-driver.md

removing parens for functions

reorganized directory

reorganized directory

minor edits
2024-09-24 20:29:07 +02:00
Noratrieb f92166e2b5 minor edits 2024-09-24 20:21:23 +02:00
Tbkhi dc74644c7d Update syntax-intro.md 2024-09-24 20:21:23 +02:00
Noratrieb 58f95e3d49 minor edits 2024-09-24 20:19:59 +02:00
Tbkhi 763a2bee2f Update the-parser.md 2024-09-24 20:19:59 +02:00
Tbkhi 41c4e9c988 Update the-parser.md 2024-09-24 20:19:59 +02:00
Noratrieb 04480082ad Minor edits 2024-09-24 20:16:28 +02:00
Tbkhi b956638072 Update macro-expansion.md 2024-09-24 20:16:28 +02:00
Tbkhi c6fed1ee39 Update macro-expansion.md 2024-09-24 20:16:28 +02:00
Tbkhi 027c805e5c additional changes to links and some text 2024-09-24 20:16:28 +02:00
Tbkhi 07aa8b109f Update macro-expansion.md
removing parens
2024-09-24 20:16:28 +02:00
Tbkhi 5676ddd217 Update macro-expansion.md 2024-09-24 20:16:28 +02:00
Noah Lev f09dd295ae Use 2021 edition for example code playground link
The playground defaults to 2015. Might as well use the latest edition.
2024-09-24 20:15:12 +02:00
Noah Lev 25ad416da4 Move example code block to paragraph referencing it
Noticed by Mario Carneiro.
2024-09-24 20:15:12 +02:00
Noratrieb 70477c40f8 Minor edits
- un-codeblock some words
- uncomment the last paragraph (it's useful to know this)
2024-09-24 20:07:57 +02:00
Tbkhi 8b9408e49f Update name-resolution.md 2024-09-24 20:07:57 +02:00
Tbkhi 1cbd715177 Update name-resolution.md 2024-09-24 20:07:57 +02:00
Felix Rath cd32af3b6a feat: Add section about partial clones with `git clone --filter='blob:none'` 2024-09-24 19:59:44 +02:00
dianne a1c37098dc mention rustc's stable-through-unstable bug being fixed 2024-09-24 19:57:58 +02:00
trevyn 4040f38175 Fix `is_diagnostic_item()` example 2024-09-24 19:56:37 +02:00
许杰友 Jieyou Xu (Joe) f56b9b0a44 Revise wording to not imply *only* Python 3.10 can be installed 2024-09-24 19:55:07 +02:00
nora 15da3b9246 Update src/tests/compiletest.md 2024-09-24 19:54:06 +02:00
许杰友 Jieyou Xu (Joe) d871e70475 Document `crashes` test suite
Describe procedure for adding new crashes tests and removing crashes
tests when the crash is intentionally fixed.

Also mention setting `COMPILETEST_VERBOSE_CRASHES=1` env var for verbose
crashes test output.
2024-09-24 19:54:06 +02:00
Vetle Rasmussen 06f9ccf1f2 Fix getting diagnostics example 2024-09-24 19:53:51 +02:00
dianne c852d1c693 Document `#[rustc_default_body_unstable]` 2024-09-24 19:53:17 +02:00
许杰友 Jieyou Xu (Joe) e3451dc015 Describe `.git-blame-ignore-rev` 2024-09-24 19:51:44 +02:00
许杰友 Jieyou Xu (Joe) 6e8fc18158 Note lldb debuginfo requires `python310.dll` to be present in `PATH` 2024-09-24 19:49:14 +02:00
Marco Ieni a66f8b1a36 chore: add missing `.` (#2074) 2024-09-23 20:51:33 +08:00
许杰友 Jieyou Xu (Joe) baf5c020a3 Add remark on required free disk space (#2073) 2024-09-23 20:11:47 +08:00
Max Heller 5d8ddf98bb fix broken links (#2063) 2024-09-23 16:47:44 +08:00
许杰友 Jieyou Xu (Joe) 8d9a7a8b13 Add advice about submitting potentially hard-to-review PRs (#2036) 2024-09-23 16:46:49 +08:00
joculatrix 0810cd3c34 Edit a sentence for clarity (#2071) 2024-09-23 12:02:25 +08:00
adwin db6f8ad56d Emphasize how to run a single tool test (#2070) 2024-09-20 15:10:29 +08:00
Santiago Pastorino d80226941e Remove chalk is owned by WG-traits 2024-09-18 17:48:40 -04:00
Santiago Pastorino d6c5ed5c47 Fix conditions lowering text for enums with no fields (#2066) 2024-09-18 08:45:24 +08:00
lcnr acee479aee update proof tree chapter (#2054)
* update proof tree chapter

* uwu

* cool beans
2024-09-17 06:45:13 +02:00
Michael Howell 33731b7569 Further clarification 2024-09-15 14:53:28 -04:00
Michael Howell 41b9c6cc57 Specify, more explicitly, the default behavior 2024-09-15 14:53:28 -04:00
Michael Howell a233a7ddcb Update src/rustdoc-internals/search.md
Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
2024-09-15 14:53:28 -04:00
Michael Howell 6bf7f54861 Clean up misleading language 2024-09-15 14:53:28 -04:00
Michael Howell 305fbac89a Minor wording improvements 2024-09-15 14:53:28 -04:00
Michael Howell 953292a349 Add docs for JS tests 2024-09-15 14:53:28 -04:00