Skip to content

Conversation

@istathar
Copy link
Member

@istathar istathar commented Sep 8, 2025

The parser.rs module was becoming enormous. Move the test code that was in a module in that file to a new location checks/ but jump through some minor hoops so that name didn't need to match the parent.

Also adds a fix to resolve mishandling of blank lines, and adds a new error case if parenthesis are omitted when binding to more than one variable.

Handle the $* special case that resets the attribute assignment.

Prevent the formatter from wrapping code inlines and within string interpolations. This is corner case territory, but it looks rubbish to have a single '}' sitting by itself on a line just because it got wrapped. So, when formatting, we instead keep the binding and surrounding code inline together as an atomic unit.

@istathar istathar self-assigned this Sep 8, 2025
@istathar
Copy link
Member Author

istathar commented Sep 8, 2025

I'm not convinced that this is the right approach, but it seems the only way to allow test code to see the internals of the module being checked.

@istathar istathar merged commit f6bd78b into technique-lang:main Sep 10, 2025
1 check passed
@istathar istathar deleted the improve-test-coverage branch September 10, 2025 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant