diff --git a/parser/src/lib.rs b/parser/src/lib.rs index b2e87ce..1ea885b 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -19,7 +19,7 @@ pub fn parse(_str: &str, _file_name: PathBuf) -> Result { pub fn test() { let src = " fn main() { - u64 hello = 5; + u64 hello = 4 } "; diff --git a/parser/src/parser.rs b/parser/src/parser.rs index 8a7c651..3a6e6eb 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -223,6 +223,7 @@ fn statement_parser<'src>() -> impl Parser, Stmt, Error = Error<'src .or(while_loop) }) .labelled("statement") + .boxed() } fn name_ty_pair_parser<'src>() -> impl Parser, NameTyPair, Error = Error<'src>> + Clone @@ -304,7 +305,7 @@ where I: 'src, I: Iterator, Span)>, { - file_parser(file_name).parse_recovery_verbose(Stream::from_iter(len..len + 1, lexer)) + file_parser(file_name).parse_recovery(Stream::from_iter(len..len + 1, lexer)) } #[cfg(test)]