○
Planned This feature is planned but not yet implemented.
In-file abstract/override pattern - needs restructuring to use cross-module imports.
Failure Output
Showing last 10 of 244 lines
debug(module_resolver): ✓ FOUND file: /Users/larsde/src/koru/koru_std/testing.kz
debug(module_resolver): ✓ Resolved via fallback 1/1
debug(module_resolver):
═══ ModuleResolver.resolveBoth() ═══
debug(module_resolver): Import path:
... [truncated - 17KB total] Code
// Test 430_004: Abstract with Both Default AND Impl (Explicit Delegation)
// When an abstract event has BOTH a default and an override:
// - The override becomes the public handler
// - The default is renamed to `event.default`
// - Override EXPLICITLY calls `.default` to delegate
//
// This is the "wrap and extend" pattern with NO MAGIC!
~import "$std/io"
// Define abstract event
~[abstract] event process { name: []const u8 }
| result []const u8
// Default implementation: just returns the name
~process = result { message: name }
// Override: EXPLICITLY calls process.default, then passes through
// Note: process.default - not process! No magic, no confusion.
~process = process.default(name: name) | result r |> result { message: r.message }
// Test it
~process(name: "delegation works!")
| result r |> io.println(message: r.message)
Expected
delegation works!