fibers B1.2: BLOCKED on compiler bugs 0150 + 0151 (Io design proven)
Stream B1 B1.2 (Io capability + context.io + Future + cancel) is blocked on two newly-discovered, independent compiler bugs, both with standalone repros: - 0150: a `void` struct field crashes the compiler with an unsized-type SIGTRAP in LLVM getTypeSizeInBits. Blocks `Future(void)` -> `timeout`. - 0151: a type-var inferred from a fn-pointer parameter's RETURN type is not bound as a usable type in the function body (`unknown type 'R'`). Blocks the central `async(io, worker: ($A)->$R, arg)` free-fn's `Future(R)`. The B1.2 design itself is validated end-to-end (the Io protocol threaded on Context like Allocator, the stateless blocking CBlockingIo default, both __sx_default_context materializers, and `context.io.now_ms()` all work live). Only the async/await/timeout ergonomic layer hits the two bugs. Per the IMPASSABLE STOP rule, all B1.2 working changes were reverted (master green, 726/0) and the work paused pending fixes; WIP is saved at .sx-tmp/b12-wip/. Checkpoint + plan updated to mark B1.2 BLOCKED with full resume notes.
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
# PLAN-FIBERS — Stream B1 (fibers + Io + M:1 scheduler)
|
||||
|
||||
> **STATUS: 🚧 in progress.** B1.0 (`abi(.naked)` codegen) ✅ + B1.1 (per-fiber `context`
|
||||
> root — zero compiler change, library convention) ✅ complete. Next step = **B1.2** (`Io`
|
||||
> interface + `context.io` + `Future` + `cancel()`).
|
||||
> root — zero compiler change, library convention) ✅ complete. **B1.2** (`Io` interface +
|
||||
> `context.io` + `Future` + `cancel()`) is **🔴 BLOCKED on compiler issues 0150 (`void`
|
||||
> struct field SIGTRAP) + 0151 (type-var from a fn-ptr-return not bound in body)** — the Io
|
||||
> design is proven (the protocol-on-`Context` + blocking default + `context.io.now_ms()` work
|
||||
> live), but `Future(void)`/`timeout` and the `async`/`await` generics hit those two bugs.
|
||||
> Resume B1.2 after both land (WIP saved at `.sx-tmp/b12-wip/`); see `CHECKPOINT-FIBERS.md`.
|
||||
|
||||
Carved from [PLAN-POST-METATYPE.md](PLAN-POST-METATYPE.md) Stream B (§B1) + the
|
||||
design-of-record [../design/execution-evolution-roadmap.md](../design/execution-evolution-roadmap.md)
|
||||
|
||||
Reference in New Issue
Block a user