-
Notifications
You must be signed in to change notification settings - Fork 252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(frontend): Remove usage of chumsky fork #901
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking a stab at this. When I tried it previously, I couldn't get the parser recovery tests to pass either.
for now, i comment out the failing test cases in order to point them out will look further into these cases, also looking for some insights from those more familiar with the parser
|
assert_eq!(self.span, other.span); |
---- parser::parser::test::parse_block stdout ----
thread 'parser::parser::test::parse_block' panicked at 'assertion failed: `(left == right)`
left: `Span(Span { start: ByteIndex(11), end: ByteIndex(11) })`,
right: `Span(Span { start: ByteIndex(2), end: ByteIndex(9) })`', crates/noirc_frontend/src/parser/errors.rs:133:9
statement_recovery
both cases are actually hanging instead of failing, possibly due to infinite recursion introduced by this change in the parser?
I picked up this work. |
@pczarn thanks. It may be a valid option to replace the failing recovery tests with new recovery tests as long as we can still have some form of statement recovery. I'd also like to know the reasoning behind the infinite looping after the update since it is something we'll likely need to keep in mind for future changes. |
Closing this since it is outdated. We're going to retry removing our chumsky fork once chumsky merges 1.0.0 with its zero copy branch. |
Related issue(s)
Resolves #853.
Description
Summary of changes
Replace
recovier_via
of the chumsky fork withskip_parser
from chumsky 0.9.0.Dependency additions / changes
Test additions / changes
N/A
Checklist
cargo fmt
with default settings.Additional context
Tests that aren't passing yet:
parse_block
{ [0,1,2,3,4]
{ [0,1,2,3 }
statement_recovery
("let a: = 4 + 3", 1, "let a: error = (4 + 3)")
("let = 4 + 3", 1, "let $error: unspecified = (4 + 3)")