rust/tests
Matthias Krüger c1ed1f133e
Rollup merge of #131381 - Nadrieril:min-match-ergonomics, r=pnkfelix
Implement edition 2024 match ergonomics restrictions

This implements the minimalest version of [match ergonomics for edition 2024](https://rust-lang.github.io/rfcs/3627-match-ergonomics-2024.html). This minimal version makes it an error to ever reset the default binding mode. The implemented proposal is described precisely [here](https://hackmd.io/zUqs2ISNQ0Wrnxsa9nhD0Q#RFC-3627-nano), where it is called "RFC 3627-nano".

Rules:
- Rule 1C: When the DBM (default binding mode) is not `move` (whether or not behind a reference), writing `mut`, `ref`, or `ref mut` on a binding is an error.
- Rule 2C: Reference patterns can only match against references in the scrutinee when the DBM is `move`.

This minimal version is forward-compatible with the main proposals for match ergonomics 2024: [RFC3627](https://rust-lang.github.io/rfcs/3627-match-ergonomics-2024.html) itself, the alternative [rule 4-early variant](https://rust-lang.github.io/rfcs/3627-match-ergonomics-2024.html), and [others](https://hackmd.io/zUqs2ISNQ0Wrnxsa9nhD0Q). The idea is to give us more time to iron out a final proposal.

This includes a migration lint that desugars any offending pattern into one that doesn't make use of match ergonomics. Such patterns have identical meaning across editions.

This PR insta-stabilizes the proposed behavior onto edition 2024.

r? `@ghost`

Tracking:

- https://github.com/rust-lang/rust/issues/123076
2024-10-16 19:18:30 +02:00
..
assembly Rollup merge of #131208 - mustartt:aix-call-abi, r=davidtwco 2024-10-11 15:36:51 +02:00
auxiliary
codegen Auto merge of #131460 - jwong101:default-placement-new, r=ibraheemdev 2024-10-16 06:36:43 +00:00
codegen-units Fix and enable disabled codegen-units tests 2024-08-10 14:03:27 -04:00
coverage coverage: Include the highest counter ID seen in .cov-map dumps 2024-10-11 21:04:37 +11:00
coverage-run-rustdoc coverage: Extract hole spans from HIR instead of MIR 2024-07-08 21:22:56 +10:00
crashes rebase and update fixed crashes 2024-10-15 13:11:00 +02:00
debuginfo Rollup merge of #131521 - jdonszelmann:rc, r=joboet 2024-10-15 12:33:36 -04:00
incremental Bless incremental tests. 2024-10-04 23:50:01 +00:00
mir-opt Rollup merge of #130822 - bjoernager:non-null-from-ref, r=dtolnay 2024-10-16 19:18:30 +02:00
pretty Add pretty, ui, and feature-gate tests for the enzyme/autodiff frontend 2024-10-11 20:38:43 +02:00
run-make Fix unnecessary nesting in run-make test output directories 2024-10-16 12:40:25 +11:00
rustdoc Auto merge of #131076 - lukas-code:doc-stab2, r=notriddle 2024-10-01 04:30:33 +00:00
rustdoc-gui Strengthen some GUI tests 2024-10-09 21:23:20 +02:00
rustdoc-js rustdoc-search: allow trailing Foo -> arg search 2024-09-05 17:58:05 -07:00
rustdoc-js-std Fix rustdoc-js-std path-ordering test due to API removal 2024-10-02 11:15:48 +02:00
rustdoc-json Remove unadorned 2024-10-11 11:30:08 -04:00
rustdoc-ui Remove deprecation note in the non_local_definitions warning 2024-10-11 21:21:32 +02:00
ui Rollup merge of #131381 - Nadrieril:min-match-ergonomics, r=pnkfelix 2024-10-16 19:18:30 +02:00
ui-fulldeps Remove 'apostrophes' from rustc_parse_format 2024-10-14 23:22:51 +02:00
COMPILER_TESTS.md