We can now write ```lean syntax "case!" ident ":" term "with" term "," term : term macro_rules | `(case! $h : $c with $t, $e) => `(let $h := $c; cond $h $t $e) ``` Before the series of commits to change `let` syntax, the quasiquotation `(let $h := $c; cond $h $t $e) produced the weird error message "`;` expected" at ":=". The problem was that $h was matching the now deleted "nonterminal" ```lean def letIdDecl := parser! try (letIdLhs >> " := ") >> termParser ``` This was not a bug, but a side-effect on how the `let` syntax was declared. cc @kha |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lean | ||
| playground | ||
| plugin | ||