Skip to content
Discussion options

You must be logged in to vote

TL;DR:

⚠️ If you're getting unrelated compiler errors after changing the parser code, it means the parser is broken.
Fixing the parser will also fix these errors.
Integration tests will not work until you fix the parser.
This is a known limitation.

essence_expr! macros call the parser at compile time. If the parser is broken for whatever reason (e.g. when you change the treesitter grammar, but haven't fully updated the Rust side of the parser yet), macros will fail to expand and cause compile time errors throughout the project.

The solution is to write dedicated parser tests inside the conjure-cp-essence-parser crate, and use these to debug the parser;
Then, when the parser works (at le…

Replies: 2 comments 2 replies

Comment options

You must be logged in to vote
1 reply
@niklasdewally
Comment options

Comment options

You must be logged in to vote
1 reply
@gskorokhod
Comment options

Answer selected by gskorokhod
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants