✗
Failing This test is currently failing.
Failed: output
Failure Output
🎯 Compiler coordination: Passes: 20 (flow-based: elaborate, analysis, emission) Code
// PINS: the OUTER row binding is readable from inside a nested sweep's body.
//
// Two rows per store, so a shared row cursor cannot hide behind index 0 ==
// index 0. Each outer row must pair with every inner row, and `o.v` must
// name the outer store's column at the outer cursor.
//
// 690_086 pins that a sweep arm binds its row; 690_087 pins that two nested
// sweeps resolve independently, with a body that touches only the inner
// binding. This pin is the cross-row read those two leave uncovered: the
// outer binding named from inside the inner body.
import std/io
import std/store
std/store:new(outer, capacity: 4) { v: i64 }
std/store:new(inner, capacity: 4) { v: i64 }
std/store:insert(outer) { v: 10 }
std/store:insert(outer) { v: 20 }
std/store:insert(inner) { v: 1 }
std/store:insert(inner) { v: 2 }
std/store:sweep(outer)
! sweep o |> std/store:sweep(inner)
! sweep i |> std/io:print.ln("o {{ o.v:d }} i {{ i.v:d }}")
Actual
o 1 i 1
o 2 i 2
o 1 i 1
o 2 i 2
Expected output
o 10 i 1
o 10 i 2
o 20 i 1
o 20 i 2
Flows
flow ~new click a branch to expand · @labels scroll to their anchor
new (expr: outer, capacity: 4, source: v: i64)
flow ~new click a branch to expand · @labels scroll to their anchor
new (expr: inner, capacity: 4, source: v: i64)
flow ~insert click a branch to expand · @labels scroll to their anchor
insert (expr: outer, source: v: 10)
flow ~insert click a branch to expand · @labels scroll to their anchor
insert (expr: outer, source: v: 20)
flow ~insert click a branch to expand · @labels scroll to their anchor
insert (expr: inner, source: v: 1)
flow ~insert click a branch to expand · @labels scroll to their anchor
insert (expr: inner, source: v: 2)
flow ~sweep click a branch to expand · @labels scroll to their anchor
sweep (expr: outer)
Test Configuration
MUST_RUN