blob: cb5f79a256a9032734fb0ccd46609eadf776eb95 [file] [edit]
import Lean.Data.Parsec
open Lean Parsec
@[macro_inline] -- Error
def f : Nat → Nat
| 0 => 0
| n + 1 => f n
@[macro_inline] -- Error
def g : Nat → Nat
| 0 => 0
| n + 1 => g n
termination_by x => x
@[macro_inline] -- Error
def h : Nat → Nat → Nat
| 0, _ => 0
| n + 1, m => h n m
termination_by x y => x
@[macro_inline] -- Error
partial def skipMany (p : Parsec α) (it : String.Iterator) : Parsec PUnit := do
match p it with
| .success it _ => skipMany p it
| .error _ _ => pure ()