-- ::= import "core.ic"
scope {
enter ::= jump () {
if (true) then { goto done() }
}
exit ::= () -> () {}
}
We're attempting to do type verification for the if scope but when we look for possible returns/yields/gotos and we se the goto, we try to find out where it maps to, but it's not in the stack at all because we started with the if rather than the enclosing jump.
Reproducer:
We're attempting to do type verification for the
if
scope but when we look for possible returns/yields/gotos and we se thegoto
, we try to find out where it maps to, but it's not in the stack at all because we started with theif
rather than the enclosingjump
.