SIGN IN SIGN UP

ast: compute required capabilities during compile

This commit adds support for computing the required capabilities on
compile. Built-in function requirements are mostly handled by the type
checker with the exception of special builtins that are rewritten by the
compiler. Each of those built-ins have a dedicated test case. Future
keywords and features are handled by a new stage on the compiler.

Also, fix error handling around print rewriting safety check as it was
silently dropping errors if there were multiple comprehensions in the
expression and the last one was valid. The error would have eventually
been caught by the type checker, so this just improves the error message
in that case. message in that case. message in that case. message in
that case.

Signed-off-by: Torin Sandall <torin@styra.com>
T
Torin Sandall committed
340611de83377be6f54e62073fecc26affda148d
Parent: 799eeff
Committed by Torin Sandall <torinsandall@gmail.com> on 10/30/2023, 4:36:35 PM