✓
Passing This code compiles and runs correctly.
Code
// PINS: a row handle minted by ONE store must not address a DIFFERENT store.
//
// `__koru_resolve` already carries the refusal for this case verbatim —
// "the value is not a handle this store issued (handles come from `| row` and
// row cursors)" — so the guarantee is claimed. It cannot fire: the resolve
// checks slot bounds and generation only, and two stores filled in the same
// order mint identical slot|gen values, so a sibling's handle passes both.
//
// This is the 690_115/116 trap floor's missing direction. Those pin a handle
// that has gone STALE against its own store; this pins a handle that was
// never this store's to begin with. Same guard, same message, the mirror
// nobody wrote.
import std/io
import std/store
std/store:new(src, capacity: 4) { v: i64 }
std/store:new(dst, capacity: 4) { v: i64 }
std/store:insert(dst) { v: 100 }
| row _ |> _
| full |> _
std/store:insert(src) { v: 1 }
| row r |> std/store:stored { dst[r].v: 999 }
| full |> _
std/store:query(dst)
! query b |> std/io:print.ln("dst {{ b.v:d }}")
Actual
thread 338329182 panic: std/store: 'dst[...]' does not address a row - the value is not a handle this store issued (handles come from `| row` and row cursors)
???:?:?: 0x102cfe22f in _output_emitted.main_module.__KoruStoreT_dst.__koru_resolve (???)
???:?:?: 0x102cfd9a3 in _output_emitted.main_module.flow1 (???)
???:?:?: 0x102cfd757 in _output_emitted.main (???)
???:?:?: 0x102cfd66b in _main (???)
???:?:?: 0x18eec7dff in ??? (???)
???:?:?: 0x0 in ??? (???)
Flows
flow ~new click a branch to expand · @labels scroll to their anchor
new (expr: src, capacity: 4, source: v: i64)
flow ~new click a branch to expand · @labels scroll to their anchor
new (expr: dst, capacity: 4, source: v: i64)
flow ~insert click a branch to expand · @labels scroll to their anchor
insert (expr: dst, source: v: 100)
flow ~insert click a branch to expand · @labels scroll to their anchor
insert (expr: src, source: v: 1)
flow ~query click a branch to expand · @labels scroll to their anchor
query (expr: dst)
Test Configuration
MUST_RUN