michael@0: michael@0: /* Non-reentrant closure used in an invoke session. */ michael@0: michael@0: var last = null; michael@0: michael@0: var a = [1,2,3,4,5,6,7,8]; michael@0: var b = a.map(function(x) { michael@0: x++; michael@0: var res = last ? last() : 0; michael@0: last = function() { return x; }; michael@0: return res; michael@0: }); michael@0: michael@0: assertEq("" + b, "0,2,3,4,5,6,7,8");