Skip to content

Commit a27a825

Browse files
committed
fix: sepBy, sepByUpTo
1 parent 7686753 commit a27a825

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

Binary/Get.lean

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ def takeRange (min max : Nat) (p : Get α) : Get (Array α) := do
9191

9292
@[inline, specialize]
9393
def sepBy (x : Get α) (sep : Get Unit) : Get (Array α) := do
94-
let mut t := #[]
94+
let some l ← optional x | return #[]
95+
let mut t := #[l]
9596
repeat
9697
let some v ← optional (sep *> x) | break
9798
t := t.push v
@@ -108,7 +109,8 @@ def sepBy1 (x : Get α) (s : Get Unit) : Get (Array α) := do
108109

109110
@[inline, specialize]
110111
def sepByUpTo (n : Nat) (x : Get α) (s : Get Unit) : Get (Array α) := do
111-
let mut t := #[]
112+
let some l ← optional x | return #[]
113+
let mut t := #[l]
112114
repeat
113115
if t.size ≥ n then break
114116
let some v ← optional (s *> x) | break

0 commit comments

Comments
 (0)