Don't defer index types for non-generic substitution types
fixes https://github.com/microsoft/TypeScript/issues/61728
@typescript-bot test it @typescript-bot pack this
Starting jobs; this comment will be updated as builds start and complete.
| Command | Status | Results |
|---|---|---|
pack this |
✅ Started | ✅ Results |
test top400 |
✅ Started | ✅ Results |
user test this |
✅ Started | ✅ Results |
run dt |
✅ Started | ✅ Results |
perf test this faster |
✅ Started | 👀 Results |
Hey @jakebailey, I've packed this into an installable tgz. You can install it for testing by referencing it in your package.json like so:
{
"devDependencies": {
"typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/166679/artifacts?artifactName=tgz&fileId=88C40553CBD26DF9E98DFD51DFBA9C2A38B2C0583A8FB0F8359BAF58E5856DDD02&fileName=/typescript-6.0.0-insiders.20251204.tgz"
}
}
and then running npm install.
There is also a playground for this build and an npm module you can use via "typescript": "npm:@typescript-deploys/[email protected]".;
Hey @jakebailey, the results of running the DT tests are ready.
Everything looks the same!
@jakebailey Here are the results of running the user tests with tsc comparing main and refs/pull/61999/merge:
There were infrastructure failures potentially unrelated to your change:
- 1 instance of "Git clone failed"
Otherwise...
Everything looks good!
@jakebailey The results of the perf run you requested are in!
Here they are:
tsc
Comparison Report - baseline..pr| Metric | baseline | pr | Delta | Best | Worst | p-value |
|---|---|---|---|---|---|---|
| Compiler-Unions - node (v18.15.0, x64) | ||||||
| Errors | 1 | 1 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 62,370 | 62,370 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 50,387 | 50,387 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 195,063k (± 0.97%) | 192,710k (± 0.10%) | ~ | 192,602k | 193,076k | p=0.092 n=6 |
| Parse Time | 1.30s (± 0.69%) | 1.30s (± 0.58%) | ~ | 1.29s | 1.31s | p=0.798 n=6 |
| Bind Time | 0.75s (± 0.54%) | 0.75s | ~ | ~ | ~ | p=0.405 n=6 |
| Check Time | 9.89s (± 0.18%) | 9.89s (± 0.52%) | ~ | 9.84s | 9.97s | p=0.748 n=6 |
| Emit Time | 2.74s (± 0.63%) | 2.73s (± 0.56%) | ~ | 2.70s | 2.74s | p=0.323 n=6 |
| Total Time | 14.68s (± 0.17%) | 14.67s (± 0.37%) | ~ | 14.62s | 14.74s | p=0.572 n=6 |
| angular-1 - node (v18.15.0, x64) | ||||||
| Errors | 2 | 2 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 956,048 | 956,048 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 415,904 | 415,904 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 1,255,277k (± 0.00%) | 1,255,251k (± 0.01%) | ~ | 1,255,190k | 1,255,353k | p=0.230 n=6 |
| Parse Time | 7.99s (± 0.73%) | 8.01s (± 0.97%) | ~ | 7.94s | 8.13s | p=0.574 n=6 |
| Bind Time | 2.37s (± 0.83%) | 2.36s (± 0.32%) | ~ | 2.35s | 2.37s | p=0.405 n=6 |
| Check Time | 38.74s (± 0.19%) | 38.89s (± 0.24%) | +0.15s (+ 0.39%) | 38.74s | 38.98s | p=0.037 n=6 |
| Emit Time | 17.94s (± 0.50%) | 17.93s (± 0.49%) | ~ | 17.81s | 18.03s | p=0.809 n=6 |
| Total Time | 67.05s (± 0.13%) | 67.18s (± 0.23%) | ~ | 66.90s | 67.37s | p=0.128 n=6 |
| mui-docs - node (v18.15.0, x64) | ||||||
| Errors | 0 | 0 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 2,722,106 | 2,722,106 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 937,535 | 937,535 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 3,050,995k (± 0.00%) | 3,050,980k (± 0.00%) | ~ | 3,050,893k | 3,051,084k | p=0.936 n=6 |
| Parse Time | 8.54s (± 0.17%) | 8.54s (± 0.18%) | ~ | 8.52s | 8.55s | p=0.933 n=6 |
| Bind Time | 2.32s (± 0.70%) | 2.32s (± 0.57%) | ~ | 2.30s | 2.33s | p=0.869 n=6 |
| Check Time | 93.05s (± 0.39%) | 93.06s (± 0.71%) | ~ | 92.51s | 94.20s | p=0.873 n=6 |
| Emit Time | 0.31s (± 3.15%) | 0.31s (± 2.44%) | ~ | 0.30s | 0.32s | p=0.652 n=6 |
| Total Time | 104.23s (± 0.36%) | 104.24s (± 0.62%) | ~ | 103.71s | 105.33s | p=0.936 n=6 |
| self-build-src - node (v18.15.0, x64) | ||||||
| Errors | 0 | 0 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 1,251,654 | 1,251,654 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 259,840 | 259,840 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 2,392,908k (± 0.03%) | 2,574,802k (±11.82%) | ~ | 2,392,575k | 3,121,215k | p=0.173 n=6 |
| Parse Time | 5.19s (± 0.80%) | 5.21s (± 1.54%) | ~ | 5.12s | 5.32s | p=0.630 n=6 |
| Bind Time | 1.82s (± 0.22%) | 1.82s (± 1.59%) | ~ | 1.77s | 1.85s | p=0.608 n=6 |
| Check Time | 35.49s (± 0.28%) | 35.46s (± 0.96%) | ~ | 34.90s | 35.94s | p=1.000 n=6 |
| Emit Time | 2.99s (± 2.45%) | 3.02s (± 1.49%) | ~ | 2.98s | 3.09s | p=0.689 n=6 |
| Total Time | 45.51s (± 0.14%) | 45.53s (± 0.68%) | ~ | 45.12s | 46.03s | p=1.000 n=6 |
| self-build-src-public-api - node (v18.15.0, x64) | ||||||
| Errors | 0 | 0 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 1,251,654 | 1,251,654 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 259,840 | 259,840 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 2,459,526k (± 0.02%) | 2,459,616k (± 0.02%) | ~ | 2,458,812k | 2,460,216k | p=0.689 n=6 |
| Parse Time | 5.33s (± 0.84%) | 5.34s (± 0.40%) | ~ | 5.31s | 5.37s | p=0.747 n=6 |
| Bind Time | 1.87s (± 1.04%) | 1.86s (± 0.22%) | ~ | 1.85s | 1.86s | p=0.210 n=6 |
| Check Time | 35.59s (± 0.57%) | 35.53s (± 0.29%) | ~ | 35.38s | 35.68s | p=0.575 n=6 |
| Emit Time | 3.07s (± 0.73%) | 3.07s (± 1.59%) | ~ | 3.01s | 3.15s | p=0.873 n=6 |
| Total Time | 45.86s (± 0.50%) | 45.82s (± 0.23%) | ~ | 45.68s | 45.96s | p=0.689 n=6 |
| self-compiler - node (v18.15.0, x64) | ||||||
| Errors | 0 | 0 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 264,287 | 264,287 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 104,051 | 104,051 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 443,264k (± 0.01%) | 443,310k (± 0.01%) | ~ | 443,248k | 443,353k | p=0.128 n=6 |
| Parse Time | 3.52s (± 1.09%) | 3.53s (± 0.77%) | ~ | 3.50s | 3.57s | p=0.466 n=6 |
| Bind Time | 1.40s (± 1.11%) | 1.38s (± 0.54%) | -0.02s (- 1.31%) | 1.37s | 1.39s | p=0.015 n=6 |
| Check Time | 19.23s (± 0.55%) | 19.19s (± 0.40%) | ~ | 19.12s | 19.28s | p=0.419 n=6 |
| Emit Time | 1.53s (± 1.01%) | 1.54s (± 0.82%) | ~ | 1.53s | 1.56s | p=0.328 n=6 |
| Total Time | 25.68s (± 0.50%) | 25.65s (± 0.41%) | ~ | 25.53s | 25.76s | p=0.810 n=6 |
| ts-pre-modules - node (v18.15.0, x64) | ||||||
| Errors | 72 | 72 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 225,493 | 225,493 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 94,373 | 94,373 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 370,150k (± 0.02%) | 370,304k (± 0.07%) | ~ | 370,061k | 370,595k | p=0.689 n=6 |
| Parse Time | 2.84s (± 1.73%) | 2.82s (± 0.86%) | ~ | 2.80s | 2.86s | p=0.627 n=6 |
| Bind Time | 1.64s (± 1.09%) | 1.64s (± 1.26%) | ~ | 1.63s | 1.67s | p=0.931 n=6 |
| Check Time | 16.59s (± 0.41%) | 16.60s (± 0.43%) | ~ | 16.50s | 16.69s | p=1.000 n=6 |
| Emit Time | 0.00s | 0.00s | ~ | ~ | ~ | p=1.000 n=6 |
| Total Time | 21.07s (± 0.37%) | 21.07s (± 0.29%) | ~ | 20.99s | 21.15s | p=0.871 n=6 |
| vscode - node (v18.15.0, x64) | ||||||
| Errors | 11 | 11 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 4,076,919 | 4,076,919 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 1,284,323 | 1,284,323 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 3,862,422k (± 0.00%) | 3,862,556k (± 0.00%) | +134k (+ 0.00%) | 3,862,445k | 3,862,722k | p=0.020 n=6 |
| Parse Time | 15.62s (± 0.76%) | 15.66s (± 0.79%) | ~ | 15.53s | 15.86s | p=0.748 n=6 |
| Bind Time | 5.24s (± 0.79%) | 5.25s (± 1.31%) | ~ | 5.20s | 5.38s | p=0.748 n=6 |
| Check Time | 113.90s (± 2.73%) | 113.27s (± 2.88%) | ~ | 109.85s | 118.60s | p=0.575 n=6 |
| Emit Time | 40.80s (±14.01%) | 41.39s (± 7.53%) | ~ | 38.43s | 45.48s | p=0.575 n=6 |
| Total Time | 175.56s (± 4.99%) | 175.58s (± 3.35%) | ~ | 169.44s | 182.56s | p=0.936 n=6 |
| webpack - node (v18.15.0, x64) | ||||||
| Errors | 40 | 40 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 380,758 | 380,758 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 166,811 | 166,811 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 540,886k (± 0.02%) | 540,864k (± 0.02%) | ~ | 540,779k | 541,004k | p=0.689 n=6 |
| Parse Time | 4.72s (± 0.69%) | 4.73s (± 0.56%) | ~ | 4.70s | 4.77s | p=0.808 n=6 |
| Bind Time | 2.02s (± 1.24%) | 2.03s (± 0.91%) | ~ | 2.02s | 2.07s | p=0.404 n=6 |
| Check Time | 23.02s (± 0.68%) | 22.99s (± 0.41%) | ~ | 22.85s | 23.13s | p=0.574 n=6 |
| Emit Time | 0.00s | 0.00s | ~ | ~ | ~ | p=1.000 n=6 |
| Total Time | 29.77s (± 0.60%) | 29.75s (± 0.28%) | ~ | 29.64s | 29.86s | p=0.688 n=6 |
| xstate-main - node (v18.15.0, x64) | ||||||
| Errors | 30 | 30 | ~ | ~ | ~ | p=1.000 n=6 |
| Symbols | 692,951 | 692,951 | ~ | ~ | ~ | p=1.000 n=6 |
| Types | 210,425 | 210,425 | ~ | ~ | ~ | p=1.000 n=6 |
| Memory used | 589,064k (± 0.01%) | 588,971k (± 0.03%) | ~ | 588,802k | 589,124k | p=0.471 n=6 |
| Parse Time | 4.17s (± 0.82%) | 4.15s (± 0.47%) | ~ | 4.13s | 4.18s | p=0.331 n=6 |
| Bind Time | 1.39s (± 1.24%) | 1.41s (± 1.10%) | ~ | 1.39s | 1.43s | p=0.086 n=6 |
| Check Time | 20.83s (± 1.38%) | 21.10s (± 2.01%) | ~ | 20.67s | 21.52s | p=0.228 n=6 |
| Emit Time | 0.01s (±77.38%) | 0.00s | 🟩-0.01s (-100.00%) | ~ | ~ | p=0.025 n=6 |
| Total Time | 26.39s (± 1.16%) | 26.68s (± 1.68%) | ~ | 26.21s | 27.12s | p=0.298 n=6 |
- node (v18.15.0, x64)
- Compiler-Unions - node (v18.15.0, x64)
- angular-1 - node (v18.15.0, x64)
- mui-docs - node (v18.15.0, x64)
- self-build-src - node (v18.15.0, x64)
- self-build-src-public-api - node (v18.15.0, x64)
- self-compiler - node (v18.15.0, x64)
- ts-pre-modules - node (v18.15.0, x64)
- vscode - node (v18.15.0, x64)
- webpack - node (v18.15.0, x64)
- xstate-main - node (v18.15.0, x64)
| Benchmark | Name | Iterations |
|---|---|---|
| Current | pr | 6 |
| Baseline | baseline | 6 |
Developer Information:
@jakebailey Here are the results of running the top 400 repos with tsc comparing main and refs/pull/61999/merge:
Everything looks good!