google/closure-compiler

Array constructor with length is not eliminated

Open

#4046 aperta il 22 gen 2023

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

Metriche repository

Star
 (7176 star)
Metriche merge PR
 (Merge medio 12g 15h) (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