jerryscript icon indicating copy to clipboard operation
jerryscript copied to clipboard

Array concatenation exception

Open AidPaike opened this issue 3 years ago • 1 comments

Version

Version: 3.0.0 ( 6fe763f )

Execution steps

/root/.jsvu/jerry Testcase.js

Test case 1

var foo = function(it) {
    var a = [...it, , ];
    print(a);
    print(a.length);
};
var Parameter0 = [1, 2];
foo(Parameter0);

Output 1

1,2
2

Expected behavior

1,2,
3

Test case 2

var foo = function(it) {
    var arr = [ , ];
    var a = it.concat(arr);
    print(a);
    print(a.length);
};
var Parameter0 = [1, 2];
foo(Parameter0);

Output 2

1,2,
3

Description

We tested on multiple JS engines, Testcase 1 and Testcase 2 should have the same consequent. But jerryscript outputs abnormal results when executing Testcase 1.

Maybe the problem is about array literal handling which looks like it deleted all the vacancies. The same bug has reported to Hermes(https://github.com/facebook/hermes/issues/729) and has been fixed.

Looking forward to your reply :)

AidPaike avatar Sep 27 '22 01:09 AidPaike

Thanks for reporting this issue, it is a valid bug, we will investigate it.

ossy-szeged avatar Oct 04 '22 10:10 ossy-szeged