There was an incomplete version of the check in parsing and a second version in AST validation. This meant that some, but not all, invalid uses were allowed inside macros/disabled cfgs. It also means that later passes have a hard time knowing when the let expression is in a valid location, sometimes causing ICEs. - Add a field to ExprKind::Let in AST/HIR to mark whether it's in a valid location. - Suppress later errors and MIR construction for invalid let expressions. |
||
|---|---|---|
| .. | ||
| comments | ||
| case.rs | ||
| classify.rs | ||
| comments.rs | ||
| literal.rs | ||
| parser.rs | ||
| unicode.rs | ||