enso/lib
Kaz Wesley 8771855993
Fix failure to parse an invalid syntax case (#11754)
Fix failure to parse a syntax case involving unexpected usage of annotated expressions (fixes #11691).

The root cause of the bug was usage of the `matches!` macro in a situation where a `match` statement should have been used to enforce exhaustiveness.

- I have corrected the bug, and reviewed all usages of the `matches!` macro. I didn't find any other *incorrect* usages of `matches!`, but I found and replaced some potentially *fragile* uses. I also simplified some unnecessary uses of `matches!`, replacing them with expressions that are more-obviously correct.
- Stricter parsing: It is now a syntax error for an inline annotation to occur in the RHS of an application (e.g. `fn @Tail_Call recur`)--the precedence in this case may be surprising, so parentheses should be used around the annotated expression.

`parse_all_enso_files.sh`: This PR does not affect any AST in the .enso corpus.
2024-12-05 20:16:40 +00:00
..
java More IR mini passes (#11501) 2024-11-28 18:00:42 +00:00
js/runner Drop git dependency on enso-bot repository (#11539) 2024-11-12 18:25:19 +00:00
rust Fix failure to parse an invalid syntax case (#11754) 2024-12-05 20:16:40 +00:00
scala Enhance Managed_Resource to allow implementation of in-memory caches (#11577) 2024-12-03 15:13:22 +01:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

Libraries

This directory contains the libraries that should remain in this project, but that are not technically part of the main language implementation itself.