Files
wren/test/closure/reuse_closure_slot.wren
T
Bob Nystrom e20da2f070 feat: migrate all function literals from fn syntax to new Fn block syntax
Replace all occurrences of the old `fn` function literal syntax with the new `new Fn {|params| body}` block syntax across benchmark, test, and source files. Update the Wren compiler to handle the pipe operator as a block argument delimiter by removing `TOKEN_PIPE` from the newline-swallowing token list and adding explicit newline matching in `infixOp`. Adjust test expectations in `conditional/precedence.wren` to remove `fn`-based expressions and update `test/assignment/local.wren` to use the new syntax.
2014-04-03 02:41:53 +00:00

18 lines
356 B
Plaintext

{
var f = null
{
var a = "a"
f = new Fn { IO.print(a) }
}
{
// Since a is out of scope, the local slot will be reused by b. Make sure
// that f still closes over a.
var b = "b"
f.call // expect: a
}
}
// TODO: Maximum number of closed-over variables (directly and/or indirect).
// TODO: Shadow variable used in closure.