Commit Graph

356 Commits

Author SHA1 Message Date
Urgau 2d5b852f0a
Rollup merge of #142377 - Urgau:unremap-rustc-dev, r=jieyouxu
Try unremapping compiler sources

See [#t-compiler/help > Span pointing to wrong file location (`rustc-dev` component)](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/Span.20pointing.20to.20wrong.20file.20location.20.28.60rustc-dev.60.20component.29/with/521087083).

This PR is a follow-up to rust-lang/rust#141751 regarding the compiler side.

Specifically we now take into account the `CFG_VIRTUAL_RUSTC_DEV_SOURCE_BASE_DIR` env from rust-lang/rust#141751 when trying to unremap sources from `$sysroot/lib/rustlib/rustc-src/rust` (the `rustc-dev` component install directory).

Best reviewed commit by commit.

cc ``@samueltardieu``
r? ``@jieyouxu``
2025-06-18 19:40:32 +02:00
Urgau cb503e8910 Un-remap `rustc-dev` component paths 2025-06-15 17:20:08 +02:00
The rustc-dev-guide Cronjob Bot ee03ec2984 Merge from rustc 2025-06-12 04:06:44 +00:00
Matthias Krüger 87514bfa86
Rollup merge of #142297 - jieyouxu:needs-target-std, r=Kobzol
Implement `//@ needs-target-std` compiletest directive

Closes rust-lang/rust#141863.
Needed to unblock rust-lang/rust#139244 and rust-lang/rust#141856.

### Summary

This PR implements a `//@ needs-target-std` compiletest directive that gates test execution based on whether the target supports std or not. For some cases, this should be preferred over e.g. some combination of `//@ ignore-none`, `//@ ignore-nvptx` and more[^none-limit].

### Implementation limitation

Unfortunately, since there is currently [no reliable way to determine from metadata whether a given target supports std or not](https://github.com/rust-lang/rust/issues/142296), we have to resort to a hack. Bootstrap currently determines whether or not a target supports std by a naive target tuple substring comparison: a target supports std if its target tuple does *not* contain one of `["-none", "nvptx", "switch"]` substrings. This PR simply pulls that hack out into `build_helpers` to avoid reimplementing the same hack in compiletest, and uses that logic to inform `//@ needs-target-std`.

### Auxiliary changes

This PR additionally changes a few run-make tests to use `//@ needs-target-std` over an inconsistent combination of target-based `ignore`s. This should help with rust-lang/rust#139244.

---

r? bootstrap

[^none-limit]: Notably, `target_os = "none"` is **not** a sufficient condition for "target does not support std"
2025-06-11 13:48:11 +02:00
Tshepang Mbambo 23604cd1a3
that was phrased like a separate sentence 2025-06-11 07:14:12 +02:00
Jieyou Xu b8b2ca49e0
Document `//@ needs-target-std` in rustc-dev-guide 2025-06-10 22:17:57 +08:00
León Orell Valerian Liehr 99626a308d
Merge pull request #2298 from fmease/rustdoc-testing-addendum
rustdoc: Further improve chapters and sections on testing
2025-06-07 18:36:45 +02:00
León Orell Valerian Liehr f5e1a73fb5
rustdoc: Further improve chapters and sections on testing 2025-06-07 18:35:40 +02:00
Tshepang Mbambo d159211d5c expand meaning of ~? diagnostic annotation 2025-06-04 00:26:47 +02:00
Jieyou Xu 88e0085b00 Merge from rustc 2025-06-03 20:17:50 +08:00
León Orell Valerian Liehr 6e608e5671
Fix some warning blocks that contain Markdown
Contents inside of an HTML element only get interpreted as Markdown
(as opposed to HTML) if its separated from the HTML tags with line breaks.
2025-06-02 16:21:59 +02:00
Yukang 1a9be0c862
Rollup merge of #141894 - tshepang:rdg-push, r=jieyouxu
rustc-dev-guide subtree update

r? `@ghost`
2025-06-02 20:57:42 +08:00
onur-ozkan 09eb3b3f78 update dev guidelines
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30 21:04:08 +03:00
onur-ozkan 19a333ad0f split `mingw-check` into two
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30 21:04:05 +03:00
许杰友 Jieyou Xu (Joe) 39644164b8
Merge pull request #2420 from rust-lang/aDotInTheVoid-patch-1
directives.md: Fix `//@ build_aux_docs` -> `//@ build-aux-docs`
2025-05-29 05:04:46 +08:00
Alona Enraght-Moony 655367d8b8 Fix some old `// <directive>` to `//@ <directive>` 2025-05-28 20:32:56 +01:00
Alona Enraght-Moony 812a949c11
directives.md: Fix `//@ build_aux_docs` -> `//@ build-aux-docs` 2025-05-28 20:18:56 +01:00
León Orell Valerian Liehr 290bacb73e
Flesh out sections about crashes tests and update mentions of glacier 2025-05-26 13:54:49 +02:00
Jakub Beránek cc3f2ebd73
Merge pull request #2405 from Kobzol/remove-mentions-of-rust-lang-ci
Remove mentions of rust-lang-ci/rust
2025-05-24 14:14:56 +02:00
Tshepang Mbambo f640f46968
typo 2025-05-24 01:38:43 +02:00
Jakub Beránek 316e392131
Remove mentions of rust-lang-ci/rust
Now that CI has been finally migrated to `rust-lang/rust`.
2025-05-23 13:27:17 +02:00
Tshepang Mbambo eeafdb1de6 ~? annotation type is special
It does not do any line matching, so it should be separated from the other types.
2025-05-22 19:37:29 +02:00
The rustc-dev-guide Cronjob Bot 142b48a021 Merge from rustc 2025-05-15 09:46:22 +00:00
Tshepang Mbambo f1127a948e
Merge pull request #2373 from rust-lang/tshepang-patch-2
avoid duplicating commands
2025-05-15 00:34:38 +02:00
Tomasz Miąsko b82a852640 Remove mono item collection strategy override from -Zprint-mono-items
Previously `-Zprint-mono-items` would override the mono item collection
strategy. When debugging one doesn't want to change the behaviour, so
this was counter productive. Additionally, the produced behaviour was
artificial and might never arise without using the option in the first
place (`-Zprint-mono-items=eager` without `-Clink-dead-code`).  Finally,
the option was incorrectly marked as `UNTRACKED`.

Resolve those issues, by turning `-Zprint-mono-items` into a boolean
flag that prints results of mono item collection without changing the
behaviour of mono item collection.

For codegen-units test incorporate `-Zprint-mono-items` flag directly
into compiletest tool.

Test changes are mechanical. `-Zprint-mono-items=lazy` was removed
without additional changes, and `-Zprint-mono-items=eager` was turned
into `-Clink-dead-code`.  Linking dead code disables internalization, so
tests have been updated accordingly.
2025-05-09 12:19:09 +02:00
Jakub Beránek ff2b6fd0cb
Mention fast try builds in the rustc-dev-guide 2025-05-08 16:00:48 +02:00
Stan Manilov 7434026e13 Remark test naming exception 2025-05-08 14:05:31 +03:00
Tshepang Mbambo 6813f5f9b6
avoid duplicating commands
The 2 commands do the same thing.
Also, follow style used elsewhere in the guide.
2025-05-06 14:56:51 +02:00
Vadim Petrochenkov 0d29d41413 compiletest: Support matching on non-json lines in compiler output
and migrate most of remaining `error-pattern`s to it.
2025-05-04 18:27:45 +03:00
Vadim Petrochenkov d41f1f4219 compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
Jieyou Xu dd639a47fe
rustc-dev-guide: document that `//@ add-core-stubs` imply `-Cforce-unwind-tables=yes` 2025-04-23 17:18:20 +08:00
Tshepang Mbambo 43a4aedbbe improve readability by adding pauses 2025-04-19 17:58:12 +02:00
Tshepang Mbambo 0e5847e7c8 fix grammar 2025-04-19 17:58:12 +02:00
Tshepang Mbambo 58d5664e4e needed a stronger pause 2025-04-19 17:51:41 +02:00
The rustc-dev-guide Cronjob Bot 87eb26fc96 Merge from rustc 2025-04-19 13:53:12 +00:00
Jieyou Xu bde086e3fa
rustc-dev-guide: document `//@ ignore-auxiliary` 2025-04-17 18:52:57 +08:00
Jieyou Xu 79af744efe
tests: document `-A {unused,internal_features}` ui test mode presets 2025-04-13 23:34:24 +08:00
Chris Denton 6a7bff3d89
Rollup merge of #139618 - petrochenkov:virsugg, r=jieyouxu
compiletest: Make `SUGGESTION` annotations viral

If one of them is expected in a test file, then others should be annotated as well, in the same way as with `HELP`s and `NOTE`s.
This doesn't require much of an additional annotation burden, but simplifies the rules.

r? ```@jieyouxu```
2025-04-13 11:48:17 +00:00
Tshepang Mbambo 8d31603721
ease copy-paste 2025-04-12 06:14:37 +02:00
bors 9f227ffb56 Auto merge of #139578 - ferrocene:pa-compiletest-edition, r=jieyouxu
Fix breakage when running compiletest with `--test-args=--edition=2015`

Compiletest has an `--edition` flag to change the default edition tests are run with. Unfortunately no test suite successfully executes when that flag is passed. If the edition is set to something greater than 2015 the breakage is expected, since the test suite currently supports only edition 2015 (Ferrous Systems will open an MCP about fixing that soonish). Surprisingly, the test suite is also broken if `--edition=2015` is passed to compiletest. This PR focuses on fixing the latter.

This PR fixes the two categories of failures happening when `--edition=2015` is passed:

* Some edition-specific tests set their edition through `//@ compile-flags` instead of `//@ edition`. Compiletest doesn't parse the compile flags, so it would see no `//@ edition` and add another `--edition` flag, leading to a rustc error.
* Compiletest would add the edition after `//@ compile-flags`, while some tests depend on flags passed to `//@ compile-flags` being the last flags in the rustc invocation.

Note that for the first category, I opted to manually go and replace all `//@ compile-flags` setting an edition with an explicit `//@ edition`. We could've changed compiletest to instead check whether an edition was set in `//@ compile-flags`, but I thought it was better to enforce a consistent way to set the edition in tests.

I also added the edition to the stamp, so that changing `--edition` results in tests being re-executed.

r? `@jieyouxu`
2025-04-11 10:53:45 +00:00
Stan Manilov ca410e88e4
Fix link to rustc_* TEST attributes in ui.md 2025-04-11 12:12:46 +03:00
Vadim Petrochenkov 0423c7b2df dev-guide: Document `dont-require-annotations`
and its use cases in more detail
2025-04-10 23:48:57 +03:00
Pietro Albini d7631d20aa
mention --edition restrictions in rustc-dev-guide 2025-04-10 12:34:57 +02:00
Jieyou Xu 5fb6b8e48f
rustc-dev-guide: document `needs-crate-type` 2025-04-10 12:52:08 +08:00
Tshepang Mbambo e76ab78d1d
improve flow 2025-04-07 06:42:37 +02:00
The rustc-dev-guide Cronjob Bot 216eb512fb Merge from rustc 2025-04-07 04:12:22 +00:00
bors 20d0bf9f27 Auto merge of #139301 - matthiaskrgr:rollup-sa6ali8, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #139080 (Experimental feature gate for `super let`)
 - #139145 (slice: Remove some uses of unsafe in first/last chunk methods)
 - #139149 (unstable book: document import_trait_associated_functions)
 - #139273 (Apply requested API changes to `cell_update`)
 - #139282 (rustdoc: make settings checkboxes always square)
 - #139283 (Rustc dev guide subtree update)
 - #139294 (Fix the `f16`/`f128` feature gates on integer literals)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-04-03 15:31:20 +00:00
Vadim Petrochenkov 8f4357e7a2 compiletest: Require `//~` annotations even if `error-pattern` is specified 2025-04-03 11:08:55 +03:00
Tshepang Mbambo a90cb7416c
test directive can appear anywhere in the file 2025-04-03 02:04:49 +02:00
Jieyou Xu 64527fa438
Merge from rustc 2025-04-02 23:26:35 +08:00