mem: Step 8 — delete context global from std.sx

The `context : Context = ---;` global in `library/modules/std.sx` had
no remaining readers — all `context.X` lookups in user code resolve
through `current_ctx_ref` (Step 5), `push Context.{...}` uses an alloca
slot (Step 6), and `allocViaContext` sources from the lowering's
current ref. `emitDefaultContextInit` (the only writer) was already
removed in Step 5.

`inferExprType` for the `context` identifier now returns the registered
`Context` type when implicit-ctx is enabled, mirroring the lowering's
identifier-handling fast path. Without this, `context.allocator` would
type as `s64` (the fallback) and the field access would fail.

11 JNI/ObjC IR snapshots regen — the `@context` LLVM global is gone
from each.

152/152 example tests pass.
This commit is contained in:
agra
2026-05-25 09:13:36 +03:00
parent 4bf5908792
commit b69a2ea29c
13 changed files with 5 additions and 13 deletions

View File

@@ -33,8 +33,6 @@ Context :: struct {
data: *void;
}
context : Context = ---;
// --- Slice & string allocation ---
cstring :: (size: s64) -> string {