diff --git a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arguments-deoptimisation/actual.js b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arguments-deoptimisation/actual.js new file mode 100644 index 0000000000..ad80b3b6b6 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arguments-deoptimisation/actual.js @@ -0,0 +1,3 @@ +function x (...rest) { + arguments; +} diff --git a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arguments-deoptimisation/expected.js b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arguments-deoptimisation/expected.js new file mode 100644 index 0000000000..51cfa47eb1 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arguments-deoptimisation/expected.js @@ -0,0 +1,7 @@ +function x() { + for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) { + rest[_key] = arguments[_key]; + } + + arguments; +} diff --git a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arrow-functions/actual.js b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arrow-functions/actual.js index e9d376e92b..71e7259277 100644 --- a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arrow-functions/actual.js +++ b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arrow-functions/actual.js @@ -22,3 +22,8 @@ function demo1(...args) { return args[i+0]; }; } + +var x = (...rest) => { + if (noNeedToWork) return 0; + return rest; +}; diff --git a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arrow-functions/expected.js b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arrow-functions/expected.js index 33eea1d670..322e79dc7e 100644 --- a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arrow-functions/expected.js +++ b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-arrow-functions/expected.js @@ -28,3 +28,12 @@ function demo1() { return args[i + 0]; }; } + +var x = function () { + for (var _len2 = arguments.length, rest = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + rest[_key2] = arguments[_key2]; + } + + if (noNeedToWork) return 0; + return rest; +};