type_store: remove duplicate assignment
tests/17-alloc: remove a nomem check
tests/17-alloc: remove unused global in fail test
check: improve even more error messages
check: improve quality of switch error messages
tests/12-loops: remove unnecessary heap allocation
parse: further improve error msg for tuple unpacking def
7c0c436970ec91dcdd8af4a457b040fe464de5f4 improved the previously
incorrect error messsage, but this commit adds a specialized error
message which better communicates the error to the user.
Implement discarding bindings and assignment
let _ = expr;
_ = expr;
for (let _ .. expr) void;
for (let _ &.. expr) void;
for (let _ => expr) void;
void casts have also been removed.
This is a breaking change.
Implements: https://todo.sr.ht/~sircmpwn/hare/461
check: recover from for-each binding error
check: improve error message
check: disallow unexported ident in exported constant
typedef support unary & TODO
typedef: support unary & constant initializer
Use assert(0) instead of abort()
abort(3) shouldn't be used for unreachable code; using assert(3) prints
debug info when reached.
Add rt::allocator (TODO: rt docs; docs/runtime.txt)
eval: implement signed shifts
Also adds a lot of tests for runtime signed shifts, to verify that
compile-time and runtime behavior is identical