Skip to content

Commit d2353a8

Browse files
committed
feat: add argument includeUnExpected to shouldBeEOI
1 parent a27a825 commit d2353a8

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

Binary/Get.lean

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,14 @@ def many1 (p : Get α) : Get (Array α) := do
2626
return rest.insertIdx 0 first
2727

2828
@[always_inline, specialize]
29-
def shouldBeEOI : Get Unit := do
29+
def shouldBeEOI (includeUnExpected : Bool := false) : Get Unit := do
3030
let x ← remaining
3131
if x > 0 then
32-
fail "expected EOI"
32+
if includeUnExpected then
33+
let some c ← peek? | unreachable!
34+
fail s!"unexpected '{c}', expected EOI"
35+
else
36+
fail "expected EOI"
3337

3438
-- TODO: refactor following definitions for performance
3539

0 commit comments

Comments
 (0)