google/closure-compiler

Array constructor with length is not eliminated

Aperta

#4046 aperta il 22 gen 2023

 (12 commenti) (0 reazioni) (0 assegnatari)Java (1197 fork)batch import
P4featgood first issuehelp wanted

Metriche repository

Star
 (7176 stelle)
Metriche merge PR
 (Merge medio 3g 4h) (1 PR mergiata in 30 g)

Descrizione

Consider the code:

/** @const {!Array<number>} */
const a = [1];

/** @const {!Array<number>} */
const b = Array(10);
b[0] = 2;

/** @const {!Array<number>} */
const c = [];
c.push(3);

/** @const {!Array<number>} */
const d = Array(10);
d.push(4);

When compiled with

yarn google-closure-compiler -O ADVANCED --js a.js --rewrite_polyfills=false 

we get

Array(10)[0]=2;Array(10).push(4);

Arrays created with the Array(len) constructor are not eliminated.

google-closure-compiler version: v20230103

Guida contributor