Commit graph

2737 commits

Author SHA1 Message Date
jyn
4aee995750 expand ${workspaceFolder} in sample vim config 2025-03-16 21:06:18 -04:00
Tshepang Mbambo
fdce008a92 add some copy-paste goodness 2025-03-15 11:35:41 +02:00
Tshepang Mbambo
35a70bd2c0 make 'mdbook test --chapter "Running tests"' pass 2025-03-15 11:35:15 +02:00
Tshepang Mbambo
901102f5cb those should not get shell highlighting 2025-03-15 11:32:16 +02:00
Jakub Beránek
2579bb59a4 Fix MCP links 2025-03-14 15:18:58 +01:00
许杰友 Jieyou Xu (Joe)
3d9bf08289
Merge pull request #2283 from jieyouxu/sync
Rustc pull
2025-03-14 16:08:03 +08:00
KonaeAkira
88aaf1d25a Fix grammar and remove redundant info 2025-03-13 23:56:04 +01:00
Josh Stone
190187bfa7
Remove the doc for no-system-llvm
This compiletest directive was removed in rust-lang/rust#120265.
2025-03-13 12:15:29 -07:00
许杰友 Jieyou Xu (Joe)
440d336b71 Document fetch.prunetags = true gotcha during rustc-pull 2025-03-13 15:44:23 +08:00
许杰友 Jieyou Xu (Joe)
7bde176305 Merge from rustc 2025-03-13 15:20:11 +08:00
许杰友 Jieyou Xu (Joe)
d4c5e752c5 Preparing for merge from rustc 2025-03-13 15:19:22 +08:00
Tshepang Mbambo
26176b017e
less text for same effect 2025-03-13 03:51:51 +02:00
Nicholas Nethercote
256c27e748 Move methods from Map to TyCtxt, part 4.
Continuing the work from #137350.

Removes the unused methods: `expect_variant`, `expect_field`,
`expect_foreign_item`.

Every method gains a `hir_` prefix.
2025-03-12 08:55:37 +11:00
Jakub Beránek
dfef1a7b5a Handle backticks in try job patterns 2025-03-10 14:07:46 +01:00
Jakub Beránek
06d86cd60c Modify try-job documentation 2025-03-10 14:07:45 +01:00
Oli Scherer
240a6d3401
Merge pull request #2258 from fee1-dead-contrib/constck
Rewrite effects checking chapter
2025-03-10 12:35:40 +01:00
许杰友 Jieyou Xu (Joe)
e405878315
Merge pull request #2273 from rust-lang/tshepang-patch-1
use new terminology
2025-03-10 17:59:15 +08:00
Tshepang Mbambo
4b2c077a7b
add missing punctuation 2025-03-10 11:15:32 +02:00
Tshepang Mbambo
7c6d6e30be
clean --bless text 2025-03-10 11:12:44 +02:00
Tshepang Mbambo
f2e77353be
add a pause, for readability 2025-03-10 10:38:30 +02:00
Tshepang Mbambo
775167251a
already mentioned before showing code snippet 2025-03-10 10:35:40 +02:00
Tshepang Mbambo
d51c922268
use new terminology 2025-03-10 10:29:30 +02:00
许杰友 Jieyou Xu (Joe)
7f83057e3d
Merge pull request #2270 from tshepang/example-llvm-prs
mention llvm 20 in example prs
2025-03-09 08:06:06 +08:00
许杰友 Jieyou Xu (Joe)
fc7ad745bb
Merge pull request #2271 from rust-lang/tshepang-patch-1
fix text
2025-03-09 08:04:28 +08:00
Tshepang Mbambo
f1a0665131
ignore-stage0 and only-stage0 do not exist 2025-03-08 23:51:17 +02:00
Tshepang Mbambo
2391f1038c
fix text
- There is more than just target and stage
- There is only 3 stages, so don't mention them specially
2025-03-08 22:58:09 +02:00
Tshepang Mbambo
ce2eef3b85 link to latest major llvm update pr 2025-03-08 20:40:44 +02:00
Tshepang Mbambo
93a8c7e6b4 only a few are needed as examples 2025-03-08 20:35:42 +02:00
Tshepang Mbambo
24f3812ce0 numbers were not sequential, so stop trying 2025-03-08 20:33:05 +02:00
Deadbeef
41f95b0fc9 consider explicit_implied_const_bounds 2025-03-08 16:38:44 +08:00
许杰友 Jieyou Xu (Joe)
c9c572cd92 Document that rmake.rs/run-make-support may not use unstable features 2025-03-07 19:09:41 +08:00
moxian
243f5699d5 Don't suggest explicitly cfg-gating trace! calls in bootstrap 2025-03-05 15:34:48 -08:00
许杰友 Jieyou Xu (Joe)
65da1ffe41
Rollup merge of #136581 - jieyouxu:makefile-be-gone, r=Kobzol
Retire the legacy `Makefile`-based `run-make` test infra

The final piece of [porting run-make tests to use Rust #121876](https://github.com/rust-lang/rust/issues/121876).
Closes #121876.
Closes #40713.
Closes #81791 (no longer using `wc`).
Closes #56475 (no longer a problem in current form of that test; we don't ignore the test on `aarch64-unknown-linux-gnu`).

### Summary

This PR removes the legacy `Makefile`-based `run-make` test infra which has served us well over the years. The legacy infra is no longer needed since we ported all of `Makefile`-based `run-make` tests to the new `rmake.rs` infra.

Additionally, this PR:

- Removes `tests/run-make/tools.mk` since no more `Makefile`-based tests remain.
- Updates `tests/run-make/README.md` and rustc-dev-guide docs to remove mention about `Makefile`-based `run-make` tests
- Update test suite requirements in rustc-dev-guide on Windows to no longer need MSYS2 (they should also now run successfully on native Windows MSVC).
- Update `triagebot.toml` to stop backlinking to #121876.

**Thanks to everyone who helped in this effort to modernize the `run-make` test infra and test suite!**

r? bootstrap
2025-03-05 21:46:32 +08:00
bors
f9e0239a7b Auto merge of #135695 - Noratrieb:elf-raw-dylib, r=bjorn3
Support raw-dylib link kind on ELF

raw-dylib is a link kind that allows rustc to link against a library without having any library files present.
This currently only exists on Windows. rustc will take all the symbols from raw-dylib link blocks and put them in an import library, where they can then be resolved by the linker.

While import libraries don't exist on ELF, it would still be convenient to have this same functionality. Not having the libraries present at build-time can be convenient for several reasons, especially cross-compilation. With raw-dylib, code linking against a library can be cross-compiled without needing to have these libraries available on the build machine. If the libc crate makes use of this, it would allow cross-compilation without having any libc available on the build machine. This is not yet possible with this implementation, at least against libc's like glibc that use symbol versioning. The raw-dylib kind could be extended with support for symbol versioning in the future.

This implementation is very experimental and I have not tested it very well. I have tested it for a toy example and the lz4-sys crate, where it was able to successfully link a binary despite not having a corresponding library at build-time.

I was inspired by Björn's comments in https://internals.rust-lang.org/t/bundle-zig-cc-in-rustup-by-default/22096/27
Tracking issue: #135694

r? bjorn3

try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: test-various
2025-03-04 15:39:44 +00:00
Zalathar
32c5449d45 Remove some unnecessary aliases from rustc_data_structures::sync
With the removal of `cfg(parallel_compiler)`, these are always shared
references and `std::sync::OnceLock`.
2025-03-03 20:20:24 +11:00
bors
4b696e6bf7 Auto merge of #136864 - Kobzol:citool, r=marcoieni
Rewrite the `ci.py` script in Rust

It would seem that I would learn by now that any script written in Python will become unmaintainable sooner or later, but alas..

r? `@marcoieni`

try-job: aarch64-gnu
try-job: dist-x86_64-linux-alt
try-job: x86_64-msvc-ext2

Fixes: https://github.com/rust-lang/rust/issues/137013
2025-03-02 09:18:02 +00:00
许杰友 Jieyou Xu (Joe)
b0d6a8426c rustc-dev-guide: remove mentions of legacy Makefile run-make infra
And remove outdated requirements to run `run-make` tests on Windows.
2025-03-02 05:56:56 +08:00
Noratrieb
a954c51280 Support raw-dylib link kind on ELF
raw-dylib is a link kind that allows rustc to link against a library
without having any library files present.
This currently only exists on Windows. rustc will take all the symbols
from raw-dylib link blocks and put them in an import library, where they
can then be resolved by the linker.

While import libraries don't exist on ELF, it would still be convenient
to have this same functionality. Not having the libraries present at
build-time can be convenient for several reasons, especially
cross-compilation. With raw-dylib, code linking against a library can be
cross-compiled without needing to have these libraries available on the
build machine. If the libc crate makes use of this, it would allow
cross-compilation without having any libc available on the build
machine. This is not yet possible with this implementation, at least
against libc's like glibc that use symbol versioning.
The raw-dylib kind could be extended with support for symbol versioning
in the future.

This implementation is very experimental and I have not tested it very
well. I have tested it for a toy example and the lz4-sys crate, where it
was able to successfully link a binary despite not having a
corresponding library at build-time.
2025-02-26 19:09:51 +01:00
Boxy
d9683df7c2 Merge from rustc 2025-02-25 21:27:44 +00:00
Boxy
46392d1661 Preparing for merge from rustc 2025-02-25 21:22:45 +00:00
Jakub Beránek
9423634997 Fix posting message to Zulip 2025-02-25 18:56:14 +01:00
jyn
25eac11f7b
use lua locals
Co-authored-by: DianQK <dianqk@dianqk.net>
2025-02-24 00:12:55 -05:00
jyn
39667c5608 document how to setup RA for nvim automatically 2025-02-23 22:07:09 -05:00
bors
bb2cc59a21 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
78e0d10e21 Rewrite effects checking chapter 2025-02-20 21:39:45 +08:00
许杰友 Jieyou Xu (Joe)
342ced97db
Merge pull request #2256 from torfsen/fix-examples-for-nightly-2025-02-13 2025-02-20 02:36:21 +08:00
Matthias Krüger
fa10786e18
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
be36bd288f
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
26d6ce76a7 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
5e92241b61 docs(dev): Access features as functions, not members
This was changed in #132027
2025-02-18 10:35:13 -06:00