✓
Passing This code compiles and runs correctly.
Code
// The counterpart to 690_032: when a `removed` interceptor actually USES its
// bound row field, the binding is legal and the value threads into the body.
// Here `removed { hp }` subtracts the departing row's hp from a running total
// — the row's outgoing values are exactly what the take path supplies. This
// pins that the KORU100 usage check for interceptor payloads does not
// over-reject a genuinely-consumed binding.
import std/io
import std/store
std/store:new(stats) { total: 0[i64] }
std/store:new(pool) { hp: i64 }
! removed { hp } |> std/store:stored { stats.total: stats.total - hp }
std/store:watch(stats)
! total t |> std/io:print.ln("total {{ t:d }}")
std/store:insert(pool) { hp: 7 }
| row b |> std/store:take(pool[b])
| item _ |> _
Actual
total -7
Expected output
total -7
Flows
flow ~new click a branch to expand · @labels scroll to their anchor
new (expr: stats, source: total: 0[i64])
flow ~new click a branch to expand · @labels scroll to their anchor
new (expr: pool, source: hp: i64)
flow ~watch click a branch to expand · @labels scroll to their anchor
watch (expr: stats)
flow ~insert click a branch to expand · @labels scroll to their anchor
insert (expr: pool, source: hp: 7)
Test Configuration
MUST_RUN