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` |
||
---|---|---|
.. | ||
asm.rs | ||
block.rs | ||
errors.rs | ||
expr.rs | ||
format.rs | ||
index.rs | ||
item.rs | ||
lib.rs | ||
lifetime_collector.rs | ||
pat.rs | ||
path.rs |