michael@0: let a = []; michael@0: a.length = 30; michael@0: michael@0: function check(f) { michael@0: try { michael@0: f(); michael@0: } catch (e) { michael@0: assertEq(e.message, "too much recursion"); michael@0: } michael@0: } michael@0: michael@0: let f = function() f(...a) + 1; michael@0: let g = () => g(...a) + 1; michael@0: let h = function() new h(...a) + 1; michael@0: michael@0: check(f); michael@0: check(g); michael@0: check(h);