Skip to content

phrase method loses error context when successful parse result has lastFailure #518

Open
@i10416

Description

@i10416

When phrase is applied to successful parse result which has lastFailure, it returns only the original failure.
I think it would be better to add a message that indicates the EOF is expected in the same way as it does when lastFailure is None.

For example, the following p fails because there are trailing spaces after d, but error message comes from c parse failure which doesn't have any hint for EOF.

val input = "a b d  "
val p = phase(/* a parser that parses `a b (c or d)`*/)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions