wip(E4): partial source-pin + non-transitive flip [stdlib E4 attempt-1 WIP checkpoint]
Incomplete WIP from a worker killed at the 55-min wall (large blast radius: core source-pin + ~8 example migrations + ~10 library module migrations). Committed so the resumed session continues on a clean tree. May not build.
This commit is contained in:
@@ -58,6 +58,9 @@
|
||||
// =====================================================================
|
||||
|
||||
#import "modules/std.sx";
|
||||
// `Array`/`Object` methods take an explicit `alloc: Allocator`; bare-import
|
||||
// visibility is non-transitive, so the module that names the type imports it.
|
||||
#import "modules/allocators.sx";
|
||||
#import "modules/fs.sx";
|
||||
|
||||
// The writer's failure contract: a too-small caller buffer (Overflow) or
|
||||
|
||||
@@ -22,6 +22,12 @@
|
||||
// caller returns. If you need that, ship a `Block_copy`-backed sibling
|
||||
// API and use it instead.
|
||||
|
||||
// `build_block_convert` (below) is a comptime metaprogram that emits sx source
|
||||
// with `concat` / `int_to_string`; those live in std.sx. A metaprogram body
|
||||
// resolves its bare names in its OWN module (issue 0106), so this module must
|
||||
// import std.sx itself rather than relying on the call site's visibility.
|
||||
#import "modules/std.sx";
|
||||
|
||||
// Standard 32-byte block header plus two trailing slots for the sx closure
|
||||
// it wraps. Total = 48 bytes.
|
||||
Block :: struct {
|
||||
|
||||
Reference in New Issue
Block a user