012 store reject cascade cycle

✓ Passing Passing: the compiler rejects this program as expected.

Code

input.k

Actual compiler output

error[KORU161]: std/store: store cascade cycle: alpha.x -> beta.y -> alpha.x - interceptor contracts must be acyclic; a convergent self-write needs @converges (unbuilt, queue (d))
  --> tests/regression/600_STDLIB/690_STORE/690_012_store_reject_cascade_cycle/input.k:11:0

error[KORU161]: std/store:stored: unknown store 'alpha' - no std/store:new(alpha) found
  --> tests/regression/600_STDLIB/690_STORE/690_012_store_reject_cascade_cycle/input.k:15:0

error[KORU161]: std/store:stored: unknown store 'alpha' - no std/store:new(alpha) found
  --> tests/regression/600_STDLIB/690_STORE/690_012_store_reject_cascade_cycle/input.k:17:0

Backend must reject with:

CONTAINS cycle
CONTAINS alpha
CONTAINS beta

Error output must contain

store cascade cycle: alpha.x -> beta.y -> alpha.x — interceptor contracts must be acyclic; a convergent self-write needs @converges

Flows

flow ~new click a branch to expand · @labels scroll to their anchor
new (alpha, source: x: 0[i64])
flow ~new click a branch to expand · @labels scroll to their anchor
new (beta, source: y: 0[i64])
flow ~stored click a branch to expand · @labels scroll to their anchor
stored (source: alpha.x: 1)

Test Configuration

MUST_ERROR LANGUAGES: zig cs