feat: multi-instance closures, richer stdlib, and Rust-style diagnostics

Introduce fat function pointers (BuxFn {code, env}) so capturing closures
are heap-allocated per value in both bootstrap and selfhost. Expand
Array/Map/Set/String/Test/Result APIs, add proper tuple codegen and
error snippets with multi-char underlines, golden diagnostic tests, and
LSP diagnostics via buxc check.
This commit is contained in:
2026-07-15 16:00:21 +03:00
parent 94e6806dda
commit 61ac06ab5f
48 changed files with 2789 additions and 362 deletions
+7
View File
@@ -0,0 +1,7 @@
[Package]
Name = "undeclared"
Version = "0.1.0"
Type = "bin"
[Build]
Output = "Bin"
@@ -0,0 +1,7 @@
error: type errors in project
error: undeclared identifier 'noSuchVar'
--> FILE:4:15
|
4 | PrintLine(noSuchVar);
| ^^^^^^^^^
= help: check the spelling, or import the symbol from the right module
@@ -0,0 +1,6 @@
import Std::Io::PrintLine;
func Main() -> int {
PrintLine(noSuchVar);
return 0;
}