google/closure-compiler

Array constructor with length is not eliminated

Open

#4 046 ouverte le 22 janv. 2023

Voir sur GitHub
 (12 commentaires) (0 réactions) (0 assignés)Java (1 197 forks)batch import
P4featgood first issuehelp wanted

Métriques du dépôt

Stars
 (7 176 stars)
Métriques de merge PR
 (Merge moyen 3j 4h) (1 PR mergée en 30 j)

Description

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

Guide contributeur