rustc-dev-guide/src
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
..
appendix Update `ParamEnv` section for `TypingEnv` changes 2025-03-20 17:30:22 +00:00
backend Fix deadlink in libs-and-metadata.md 2025-04-06 20:05:03 +08:00
borrow_check nyaa 2025-01-15 14:23:48 +01:00
building Fix partial clone link 2025-03-30 13:21:01 +01:00
const-eval Fix more links (#1884) 2024-02-21 12:17:28 -03:00
diagnostics tree-wide: parallel: Fully removed all `Lrc`, replaced with `Arc` 2025-02-03 13:25:57 +03:00
guides Fix some broken links 2025-01-14 21:52:33 -08:00
img Remove outdated references to coverage debug code (#1797) 2023-09-22 01:32:45 +09:00
mir intern valtrees 2025-02-13 00:38:17 +01:00
notification-groups Merge from rustc 2025-04-02 23:26:35 +08:00
profiling replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
queries Use `id` attribute for `<a>` tags instead of deprecated `name` attribute (#2184) 2024-12-31 22:02:50 +08:00
rustc-driver Merge pull request #2289 from y1lan/fix_compiler_err_of_examples 2025-03-29 23:10:13 +02:00
rustdoc-internals typo 2025-03-24 10:41:19 +02:00
solve Remove redundant words 2025-04-09 18:46:50 +08:00
tests Auto merge of #139578 - ferrocene:pa-compiletest-edition, r=jieyouxu 2025-04-11 10:53:45 +00:00
traits Update `ParamEnv` section for `TypingEnv` changes 2025-03-20 17:30:22 +00:00
ty_module Fix trivial typo of `BoundVariableKind` 2025-03-28 21:04:21 +01:00
SUMMARY.md Merge pull request #2299 from jieyouxu/test-jobs-reorg 2025-03-24 16:29:25 +08:00
about-this-guide.md Update about-this-guide.md 2025-01-28 07:43:16 +01:00
asm.md Fix some typos 2024-12-18 07:56:30 +02:00
ast-lowering.md Rename AstConv to HIR ty lowering 2024-03-23 08:44:42 +01:00
ast-validation.md Fix Typo and Remove Outdated Line About C Variadics 2024-09-10 09:32:10 +02:00
attributes.md Document inert vs active attributes (#1110) 2024-06-23 16:09:09 +02:00
borrow_check.md Fix rustc_borrowck crate name typo (#1535) 2022-12-25 21:11:21 +09:00
bug-fix-procedure.md Fix broken raw HTML (#2198) 2025-01-07 16:00:59 +08:00
cli.md --verbose is useful when not compiling and when compiling (#901) 2020-09-29 17:18:00 +02:00
closure.md fix some more typos 2025-01-14 23:01:42 -08:00
coherence.md Fix some typos 2024-12-18 07:56:30 +02:00
compiler-debugging.md replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
compiler-src.md Fix internal and incomplete links (#2107) 2024-10-31 11:13:57 +08:00
compiler-team.md Replace experts map with reviewers from triagebot 2023-12-05 18:40:26 +02:00
const-eval.md Update `ParamEnv` section for `TypingEnv` changes 2025-03-20 17:30:22 +00:00
contributing.md Fix MCP links 2025-03-14 15:18:58 +01:00
conventions.md Fix a typo in conventions.md 2025-01-31 10:23:46 +11:00
coroutine-closures.md Ok now linkify 2024-11-02 16:45:00 -04:00
crates-io.md Vetting deps datecheck (#1614) 2023-02-18 22:20:08 +09:00
debugging-support-in-rustc.md fix: stabilize debugger_visualizer 2023-08-14 10:34:59 +02:00
diagnostics.md Delete from_method from rustc_on_unimplemented documentation 2025-03-27 18:32:48 +01:00
early_late_parameters.md Remove accidental leading empty line in code block 2025-01-26 02:42:09 +01:00
effects.md consider `explicit_implied_const_bounds` 2025-03-08 16:38:44 +08:00
external-repos.md Add portable SIMD to list of subtrees 2025-01-20 13:53:10 +01:00
feature-gate-ck.md Create issues for many TODOs (#1163) 2021-07-02 10:43:12 +02:00
feature-gates.md Remove feature edition fields. (#1836) 2023-12-13 21:19:43 +09:00
fuzzing.md replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
generic_parameters_summary.md Split stuff out of representing types, and rewrite early/late bound chapter (#2192) 2025-01-05 17:51:45 +01:00
getting-started.md Remove "Port run-make tests from Make to Rust" tracking issue from Recurring work 2025-02-04 01:26:15 +05:30
git.md squashing: recommend --keep-base when squashing without a conflict (#2157) 2024-12-07 06:59:23 +08:00
hir-debugging.md recommend `unpretty=hir` alongside `unpretty=hir-tree` 2023-10-18 10:01:49 -07:00
hir.md Move methods from `Map` to `TyCtxt`, part 4. 2025-03-12 08:55:37 +11:00
implementing_new_features.md Fix MCP links 2025-03-14 15:18:58 +01:00
incrcomp-debugging.md Followup to #1862 (#1864) 2024-01-28 06:12:41 +09:00
lang-items.md fix some typos (#1398) 2022-07-17 06:45:36 +09:00
licenses.md chore: fix some comments 2024-07-30 08:04:13 +02:00
llvm-coverage-instrumentation.md replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
macro-expansion.md Minor edits 2024-09-24 20:16:28 +02:00
memory.md Fix broken links (#2123) 2024-11-04 16:24:05 +08:00
method-lookup.md comment out FIXMEs to not display them on UI (#2186) 2025-01-05 17:51:45 +01:00
name-resolution.md Fix rib example 2025-01-07 21:29:45 +01:00
opaque-types-impl-trait-inference.md fix some more typos 2025-01-14 23:01:42 -08:00
opaque-types-type-alias-impl-trait.md make date-check more lightweight (#1394) 2022-08-02 13:50:32 -07:00
overview.md replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
panic-implementation.md separate link target from normal content 2024-02-11 06:36:15 +01:00
parallel-rustc.md Remove some unnecessary aliases from `rustc_data_structures::sync` 2025-03-03 20:20:24 +11:00
part-2-intro.md refactor(parts): remove part numbers to be consistent 2023-08-11 09:55:19 +02:00
part-3-intro.md refactor(parts): remove part numbers to be consistent 2023-08-11 09:55:19 +02:00
part-4-intro.md refactor(parts): remove part numbers to be consistent 2023-08-11 09:55:19 +02:00
part-5-intro.md revert(part-5-intro): revert 4806958 2023-08-11 09:55:19 +02:00
pat-exhaustive-checking.md Fix some typos 2024-12-18 07:56:30 +02:00
profile-guided-optimization.md replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
profiling.md replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
query.md Fix some links 2023-06-29 06:43:19 +02:00
return-position-impl-trait-in-trait.md fix some typos 2024-05-21 11:56:12 +02:00
rustbot.md Add some explanations for frequently used rustbot commands (#1849) 2024-01-20 19:56:35 +08:00
rustdoc-internals.md Fix rustc-related links that are 404 right now (#2112) 2024-11-02 20:53:31 +08:00
rustdoc.md add some links about the rustdoc-gui test suite 2025-04-03 15:09:11 -05:00
sanitizers.md replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
serialization.md minor edits 2024-09-24 20:33:04 +02:00
stability.md rustc-dev-guide: add note about not adding rustc_allowed_through_unstable_modules to more items 2025-01-14 17:00:12 +01:00
stabilization_guide.md Use `id` attribute for `<a>` tags instead of deprecated `name` attribute (#2184) 2024-12-31 22:02:50 +08:00
syntax-intro.md Fix internal and incomplete links (#2107) 2024-10-31 11:13:57 +08:00
test-implementation.md Document inert vs active attributes (#1110) 2024-06-23 16:09:09 +02:00
the-parser.md Fix some broken links 2025-01-14 21:52:33 -08:00
thir.md Fix rustc-related links that are 404 right now (#2112) 2024-11-02 20:53:31 +08:00
tracing.md replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
ty-fold.md linkcheck: fix reported broken links (part 2) (#2024) 2024-07-27 14:45:57 +02:00
ty.md Flatten generic parameter defs section 2024-11-22 11:17:57 +00:00
type-checking.md fix review suggestion 2023-01-21 16:12:58 +02:00
type-inference.md Use `id` attribute for `<a>` tags instead of deprecated `name` attribute (#2184) 2024-12-31 22:02:50 +08:00
typing_parameter_envs.md Update `ParamEnv` section for `TypingEnv` changes 2025-03-20 17:30:22 +00:00
unsafety-checking.md Fix more links (#1884) 2024-02-21 12:17:28 -03:00
variance.md Use `id` attribute for `<a>` tags instead of deprecated `name` attribute (#2184) 2024-12-31 22:02:50 +08:00
walkthrough.md Use `id` attribute for `<a>` tags instead of deprecated `name` attribute (#2184) 2024-12-31 22:02:50 +08:00