IntersectMBO/plutus

`dischargeCekValue` doesn't handle open terms correctly

Open

Aperta il 15 gen 2026

Vedi su GitHub
 (5 commenti) (1 reazione) (1 assegnatario)Haskell (1637 star) (511 fork)batch import
Good first issuebugstatus: triaged

Descrizione

dischargeCekValue has the following code:

                  -- var is free, leave it alone
                  (Var () named)

which means that

(\0 \0 var 2) (delay (var 1))

evaluates to

[1 :-> delay (var 1)] (\0 var 2)

which then discharges to

\0 delay (var 1)

which is variable capture.

Guida contributor