2b399b5275
never_patterns: Parse match arms with no body Never patterns are meant to signal unreachable cases, and thus don't take bodies: ```rust let ptr: *const Option<!> = ...; match *ptr { None => { foo(); } Some(!), } ``` This PR makes rustc accept the above, and enforces that an arm has a body xor is a never pattern. This affects parsing of match arms even with the feature off, so this is delicate. (Plus this is my first non-trivial change to the parser). ~~The last commit is optional; it introduces a bit of churn to allow the new suggestions to be machine-applicable. There may be a better solution? I'm not sure.~~ EDIT: I removed that commit r? `@compiler-errors` |
||
---|---|---|
.. | ||
arena.rs | ||
def_path_hash_map.rs | ||
def.rs | ||
definitions.rs | ||
diagnostic_items.rs | ||
hir_id.rs | ||
hir.rs | ||
intravisit.rs | ||
lang_items.rs | ||
lib.rs | ||
pat_util.rs | ||
stable_hash_impls.rs | ||
target.rs | ||
tests.rs | ||
weak_lang_items.rs |