Skip to content

Commit 5b9ef30

Browse files
committed
Fix bad state propagation in many combinator implementation.
1 parent 2fdecf8 commit 5b9ef30

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

spago.dhall

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
, "ordered-collections"
2222
, "partial"
2323
, "prelude"
24-
, "psci-support"
2524
, "st"
2625
, "strings"
2726
, "transformers"

src/PureScript/CST/Parser/Monad.purs

+1-1
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ many (Parser p) = Parser
219219
if state3.consumed then
220220
runFn2 resume state3 error
221221
else
222-
runFn2 done state3 (Array.reverse (List.toUnfoldable acc))
222+
runFn2 done state2 (Array.reverse (List.toUnfoldable acc))
223223
)
224224
( mkFn2 \state3 value ->
225225
runFn2 go (List.Cons value acc) state3

test/Main.purs

+10
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,13 @@ main = do
110110
true
111111
_ ->
112112
false
113+
114+
assertParse "Failed mismatched parens"
115+
"""
116+
wat (bad
117+
"""
118+
case _ of
119+
(ParseFailed _ :: RecoveredParserResult Expr) ->
120+
true
121+
_ ->
122+
false

0 commit comments

Comments
 (0)