diff --git a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-member-expression-deoptimisation/actual.js b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-member-expression-deoptimisation/actual.js index d641bdb1a1..e2dd499687 100644 --- a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-member-expression-deoptimisation/actual.js +++ b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-member-expression-deoptimisation/actual.js @@ -74,3 +74,9 @@ function method (...rest) { function newExp (...rest) { new rest[0](); } + +// In addition to swap() above because at some point someone tried checking +// grandparent path for isArrayExpression() to deopt. +function arrayDestructure (...rest) { + [rest[0]] = x; +} diff --git a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-member-expression-deoptimisation/expected.js b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-member-expression-deoptimisation/expected.js index f1f31ed400..f8a3e5d0eb 100644 --- a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-member-expression-deoptimisation/expected.js +++ b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-member-expression-deoptimisation/expected.js @@ -135,3 +135,15 @@ function newExp() { new rest[0](); } + +// In addition to swap() above because at some point someone tried checking +// grandparent path for isArrayExpression() to deopt. +function arrayDestructure() { + for (var _len16 = arguments.length, rest = Array(_len16), _key16 = 0; _key16 < _len16; _key16++) { + rest[_key16] = arguments[_key16]; + } + + var _x = babelHelpers.slicedToArray(x, 1); + + rest[0] = _x[0]; +}