Fixed widening errors locations in union-normalized object literal types
fixes https://github.com/microsoft/TypeScript/issues/58150
@jakebailey could u build a TS playground here?
@typescript-bot test it @typescript-bot pack this
Starting jobs; this comment will be updated as builds start and complete.
| Command | Status | Results |
|---|---|---|
test top400 |
✅ Started | ✅ Results |
user test this |
✅ Started | ✅ Results |
run dt |
✅ Started | ✅ Results |
perf test this faster |
✅ Started | ❌ Results |
pack this |
✅ Started | ✅ Results |
Thank you! ❤️
@jakebailey, the perf run you requested failed. You can check the log here.
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/161203/artifacts?artifactName=tgz&fileId=CE3F941F78306DD691538893971F42892594430B83E45E9661776AB7208E1D7E02&fileName=/typescript-5.5.0-insiders.20240413.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]".;
@typescript-bot perf test this
Starting jobs; this comment will be updated as builds start and complete.
| Command | Status | Results |
|---|---|---|
perf test this |
✅ Started | 👀 Results |
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 comparing main and refs/pull/58157/merge:
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 |
|---|---|---|---|---|---|---|
| Angular - node (v18.15.0, x64) | ||||||
| Memory used | 297,032k (± 0.01%) | 296,999k (± 0.01%) | ~ | 296,970k | 297,037k | p=0.078 n=6 |
| Parse Time | 4.04s (± 0.14%) | 4.05s (± 0.46%) | ~ | 4.03s | 4.08s | p=0.498 n=6 |
| Bind Time | 1.21s (± 0.43%) | 1.21s (± 0.69%) | ~ | 1.21s | 1.23s | p=0.923 n=6 |
| Check Time | 12.12s (± 0.26%) | 12.11s (± 0.32%) | ~ | 12.07s | 12.17s | p=0.518 n=6 |
| Emit Time | 10.51s (± 0.26%) | 10.51s (± 0.42%) | ~ | 10.45s | 10.56s | p=1.000 n=6 |
| Total Time | 27.89s (± 0.10%) | 27.88s (± 0.24%) | ~ | 27.79s | 27.96s | p=1.000 n=6 |
| Compiler-Unions - node (v18.15.0, x64) | ||||||
| Memory used | 192,374k (± 0.76%) | 193,001k (± 1.00%) | ~ | 191,720k | 195,514k | p=0.873 n=6 |
| Parse Time | 2.02s (± 1.06%) | 2.02s (± 0.81%) | ~ | 2.00s | 2.04s | p=1.000 n=6 |
| Bind Time | 1.06s (± 0.60%) | 1.07s (± 1.28%) | ~ | 1.05s | 1.08s | p=0.362 n=6 |
| Check Time | 14.07s (± 0.24%) | 14.07s (± 0.28%) | ~ | 14.02s | 14.12s | p=1.000 n=6 |
| Emit Time | 3.86s (± 0.88%) | 3.86s (± 0.66%) | ~ | 3.83s | 3.89s | p=0.744 n=6 |
| Total Time | 21.01s (± 0.28%) | 21.02s (± 0.13%) | ~ | 20.99s | 21.06s | p=1.000 n=6 |
| Monaco - node (v18.15.0, x64) | ||||||
| Memory used | 348,882k (± 0.00%) | 348,858k (± 0.01%) | ~ | 348,830k | 348,894k | p=0.128 n=6 |
| Parse Time | 3.85s (± 0.64%) | 3.83s (± 0.85%) | ~ | 3.79s | 3.89s | p=0.331 n=6 |
| Bind Time | 1.33s (± 0.00%) | 1.32s (± 0.39%) | -0.01s (- 1.00%) | 1.31s | 1.32s | p=0.002 n=6 |
| Check Time | 10.28s (± 0.35%) | 10.25s (± 0.57%) | ~ | 10.19s | 10.33s | p=0.297 n=6 |
| Emit Time | 5.99s (± 0.27%) | 5.98s (± 0.27%) | ~ | 5.96s | 6.00s | p=0.465 n=6 |
| Total Time | 21.44s (± 0.22%) | 21.38s (± 0.45%) | ~ | 21.30s | 21.51s | p=0.195 n=6 |
| TFS - node (v18.15.0, x64) | ||||||
| Memory used | 302,978k (± 0.01%) | 302,981k (± 0.01%) | ~ | 302,947k | 303,015k | p=1.000 n=6 |
| Parse Time | 2.03s (± 1.10%) | 2.03s (± 0.80%) | ~ | 2.01s | 2.05s | p=0.514 n=6 |
| Bind Time | 0.98s (± 0.64%) | 0.98s (± 0.64%) | ~ | 0.97s | 0.99s | p=1.000 n=6 |
| Check Time | 6.45s (± 0.76%) | 6.43s (± 0.30%) | ~ | 6.41s | 6.46s | p=0.294 n=6 |
| Emit Time | 3.58s (± 0.65%) | 3.58s (± 0.39%) | ~ | 3.56s | 3.60s | p=0.871 n=6 |
| Total Time | 13.04s (± 0.25%) | 13.02s (± 0.17%) | ~ | 12.99s | 13.05s | p=0.333 n=6 |
| material-ui - node (v18.15.0, x64) | ||||||
| Memory used | 511,615k (± 0.01%) | 511,588k (± 0.01%) | ~ | 511,556k | 511,634k | p=0.149 n=6 |
| Parse Time | 3.26s (± 0.78%) | 3.28s (± 0.71%) | ~ | 3.26s | 3.32s | p=0.288 n=6 |
| Bind Time | 1.18s (± 0.71%) | 1.18s (± 0.87%) | ~ | 1.17s | 1.20s | p=0.788 n=6 |
| Check Time | 20.48s (± 0.31%) | 20.51s (± 0.33%) | ~ | 20.38s | 20.56s | p=0.293 n=6 |
| Emit Time | 0.00s (± 0.00%) | 0.00s (± 0.00%) | ~ | 0.00s | 0.00s | p=1.000 n=6 |
| Total Time | 24.93s (± 0.26%) | 24.98s (± 0.30%) | ~ | 24.83s | 25.04s | p=0.199 n=6 |
| mui-docs - node (v18.15.0, x64) | ||||||
| Memory used | 1,748,652k (± 0.00%) | 1,748,679k (± 0.00%) | ~ | 1,748,605k | 1,748,729k | p=0.378 n=6 |
| Parse Time | 9.93s (± 0.36%) | 9.97s (± 0.87%) | ~ | 9.87s | 10.12s | p=0.469 n=6 |
| Bind Time | 3.34s (± 0.54%) | 3.33s (± 0.45%) | ~ | 3.32s | 3.36s | p=0.683 n=6 |
| Check Time | 81.87s (± 0.37%) | 81.80s (± 0.25%) | ~ | 81.57s | 82.05s | p=0.575 n=6 |
| Emit Time | 0.20s (± 3.79%) | 0.20s (± 5.95%) | ~ | 0.19s | 0.22s | p=0.503 n=6 |
| Total Time | 95.34s (± 0.29%) | 95.31s (± 0.19%) | ~ | 95.09s | 95.56s | p=0.689 n=6 |
| self-build-src - node (v18.15.0, x64) | ||||||
| Memory used | 2,306,654k (± 0.03%) | 2,306,604k (± 0.03%) | ~ | 2,305,540k | 2,307,625k | p=0.936 n=6 |
| Parse Time | 7.39s (± 1.35%) | 7.36s (± 0.48%) | ~ | 7.32s | 7.40s | p=0.229 n=6 |
| Bind Time | 2.75s (± 0.56%) | 2.75s (± 0.63%) | ~ | 2.73s | 2.77s | p=0.936 n=6 |
| Check Time | 49.27s (± 0.42%) | 49.14s (± 0.57%) | ~ | 48.96s | 49.69s | p=0.173 n=6 |
| Emit Time | 4.00s (± 4.04%) | 4.00s (± 5.08%) | ~ | 3.78s | 4.26s | p=0.810 n=6 |
| Total Time | 63.42s (± 0.30%) | 63.27s (± 0.47%) | ~ | 62.96s | 63.79s | p=0.378 n=6 |
| self-build-src-public-api - node (v18.15.0, x64) | ||||||
| Memory used | 2,406,187k (± 2.48%) | 2,381,526k (± 0.03%) | ~ | 2,380,568k | 2,382,587k | p=0.378 n=6 |
| Parse Time | 6.22s (± 0.74%) | 6.19s (± 1.17%) | ~ | 6.09s | 6.28s | p=0.378 n=6 |
| Bind Time | 2.08s (± 0.73%) | 2.06s (± 0.73%) | ~ | 2.04s | 2.08s | p=0.243 n=6 |
| Check Time | 40.14s (± 0.29%) | 40.10s (± 0.46%) | ~ | 39.84s | 40.40s | p=0.575 n=6 |
| Emit Time | 3.17s (± 3.21%) | 3.14s (± 2.83%) | ~ | 2.98s | 3.22s | p=0.748 n=6 |
| Total Time | 51.60s (± 0.37%) | 51.51s (± 0.20%) | ~ | 51.35s | 51.60s | p=0.230 n=6 |
| self-compiler - node (v18.15.0, x64) | ||||||
| Memory used | 419,093k (± 0.01%) | 419,084k (± 0.01%) | ~ | 419,054k | 419,116k | p=0.936 n=6 |
| Parse Time | 3.40s (± 0.89%) | 3.42s (± 0.84%) | ~ | 3.37s | 3.45s | p=0.295 n=6 |
| Bind Time | 1.31s (± 1.40%) | 1.31s (± 1.22%) | ~ | 1.29s | 1.34s | p=0.933 n=6 |
| Check Time | 18.00s (± 0.34%) | 18.01s (± 0.30%) | ~ | 17.96s | 18.09s | p=0.747 n=6 |
| Emit Time | 1.36s (± 1.70%) | 1.36s (± 1.59%) | ~ | 1.33s | 1.38s | p=0.935 n=6 |
| Total Time | 24.06s (± 0.30%) | 24.10s (± 0.14%) | ~ | 24.07s | 24.15s | p=0.570 n=6 |
| vscode - node (v18.15.0, x64) | ||||||
| Memory used | 2,913,589k (± 0.00%) | 2,913,560k (± 0.00%) | ~ | 2,913,517k | 2,913,604k | p=0.378 n=6 |
| Parse Time | 16.45s (± 0.10%) | 16.47s (± 0.31%) | ~ | 16.40s | 16.53s | p=0.334 n=6 |
| Bind Time | 4.89s (± 0.53%) | 4.93s (± 2.09%) | ~ | 4.85s | 5.13s | p=0.744 n=6 |
| Check Time | 87.73s (± 0.17%) | 88.53s (± 2.18%) | ~ | 87.28s | 92.38s | p=0.810 n=6 |
| Emit Time | 23.72s (± 0.90%) | 23.71s (± 0.74%) | ~ | 23.56s | 24.03s | p=1.000 n=6 |
| Total Time | 132.79s (± 0.22%) | 133.64s (± 1.44%) | ~ | 132.31s | 137.49s | p=0.298 n=6 |
| webpack - node (v18.15.0, x64) | ||||||
| Memory used | 409,400k (± 0.01%) | 409,354k (± 0.01%) | ~ | 409,300k | 409,432k | p=0.128 n=6 |
| Parse Time | 3.27s (± 0.63%) | 3.25s (± 1.29%) | ~ | 3.18s | 3.30s | p=0.685 n=6 |
| Bind Time | 1.38s (± 0.00%) | 1.38s (± 0.59%) | ~ | 1.37s | 1.39s | p=0.290 n=6 |
| Check Time | 14.37s (± 0.14%) | 14.38s (± 0.32%) | ~ | 14.33s | 14.44s | p=0.808 n=6 |
| Emit Time | 0.00s (± 0.00%) | 0.00s (± 0.00%) | ~ | 0.00s | 0.00s | p=1.000 n=6 |
| Total Time | 19.02s (± 0.17%) | 19.00s (± 0.43%) | ~ | 18.91s | 19.11s | p=0.687 n=6 |
| xstate - node (v18.15.0, x64) | ||||||
| Memory used | 671,886k (± 0.01%) | 671,909k (± 0.01%) | ~ | 671,833k | 672,083k | p=0.810 n=6 |
| Parse Time | 3.40s (± 0.37%) | 3.41s (± 0.49%) | ~ | 3.39s | 3.43s | p=0.195 n=6 |
| Bind Time | 1.57s (± 0.26%) | 1.57s (± 0.26%) | ~ | 1.56s | 1.57s | p=1.000 n=6 |
| Check Time | 2.90s (± 0.34%) | 2.91s (± 0.57%) | ~ | 2.89s | 2.93s | p=0.318 n=6 |
| Emit Time | 0.02s (±18.82%) | 0.02s (± 0.00%) | ~ | 0.02s | 0.02s | p=0.405 n=6 |
| Total Time | 7.89s (± 0.24%) | 7.91s (± 0.21%) | ~ | 7.89s | 7.93s | p=0.416 n=6 |
- node (v18.15.0, x64)
- Angular - node (v18.15.0, x64)
- Compiler-Unions - node (v18.15.0, x64)
- Monaco - node (v18.15.0, x64)
- TFS - node (v18.15.0, x64)
- material-ui - 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)
- vscode - node (v18.15.0, x64)
- webpack - node (v18.15.0, x64)
- xstate - node (v18.15.0, x64)
| Benchmark | Name | Iterations |
|---|---|---|
| Current | pr | 6 |
| Baseline | baseline | 6 |
tsserver
Comparison Report - baseline..pr| Metric | baseline | pr | Delta | Best | Worst | p-value |
|---|---|---|---|---|---|---|
| Compiler-UnionsTSServer - node (v18.15.0, x64) | ||||||
| Req 1 - updateOpen | 3,502ms (± 0.51%) | 3,510ms (± 0.95%) | ~ | 3,452ms | 3,548ms | p=0.575 n=6 |
| Req 2 - geterr | 7,652ms (± 1.80%) | 7,663ms (± 1.96%) | ~ | 7,528ms | 7,854ms | p=0.936 n=6 |
| Req 3 - references | 429ms (± 0.65%) | 429ms (± 1.64%) | ~ | 421ms | 442ms | p=0.628 n=6 |
| Req 4 - navto | 337ms (± 1.07%) | 336ms (± 1.15%) | ~ | 329ms | 340ms | p=0.870 n=6 |
| Req 5 - completionInfo count | 1,357 (± 0.00%) | 1,357 (± 0.00%) | ~ | 1,357 | 1,357 | p=1.000 n=6 |
| Req 5 - completionInfo | 118ms (± 8.53%) | 117ms (± 9.29%) | ~ | 108ms | 137ms | p=0.628 n=6 |
| CompilerTSServer - node (v18.15.0, x64) | ||||||
| Req 1 - updateOpen | 2,484ms (± 1.42%) | 2,490ms (± 0.92%) | ~ | 2,455ms | 2,517ms | p=0.470 n=6 |
| Req 2 - geterr | 3,934ms (± 1.93%) | 3,926ms (± 1.87%) | ~ | 3,826ms | 3,979ms | p=0.298 n=6 |
| Req 3 - references | 301ms (± 1.98%) | 301ms (± 1.56%) | ~ | 296ms | 308ms | p=0.628 n=6 |
| Req 4 - navto | 226ms (± 0.52%) | 226ms (± 0.79%) | ~ | 223ms | 228ms | p=1.000 n=6 |
| Req 5 - completionInfo count | 1,519 (± 0.00%) | 1,519 (± 0.00%) | ~ | 1,519 | 1,519 | p=1.000 n=6 |
| Req 5 - completionInfo | 79ms (± 5.99%) | 77ms (± 7.24%) | ~ | 73ms | 84ms | p=0.566 n=6 |
| xstateTSServer - node (v18.15.0, x64) | ||||||
| Req 1 - updateOpen | 3,284ms (± 6.54%) | 3,288ms (± 6.24%) | ~ | 3,199ms | 3,707ms | p=0.149 n=6 |
| Req 2 - geterr | 1,755ms (± 1.07%) | 1,898ms (±12.41%) | ~ | 1,736ms | 2,228ms | p=0.873 n=6 |
| Req 3 - references | 173ms (±11.57%) | 170ms (± 9.01%) | ~ | 155ms | 187ms | p=0.871 n=6 |
| Req 4 - navto | 512ms (± 7.55%) | 498ms (±10.17%) | ~ | 431ms | 534ms | p=0.689 n=6 |
| Req 5 - completionInfo count | 2,079 (± 0.00%) | 2,079 (± 0.00%) | ~ | 2,079 | 2,079 | p=1.000 n=6 |
| Req 5 - completionInfo | 436ms (± 8.75%) | 423ms (±10.43%) | ~ | 365ms | 460ms | p=0.748 n=6 |
- node (v18.15.0, x64)
- CompilerTSServer - node (v18.15.0, x64)
- Compiler-UnionsTSServer - node (v18.15.0, x64)
- xstateTSServer - node (v18.15.0, x64)
| Benchmark | Name | Iterations |
|---|---|---|
| Current | pr | 6 |
| Baseline | baseline | 6 |
startup
Comparison Report - baseline..pr| Metric | baseline | pr | Delta | Best | Worst | p-value |
|---|---|---|---|---|---|---|
| tsc-startup - node (v18.15.0, x64) | ||||||
| Execution time | 153.44ms (± 0.18%) | 153.34ms (± 0.17%) | -0.10ms (- 0.06%) | 152.21ms | 157.91ms | p=0.001 n=600 |
| tsserver-startup - node (v18.15.0, x64) | ||||||
| Execution time | 227.61ms (± 0.15%) | 227.38ms (± 0.16%) | -0.23ms (- 0.10%) | 226.10ms | 233.49ms | p=0.000 n=600 |
| tsserverlibrary-startup - node (v18.15.0, x64) | ||||||
| Execution time | 224.74ms (± 0.16%) | 224.67ms (± 0.16%) | ~ | 222.98ms | 227.29ms | p=0.116 n=600 |
| typescript-startup - node (v18.15.0, x64) | ||||||
| Execution time | 222.93ms (± 0.17%) | 223.02ms (± 0.19%) | +0.10ms (+ 0.04%) | 221.25ms | 229.95ms | p=0.040 n=600 |
- node (v18.15.0, x64)
- tsc-startup - node (v18.15.0, x64)
- tsserver-startup - node (v18.15.0, x64)
- tsserverlibrary-startup - node (v18.15.0, x64)
- typescript-startup - 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 comparing main and refs/pull/58157/merge:
Everything looks good!