///|
pub fn[T, A] Parser::look_ahead(self : Parser[T, A]) -> Parser[T, A] {
{
execute: state => {
match (self.execute)(state) {
Success(value, _, _, _) => Success(value, state, false, false)
Failure(error, _, _) => Failure(error, false, false)
}
},
}
}
///|
pub fn[T, A] Parser::not_followed_by(
self : Parser[T, A],
expected~ : String,
) -> Parser[T, Unit] {
{
execute: state => {
match (self.execute)(state) {
Success(_, _, _, _) =>
Failure(
NotFollowedBy(label=expected, offset=state.offset()),
false,
false,
)
Failure(_, _, _) => Success((), state, false, false)
}
},
}
}