TypeScript icon indicating copy to clipboard operation
TypeScript copied to clipboard

Fixed widening errors locations in union-normalized object literal types

Open Andarist opened this issue 1 year ago • 12 comments

fixes https://github.com/microsoft/TypeScript/issues/58150

Andarist avatar Apr 12 '24 07:04 Andarist

@jakebailey could u build a TS playground here?

Andarist avatar Apr 13 '24 17:04 Andarist

@typescript-bot test it @typescript-bot pack this

jakebailey avatar Apr 13 '24 18:04 jakebailey

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

typescript-bot avatar Apr 13 '24 18:04 typescript-bot

Thank you! ❤️

Andarist avatar Apr 13 '24 18:04 Andarist

@jakebailey, the perf run you requested failed. You can check the log here.

typescript-bot avatar Apr 13 '24 18:04 typescript-bot

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 avatar Apr 13 '24 18:04 typescript-bot

@typescript-bot perf test this

jakebailey avatar Apr 13 '24 18:04 jakebailey

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this ✅ Started 👀 Results

typescript-bot avatar Apr 13 '24 18:04 typescript-bot

Hey @jakebailey, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

typescript-bot avatar Apr 13 '24 18:04 typescript-bot

@jakebailey Here are the results of running the user tests comparing main and refs/pull/58157/merge:

Everything looks good!

typescript-bot avatar Apr 13 '24 18:04 typescript-bot

@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
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • 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
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • 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
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • 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:

Download Benchmarks

typescript-bot avatar Apr 13 '24 18:04 typescript-bot

@jakebailey Here are the results of running the top 400 repos comparing main and refs/pull/58157/merge:

Everything looks good!

typescript-bot avatar Apr 13 '24 19:04 typescript-bot