1
Fork 0

Rollup merge of #135237 - dianne:match-2024-cleanup, r=Nadrieril

Match Ergonomics 2024: document and reorganize the currently-implemented feature gates

The hope here is to make it easier to adjust, understand, and test the experimental pattern typing rules implemented in the compiler. This PR doesn't (or at isn't intended to) change any behavior or add any new tests; I'll be handling that later. I've also included some reasoning/commentary on the more involved changes in the commit messages.

Relevant tracking issue: #123076

r? `@Nadrieril`
This commit is contained in:
许杰友 Jieyou Xu (Joe) 2025-01-20 12:38:31 +08:00 committed by GitHub
commit 1419f79acf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 772 additions and 762 deletions

View file

@ -722,7 +722,8 @@ impl Features {
/// Some features are not allowed to be used together at the same time, if
/// the two are present, produce an error.
///
/// Currently empty, but we will probably need this again in the future,
/// so let's keep it in for now.
pub const INCOMPATIBLE_FEATURES: &[(Symbol, Symbol)] = &[];
pub const INCOMPATIBLE_FEATURES: &[(Symbol, Symbol)] = &[
// Experimental match ergonomics rulesets are incompatible with each other, to simplify the
// boolean logic required to tell which typing rules to use.
(sym::ref_pat_eat_one_layer_2024, sym::ref_pat_eat_one_layer_2024_structural),
];