From 49728be8b6f60cac89d705b3529982b5acb76561 Mon Sep 17 00:00:00 2001 From: Jesse McCarthy Date: Thu, 7 Jan 2016 10:56:29 -0500 Subject: [PATCH] Test for no-opt of assign to rest param element. That is, do not attempt to optimize assignments as opposed to reads. (Failing.) --- .../rest-member-expression-deoptimisation/actual.js | 4 ++++ .../rest-member-expression-deoptimisation/expected.js | 8 ++++++++ 2 files changed, 12 insertions(+) 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 ea52cc8f47..fb6ba1b013 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 @@ -40,3 +40,7 @@ var b = function (foo, ...bar) { var b = function (foo, baz, ...bar) { return bar.length; }; + +function x (...rest) { + rest[0] = 0; +} 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 90cd7907df..d23fd1278f 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 @@ -69,3 +69,11 @@ var b = function (foo) { var b = function (foo, baz) { return arguments.length - 2; }; + +function x() { + for (var _len8 = arguments.length, rest = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { + rest[_key8] = arguments[_key8]; + } + + rest[0] = 0; +}