tests/pass/upvalue.lua

1
local u;
2
local f = {};
3
for i=1,2 do
4
	f[i] = function (set)
5
		if set then
6
			u = set;
7
		end
8
		return u;
9
	end;
10
end
11
 
12
assert(f[1]("foo") == "foo");
13
assert(f[2]() == "foo");
14
 
15
assert(f[2]("bar") == "bar");
16
assert(f[1]() == "bar");