TypeScript icon indicating copy to clipboard operation
TypeScript copied to clipboard

Perform partial inference with partially filled type parameter lists

Open weswigham opened this issue 2 years ago • 14 comments

This implements what we wanted to look into a yesterday's design meeting - for expression inference sites, any number of type parameters can be provided, the rest will be inferred from the argument expressions. Likewise, you may now omit type arguments from the middle of a type argument list and have those omitted positions inferred, too.

This is just another flavor of #26349, so this will close #26349 if merged.

weswigham avatar Apr 27 '23 23:04 weswigham

@typescript-bot test this @typescript-bot run dt @typescript-bot test top100 @typescript-bot perf test this @typescript-bot pack this

weswigham avatar Apr 28 '23 03:04 weswigham

Heya @weswigham, I've started to run the extended test suite on this PR at da7b04718bf67c66bacdf2276deb9fe6395ae743. You can monitor the build here.

typescript-bot avatar Apr 28 '23 03:04 typescript-bot

Heya @weswigham, I've started to run the parallelized Definitely Typed test suite on this PR at da7b04718bf67c66bacdf2276deb9fe6395ae743. You can monitor the build here.

Update: The results are in!

typescript-bot avatar Apr 28 '23 03:04 typescript-bot

Heya @weswigham, I've started to run the tarball bundle task on this PR at da7b04718bf67c66bacdf2276deb9fe6395ae743. You can monitor the build here.

typescript-bot avatar Apr 28 '23 03:04 typescript-bot

Heya @weswigham, I've started to run the diff-based top-repos suite on this PR at da7b04718bf67c66bacdf2276deb9fe6395ae743. You can monitor the build here.

Update: The results are in!

typescript-bot avatar Apr 28 '23 03:04 typescript-bot

Heya @weswigham, I've started to run the perf test suite on this PR at da7b04718bf67c66bacdf2276deb9fe6395ae743. You can monitor the build here.

Update: The results are in!

typescript-bot avatar Apr 28 '23 03:04 typescript-bot

(Given how some of the tests colorize in the editor, I think this change will need a tmLanguage update, but we should maybe do that regardless of whether we take this or not for better error recovery when people are deleting/writing type argument lists)

weswigham avatar Apr 28 '23 03:04 weswigham

Hey @weswigham, 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/153473/artifacts?artifactName=tgz&fileId=C70022D27B778AE17FD10B906383AFE869310E999BB2B75D38A045FDF449942F02&fileName=/typescript-5.1.0-insiders.20230428.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 28 '23 03:04 typescript-bot

Heya @weswigham, I've run the RWC suite on this PR - assuming you're on the TS core team, you can view the resulting diff here.

typescript-bot avatar Apr 28 '23 03:04 typescript-bot

@weswigham The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..54047
Metric main 54047 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 365,883k (± 0.01%) 365,927k (± 0.01%) +44k (+ 0.01%) 365,906k 366,009k p=0.045 n=6
Parse Time 3.40s (± 0.87%) 3.40s (± 1.06%) ~ 3.35s 3.45s p=0.872 n=6
Bind Time 1.11s (± 0.89%) 1.11s (± 0.68%) ~ 1.10s 1.12s p=0.554 n=6
Check Time 8.74s (± 0.37%) 8.80s (± 0.41%) +0.06s (+ 0.65%) 8.74s 8.85s p=0.020 n=6
Emit Time 7.44s (± 1.18%) 7.47s (± 0.71%) ~ 7.41s 7.54s p=0.378 n=6
Total Time 20.69s (± 0.60%) 20.78s (± 0.45%) ~ 20.67s 20.94s p=0.199 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 193,284k (± 1.44%) 191,949k (± 1.25%) ~ 190,946k 196,832k p=0.298 n=6
Parse Time 1.49s (± 1.61%) 1.48s (± 1.38%) ~ 1.44s 1.50s p=0.153 n=6
Bind Time 0.77s (± 0.67%) 0.77s (± 1.27%) ~ 0.76s 0.79s p=0.386 n=6
Check Time 9.54s (± 0.72%) 9.68s (± 0.51%) +0.15s (+ 1.54%) 9.63s 9.76s p=0.010 n=6
Emit Time 2.76s (± 0.50%) 2.76s (± 0.98%) ~ 2.73s 2.81s p=0.871 n=6
Total Time 14.55s (± 0.64%) 14.70s (± 0.44%) +0.15s (+ 1.00%) 14.64s 14.82s p=0.024 n=6
Monaco - node (v18.10.0, x64)
Memory used 346,500k (± 0.01%) 346,575k (± 0.01%) +75k (+ 0.02%) 346,516k 346,632k p=0.020 n=6
Parse Time 2.56s (± 1.06%) 2.58s (± 0.81%) ~ 2.54s 2.60s p=0.287 n=6
Bind Time 1.00s (± 0.54%) 1.00s (± 1.17%) ~ 0.99s 1.02s p=0.152 n=6
Check Time 7.16s (± 0.22%) 7.16s (± 0.43%) ~ 7.12s 7.19s p=0.745 n=6
Emit Time 4.23s (± 1.24%) 4.22s (± 0.53%) ~ 4.18s 4.24s p=0.809 n=6
Total Time 14.96s (± 0.45%) 14.96s (± 0.30%) ~ 14.91s 15.01s p=0.686 n=6
TFS - node (v18.10.0, x64)
Memory used 300,715k (± 0.01%) 300,774k (± 0.01%) +59k (+ 0.02%) 300,754k 300,799k p=0.005 n=6
Parse Time 2.06s (± 0.99%) 2.05s (± 1.17%) ~ 2.01s 2.07s p=0.743 n=6
Bind Time 1.14s (± 1.20%) 1.14s (± 0.96%) ~ 1.13s 1.16s p=0.933 n=6
Check Time 6.58s (± 0.45%) 6.61s (± 0.51%) ~ 6.57s 6.66s p=0.259 n=6
Emit Time 3.89s (± 0.57%) 3.89s (± 0.76%) ~ 3.84s 3.92s p=0.744 n=6
Total Time 13.66s (± 0.30%) 13.69s (± 0.48%) ~ 13.62s 13.78s p=0.571 n=6
material-ui - node (v18.10.0, x64)
Memory used 482,370k (± 0.01%) 482,547k (± 0.01%) +177k (+ 0.04%) 482,515k 482,638k p=0.005 n=6
Parse Time 3.08s (± 0.46%) 3.08s (± 0.54%) ~ 3.06s 3.10s p=1.000 n=6
Bind Time 0.91s (± 0.45%) 0.91s (± 0.56%) ~ 0.91s 0.92s p=0.114 n=6
Check Time 16.88s (± 0.65%) 16.97s (± 0.67%) ~ 16.84s 17.11s p=0.173 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.86s (± 0.52%) 20.96s (± 0.54%) ~ 20.82s 21.09s p=0.199 n=6
xstate - node (v18.10.0, x64)
Memory used 563,213k (± 0.03%) 570,939k (± 0.02%) +7,727k (+ 1.37%) 570,803k 571,118k p=0.005 n=6
Parse Time 3.81s (± 0.37%) 3.79s (± 0.43%) ~ 3.76s 3.80s p=0.081 n=6
Bind Time 1.62s (± 0.25%) 1.62s (± 0.93%) ~ 1.60s 1.64s p=0.315 n=6
Check Time 2.81s (± 0.54%) 3.10s (± 0.76%) +0.29s (+10.45%) 3.07s 3.13s p=0.005 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.32s (± 0.16%) 8.59s (± 0.24%) +0.28s (+ 3.31%) 8.56s 8.62s p=0.004 n=6
Angular - node (v16.17.1, x64)
Memory used 365,304k (± 0.01%) 365,309k (± 0.01%) ~ 365,278k 365,380k p=0.809 n=6
Parse Time 3.53s (± 0.30%) 3.53s (± 0.42%) ~ 3.51s 3.55s p=0.413 n=6
Bind Time 1.17s (± 0.71%) 1.17s (± 0.35%) ~ 1.17s 1.18s p=0.527 n=6
Check Time 9.52s (± 0.32%) 9.54s (± 0.31%) ~ 9.50s 9.57s p=0.193 n=6
Emit Time 7.86s (± 0.65%) 7.88s (± 0.52%) ~ 7.83s 7.93s p=0.572 n=6
Total Time 22.09s (± 0.28%) 22.13s (± 0.30%) ~ 22.04s 22.20s p=0.470 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 192,725k (± 0.02%) 192,748k (± 0.02%) ~ 192,700k 192,796k p=0.230 n=6
Parse Time 1.59s (± 0.92%) 1.58s (± 0.93%) ~ 1.56s 1.60s p=0.289 n=6
Bind Time 0.82s (± 0.50%) 0.82s (± 1.20%) ~ 0.81s 0.83s p=0.930 n=6
Check Time 10.22s (± 0.60%) 10.28s (± 0.26%) ~ 10.25s 10.33s p=0.195 n=6
Emit Time 3.02s (± 0.87%) 3.01s (± 0.89%) ~ 2.99s 3.06s p=0.416 n=6
Total Time 15.66s (± 0.43%) 15.69s (± 0.14%) ~ 15.67s 15.73s p=0.335 n=6
Monaco - node (v16.17.1, x64)
Memory used 345,779k (± 0.01%) 345,864k (± 0.01%) +85k (+ 0.02%) 345,838k 345,887k p=0.005 n=6
Parse Time 2.72s (± 0.28%) 2.71s (± 0.28%) ~ 2.70s 2.72s p=0.195 n=6
Bind Time 1.08s (± 0.77%) 1.08s (± 0.70%) ~ 1.07s 1.09s p=0.652 n=6
Check Time 7.83s (± 0.25%) 7.87s (± 0.35%) +0.04s (+ 0.57%) 7.84s 7.92s p=0.012 n=6
Emit Time 4.45s (± 1.22%) 4.47s (± 0.77%) ~ 4.42s 4.51s p=0.227 n=6
Total Time 16.08s (± 0.43%) 16.14s (± 0.29%) ~ 16.08s 16.22s p=0.078 n=6
TFS - node (v16.17.1, x64)
Memory used 300,076k (± 0.01%) 300,101k (± 0.01%) ~ 300,086k 300,129k p=0.078 n=6
Parse Time 2.14s (± 0.82%) 2.15s (± 0.24%) ~ 2.14s 2.15s p=0.667 n=6
Bind Time 1.23s (± 0.89%) 1.23s (± 1.26%) ~ 1.22s 1.26s p=0.863 n=6
Check Time 7.22s (± 0.37%) 7.26s (± 0.61%) ~ 7.20s 7.32s p=0.126 n=6
Emit Time 4.38s (± 0.81%) 4.36s (± 0.91%) ~ 4.31s 4.40s p=0.422 n=6
Total Time 14.97s (± 0.49%) 15.00s (± 0.45%) ~ 14.89s 15.06s p=0.571 n=6
material-ui - node (v16.17.1, x64)
Memory used 481,621k (± 0.00%) 481,790k (± 0.01%) +169k (+ 0.04%) 481,723k 481,829k p=0.005 n=6
Parse Time 3.23s (± 0.37%) 3.24s (± 0.46%) ~ 3.22s 3.26s p=0.805 n=6
Bind Time 0.93s (± 0.59%) 0.93s (± 0.44%) ~ 0.93s 0.94s p=0.282 n=6
Check Time 17.88s (± 0.98%) 17.85s (± 0.43%) ~ 17.77s 17.99s p=0.810 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.05s (± 0.79%) 22.02s (± 0.36%) ~ 21.95s 22.16s p=0.872 n=6
xstate - node (v16.17.1, x64)
Memory used 560,685k (± 0.02%) 568,470k (± 0.02%) +7,785k (+ 1.39%) 568,335k 568,536k p=0.005 n=6
Parse Time 3.98s (± 0.26%) 3.96s (± 0.34%) ~ 3.95s 3.98s p=0.167 n=6
Bind Time 1.75s (± 0.23%) 1.76s (± 0.46%) ~ 1.75s 1.77s p=0.248 n=6
Check Time 3.04s (± 0.71%) 3.32s (± 0.71%) +0.28s (+ 9.09%) 3.29s 3.35s p=0.005 n=6
Emit Time 0.09s (± 0.00%) 0.08s (± 4.99%) 🟩-0.01s (- 9.26%) 0.08s 0.09s p=0.007 n=6
Total Time 8.86s (± 0.20%) 9.14s (± 0.34%) +0.28s (+ 3.14%) 9.10s 9.17s p=0.005 n=6
Angular - node (v14.21.3, x64)
Memory used 359,306k (± 0.00%) 359,362k (± 0.01%) +55k (+ 0.02%) 359,337k 359,384k p=0.005 n=6
Parse Time 3.65s (± 0.37%) 3.64s (± 0.33%) ~ 3.63s 3.66s p=0.215 n=6
Bind Time 1.22s (± 0.62%) 1.21s (± 0.34%) -0.01s (- 0.82%) 1.21s 1.22s p=0.029 n=6
Check Time 9.97s (± 0.40%) 9.99s (± 0.27%) ~ 9.96s 10.04s p=0.462 n=6
Emit Time 8.25s (± 0.86%) 8.25s (± 0.85%) ~ 8.16s 8.34s p=0.936 n=6
Total Time 23.11s (± 0.53%) 23.10s (± 0.44%) ~ 23.00s 23.26s p=0.872 n=6
Compiler-Unions - node (v14.21.3, x64)
Memory used 188,083k (± 0.01%) 188,160k (± 0.01%) +78k (+ 0.04%) 188,132k 188,177k p=0.005 n=6
Parse Time 1.59s (± 0.32%) 1.60s (± 0.61%) ~ 1.59s 1.61s p=0.140 n=6
Bind Time 0.84s (± 0.48%) 0.84s (± 0.65%) ~ 0.84s 0.85s p=0.282 n=6
Check Time 10.30s (± 0.20%) 10.39s (± 0.53%) +0.09s (+ 0.91%) 10.31s 10.47s p=0.010 n=6
Emit Time 3.16s (± 0.68%) 3.17s (± 1.61%) ~ 3.14s 3.27s p=0.870 n=6
Total Time 15.90s (± 0.20%) 16.01s (± 0.47%) +0.11s (+ 0.70%) 15.88s 16.09s p=0.029 n=6
Monaco - node (v14.21.3, x64)
Memory used 340,878k (± 0.01%) 340,949k (± 0.01%) +71k (+ 0.02%) 340,926k 340,973k p=0.005 n=6
Parse Time 2.79s (± 0.42%) 2.79s (± 0.19%) ~ 2.78s 2.79s p=0.929 n=6
Bind Time 1.10s (± 0.37%) 1.11s (± 0.74%) ~ 1.10s 1.12s p=0.248 n=6
Check Time 8.13s (± 0.69%) 8.18s (± 0.55%) ~ 8.14s 8.26s p=0.169 n=6
Emit Time 4.69s (± 1.54%) 4.69s (± 0.65%) ~ 4.63s 4.72s p=0.809 n=6
Total Time 16.71s (± 0.59%) 16.77s (± 0.23%) ~ 16.73s 16.84s p=0.229 n=6
TFS - node (v14.21.3, x64)
Memory used 295,250k (± 0.00%) 295,286k (± 0.00%) +36k (+ 0.01%) 295,269k 295,300k p=0.005 n=6
Parse Time 2.39s (± 0.51%) 2.38s (± 0.72%) ~ 2.36s 2.41s p=0.566 n=6
Bind Time 1.06s (± 0.49%) 1.06s (± 0.00%) ~ 1.06s 1.06s p=0.174 n=6
Check Time 7.55s (± 0.66%) 7.56s (± 0.40%) ~ 7.52s 7.60s p=1.000 n=6
Emit Time 4.32s (± 0.32%) 4.32s (± 0.56%) ~ 4.27s 4.34s p=0.744 n=6
Total Time 15.32s (± 0.42%) 15.31s (± 0.27%) ~ 15.26s 15.36s p=0.688 n=6
material-ui - node (v14.21.3, x64)
Memory used 477,217k (± 0.00%) 477,404k (± 0.01%) +188k (+ 0.04%) 477,372k 477,439k p=0.005 n=6
Parse Time 3.31s (± 0.37%) 3.29s (± 0.17%) -0.02s (- 0.60%) 3.29s 3.30s p=0.015 n=6
Bind Time 1.00s (± 0.52%) 1.00s (± 0.75%) ~ 0.99s 1.01s p=0.784 n=6
Check Time 18.69s (± 0.22%) 18.74s (± 0.20%) ~ 18.69s 18.80s p=0.075 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.00s (± 0.19%) 23.04s (± 0.20%) ~ 22.98s 23.11s p=0.334 n=6
xstate - node (v14.21.3, x64)
Memory used 549,587k (± 0.00%) 557,492k (± 0.00%) +7,905k (+ 1.44%) 557,453k 557,519k p=0.005 n=6
Parse Time 4.24s (± 1.59%) 4.18s (± 0.51%) ~ 4.15s 4.21s p=0.108 n=6
Bind Time 1.62s (± 4.71%) 1.64s (± 2.26%) ~ 1.57s 1.66s p=0.557 n=6
Check Time 3.19s (± 0.54%) 3.53s (± 0.58%) +0.34s (+10.77%) 3.51s 3.55s p=0.005 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 4.45%) ~ 0.09s 0.10s p=0.405 n=6
Total Time 9.14s (± 0.40%) 9.44s (± 0.32%) +0.30s (+ 3.30%) 9.40s 9.47s p=0.005 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-147-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.21.3, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.21.3, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.21.3, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.21.3, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.21.3, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.21.3, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.21.3, x64)
Benchmark Name Iterations
Current 54047 6
Baseline main 6

TSServer

Comparison Report - main..54047
Metric main 54047 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,531ms (± 0.33%) 2,526ms (± 0.65%) ~ 2,510ms 2,555ms p=0.298 n=6
Req 2 - geterr 5,702ms (± 0.50%) 5,665ms (± 1.34%) ~ 5,512ms 5,714ms p=0.689 n=6
Req 3 - references 341ms (± 0.65%) 342ms (± 1.09%) ~ 338ms 349ms p=0.420 n=6
Req 4 - navto 282ms (± 0.45%) 284ms (± 1.27%) ~ 281ms 291ms p=0.279 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 84ms (± 1.17%) 85ms (± 0.89%) ~ 84ms 86ms p=0.167 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,634ms (± 0.33%) 2,643ms (± 1.11%) ~ 2,599ms 2,686ms p=0.423 n=6
Req 2 - geterr 4,329ms (± 0.28%) 4,295ms (± 2.24%) ~ 4,167ms 4,385ms p=0.471 n=6
Req 3 - references 348ms (± 0.47%) 347ms (± 0.42%) ~ 345ms 349ms p=0.279 n=6
Req 4 - navto 289ms (± 0.42%) 289ms (± 0.71%) ~ 287ms 293ms p=0.743 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 63ms (± 4.54%) 66ms (± 6.05%) ~ 62ms 71ms p=0.122 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,065ms (± 0.36%) 3,058ms (± 0.25%) ~ 3,045ms 3,068ms p=0.336 n=6
Req 2 - geterr 1,615ms (± 1.26%) 1,615ms (± 1.24%) ~ 1,583ms 1,642ms p=0.748 n=6
Req 3 - references 107ms (± 0.51%) 107ms (± 1.91%) ~ 105ms 109ms p=1.000 n=6
Req 4 - navto 363ms (± 0.61%) 362ms (± 0.48%) ~ 360ms 365ms p=0.366 n=6
Req 5 - completionInfo count 2,862 (± 0.00%) 2,862 (± 0.00%) ~ 2,862 2,862 p=1.000 n=6
Req 5 - completionInfo 371ms (± 1.46%) 370ms (± 1.98%) ~ 359ms 378ms p=1.000 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,664ms (± 0.37%) 2,648ms (± 0.59%) ~ 2,626ms 2,669ms p=0.109 n=6
Req 2 - geterr 6,131ms (± 0.25%) 6,147ms (± 0.37%) ~ 6,122ms 6,183ms p=0.229 n=6
Req 3 - references 354ms (± 0.73%) 355ms (± 0.58%) ~ 351ms 357ms p=0.515 n=6
Req 4 - navto 284ms (± 0.50%) 286ms (± 1.65%) ~ 279ms 291ms p=0.685 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 88ms (± 6.62%) 90ms (± 4.51%) ~ 82ms 93ms p=0.558 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,799ms (± 0.57%) 2,796ms (± 0.70%) ~ 2,770ms 2,824ms p=0.936 n=6
Req 2 - geterr 4,662ms (± 0.29%) 4,690ms (± 0.20%) +29ms (+ 0.62%) 4,675ms 4,704ms p=0.008 n=6
Req 3 - references 362ms (± 0.44%) 362ms (± 0.29%) ~ 361ms 363ms p=0.934 n=6
Req 4 - navto 285ms (± 0.68%) 283ms (± 0.95%) ~ 280ms 286ms p=0.221 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 67ms (± 1.12%) 68ms (± 0.93%) ~ 67ms 69ms p=0.081 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,199ms (± 0.55%) 3,206ms (± 0.25%) ~ 3,190ms 3,214ms p=0.575 n=6
Req 2 - geterr 1,762ms (± 1.01%) 1,761ms (± 0.58%) ~ 1,754ms 1,781ms p=0.747 n=6
Req 3 - references 126ms (± 6.08%) 123ms (± 1.73%) ~ 119ms 125ms p=0.735 n=6
Req 4 - navto 341ms (± 0.40%) 339ms (± 0.44%) ~ 338ms 341ms p=0.117 n=6
Req 5 - completionInfo count 2,862 (± 0.00%) 2,862 (± 0.00%) ~ 2,862 2,862 p=1.000 n=6
Req 5 - completionInfo 396ms (± 1.26%) 402ms (± 1.76%) ~ 397ms 416ms p=0.226 n=6
Compiler-UnionsTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,766ms (± 0.34%) 2,767ms (± 0.55%) ~ 2,744ms 2,787ms p=0.810 n=6
Req 2 - geterr 6,264ms (± 0.58%) 6,299ms (± 0.39%) ~ 6,264ms 6,325ms p=0.128 n=6
Req 3 - references 366ms (± 0.69%) 373ms (± 5.12%) ~ 364ms 412ms p=0.933 n=6
Req 4 - navto 290ms (± 0.48%) 287ms (± 0.42%) -2ms (- 0.75%) 286ms 289ms p=0.021 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 97ms (± 6.44%) 101ms (± 5.01%) ~ 91ms 104ms p=0.167 n=6
CompilerTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,936ms (± 0.27%) 2,948ms (± 0.61%) ~ 2,925ms 2,969ms p=0.377 n=6
Req 2 - geterr 4,545ms (± 0.36%) 4,578ms (± 1.45%) ~ 4,531ms 4,709ms p=0.471 n=6
Req 3 - references 374ms (± 0.46%) 377ms (± 1.38%) ~ 371ms 386ms p=0.169 n=6
Req 4 - navto 296ms (± 0.74%) 296ms (± 0.66%) ~ 292ms 297ms p=0.668 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 76ms (± 1.35%) 76ms (± 1.44%) ~ 74ms 77ms p=0.863 n=6
xstateTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 3,443ms (± 1.55%) 3,464ms (± 1.04%) ~ 3,402ms 3,504ms p=0.423 n=6
Req 2 - geterr 1,864ms (± 0.37%) 1,872ms (± 0.61%) ~ 1,855ms 1,891ms p=0.295 n=6
Req 3 - references 141ms (± 8.20%) 155ms (± 5.76%) ~ 137ms 160ms p=0.064 n=6
Req 4 - navto 396ms (± 1.59%) 395ms (± 0.81%) ~ 391ms 400ms p=1.000 n=6
Req 5 - completionInfo count 2,862 (± 0.00%) 2,862 (± 0.00%) ~ 2,862 2,862 p=1.000 n=6
Req 5 - completionInfo 425ms (± 2.81%) 427ms (± 3.11%) ~ 402ms 437ms p=0.630 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-147-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.21.3, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.21.3, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.21.3, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.21.3, x64)
Benchmark Name Iterations
Current 54047 6
Baseline main 6

Startup

Comparison Report - main..54047
Metric main 54047 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 140.94ms (± 0.21%) 140.87ms (± 0.17%) -0.07ms (- 0.05%) 140.04ms 143.63ms p=0.025 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 219.20ms (± 0.19%) 219.19ms (± 0.17%) ~ 217.96ms 223.03ms p=0.889 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 220.45ms (± 0.14%) 220.67ms (± 0.18%) +0.22ms (+ 0.10%) 219.57ms 225.38ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 202.49ms (± 0.16%) 202.77ms (± 0.19%) +0.28ms (+ 0.14%) 201.80ms 210.20ms p=0.000 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-147-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 54047 6
Baseline main 6
Developer Information:

Download Benchmark

typescript-bot avatar Apr 28 '23 05:04 typescript-bot

Hey @weswigham, the results of running the DT tests are ready. There were interesting changes:

Branch only errors:

Package: lodash Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/lodash/lodash-tests.ts:1491:5
ERROR: 1491:5  expect  TypeScript@local expected type to be:
  (AbcObject | undefined)[][]
got:
  [AbcObject | undefined, AbcObject | undefined, AbcObject | undefined][]
ERROR: 1492:5  expect  TypeScript@local expected type to be:
  (string | number | boolean | undefined)[][]
got:
  [string | number | boolean | undefined, string | undefined, boolean | undefined][]

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: angular-odata-resources Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/angular-odata-resources/angular-odata-resources-tests.ts:121:1
ERROR: 121:1   expect  TypeScript@local compile error: 
Type '{}' is missing the following properties from type 'IResourceClass<IMyResource>': get, query, save, update, and 3 more.
ERROR: 164:32  expect  TypeScript@local compile error: 
Property 'odata' does not exist on type 'unknown'.
ERROR: 170:31  expect  TypeScript@local compile error: 
Property 'odata' does not exist on type 'unknown'.
ERROR: 177:20  expect  TypeScript@local compile error: 
Parameter 's' implicitly has an 'any' type.
ERROR: 193:28  expect  TypeScript@local compile error: 
Property 'odata' does not exist on type 'unknown'.
ERROR: 198:38  expect  TypeScript@local compile error: 
Property 'odata' does not exist on type 'unknown'.
ERROR: 204:39  expect  TypeScript@local compile error: 
Property 'odata' does not exist on type 'unknown'.
ERROR: 208:39  expect  TypeScript@local compile error: 
Property 'odata' does not exist on type 'unknown'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: hapi__joi Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/hapi__joi/hapi__joi-tests.ts:1247:5
ERROR: 1247:5  expect  TypeScript@local compile error: 
Unused '@ts-expect-error' directive.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: lodash/v3 Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/lodash/v3/lodash-tests.ts:5695:9
ERROR: 5695:9   expect  TypeScript@local compile error: 
Type 'Function' is not assignable to type 'SampleResult'.
  Type 'Function' provides no match for the signature '(a: number, b: string): boolean'.
ERROR: 8060:9   expect  TypeScript@local compile error: 
Property 'a' is missing in type '{}' but required in type 'Obj'.
ERROR: 8672:9   expect  TypeScript@local compile error: 
Type 'unknown' is not assignable to type 'string'.
ERROR: 8674:9   expect  TypeScript@local compile error: 
Type 'unknown' is not assignable to type 'string'.
ERROR: 9185:9   expect  TypeScript@local compile error: 
Type 'unknown' is not assignable to type 'string'.
ERROR: 9188:9   expect  TypeScript@local compile error: 
Type 'unknown' is not assignable to type 'string'.
ERROR: 10235:9  expect  TypeScript@local compile error: 
Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
  Property 'a' is missing in type '{}' but required in type '{ a: string; }'.
ERROR: 10236:9  expect  TypeScript@local compile error: 
Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
  Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10237:9  expect  TypeScript@local compile error: 
Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
  Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10238:9  expect  TypeScript@local compile error: 
Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
  Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10240:9  expect  TypeScript@local compile error: 
Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
  Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10241:9  expect  TypeScript@local compile error: 
Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
  Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10242:9  expect  TypeScript@local compile error: 
Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
  Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10243:9  expect  TypeScript@local compile error: 
Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
  Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10263:9  expect  TypeScript@local compile error: 
Type 'LoDashImplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashImplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Property 'a' is missing in type '{}' but required in type '{ a: string; }'.
ERROR: 10264:9  expect  TypeScript@local compile error: 
Type 'LoDashImplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashImplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10265:9  expect  TypeScript@local compile error: 
Type 'LoDashImplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashImplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10266:9  expect  TypeScript@local compile error: 
Type 'LoDashImplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashImplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10268:9  expect  TypeScript@local compile error: 
Type 'LoDashImplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashImplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10269:9  expect  TypeScript@local compile error: 
Type 'LoDashImplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashImplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10270:9  expect  TypeScript@local compile error: 
Type 'LoDashImplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashImplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10271:9  expect  TypeScript@local compile error: 
Type 'LoDashImplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashImplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10291:9  expect  TypeScript@local compile error: 
Type 'LoDashExplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashExplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Property 'a' is missing in type '{}' but required in type '{ a: string; }'.
ERROR: 10292:9  expect  TypeScript@local compile error: 
Type 'LoDashExplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashExplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10293:9  expect  TypeScript@local compile error: 
Type 'LoDashExplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashExplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10294:9  expect  TypeScript@local compile error: 
Type 'LoDashExplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashExplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10296:9  expect  TypeScript@local compile error: 
Type 'LoDashExplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashExplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10297:9  expect  TypeScript@local compile error: 
Type 'LoDashExplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashExplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10298:9  expect  TypeScript@local compile error: 
Type 'LoDashExplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashExplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.
ERROR: 10299:9  expect  TypeScript@local compile error: 
Type 'LoDashExplicitObjectWrapper<(object: { a: string; }) => unknown>' is not assignable to type 'LoDashExplicitObjectWrapper<(object: any) => { a: string; }>'.
  Type '(object: { a: string; }) => unknown' is not assignable to type '(object: any) => { a: string; }'.
    Type 'unknown' is not assignable to type '{ a: string; }'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: redux-actions Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/redux-actions/redux-actions-tests.ts:159:10
ERROR: 159:10  expect  TypeScript@local compile error: 
Parameter '_' implicitly has an 'any' type.
ERROR: 159:13  expect  TypeScript@local compile error: 
Parameter 'remote' implicitly has an 'any' type.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: skatejs Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/skatejs/test/utils/link.ts:21:27
ERROR: 21:27  expect  TypeScript@local compile error: 
Argument of type 'this' is not assignable to parameter of type 'CustomElement'.
  Type 'default' is missing the following properties from type 'CustomElement': connectedCallback, disconnectedCallback, attributeChangedCallback, accessKey, and 288 more.
ERROR: 28:10  expect  TypeScript@local compile error: 
Argument of type 'this' is not assignable to parameter of type 'CustomElement'.
ERROR: 29:10  expect  TypeScript@local compile error: 
Argument of type 'this' is not assignable to parameter of type 'CustomElement'.
ERROR: 30:10  expect  TypeScript@local compile error: 
Argument of type 'this' is not assignable to parameter of type 'CustomElement'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: enzyme Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/enzyme/enzyme-tests.tsx:145:13
ERROR: 145:13  expect  TypeScript@local expected type to be:
  number
got:
  any
ERROR: 146:13  expect  TypeScript@local expected type to be:
  string
got:
  any
ERROR: 161:9   expect  TypeScript@local compile error: 
Unused '@ts-expect-error' directive.
ERROR: 163:9   expect  TypeScript@local compile error: 
Unused '@ts-expect-error' directive.
ERROR: 586:13  expect  TypeScript@local expected type to be:
  number
got:
  any
ERROR: 587:13  expect  TypeScript@local expected type to be:
  string
got:
  any
ERROR: 602:9   expect  TypeScript@local compile error: 
Unused '@ts-expect-error' directive.
ERROR: 604:9   expect  TypeScript@local compile error: 
Unused '@ts-expect-error' directive.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: papaparse Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/papaparse/papaparse-tests.ts:114:9
ERROR: 114:9  expect  TypeScript@local expected type to be:
  LocalFile
got:
  File
ERROR: 137:9  expect  TypeScript@local expected type to be:
  LocalFile
got:
  File
ERROR: 156:9  expect  TypeScript@local expected type to be:
  LocalFile
got:
  File

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)
Errors that changed between main and the branch:

Package: ramda Main error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/find-tests.ts:5:30
ERROR: 5:30   expect  TypeScript@local compile error: 
Argument of type '{ a: number; }[]' is not assignable to parameter of type 'readonly Record<2, any>[]'.
  Property '2' is missing in type '{ a: number; }' but required in type 'Record<2, any>'.
ERROR: 6:30   expect  TypeScript@local compile error: 
Argument of type '{ a: number; }[]' is not assignable to parameter of type 'readonly Record<4, any>[]'.
  Property '4' is missing in type '{ a: number; }' but required in type 'Record<4, any>'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/findIndex-tests.ts:5:35
ERROR: 5:35   expect  TypeScript@local compile error: 
Argument of type '{ a: number; }[]' is not assignable to parameter of type 'readonly Record<2, any>[]'.
  Property '2' is missing in type '{ a: number; }' but required in type 'Record<2, any>'.
ERROR: 6:35   expect  TypeScript@local compile error: 
Argument of type '{ a: number; }[]' is not assignable to parameter of type 'readonly Record<4, any>[]'.
  Property '4' is missing in type '{ a: number; }' but required in type 'Record<4, any>'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/findLast-tests.ts:8:34
ERROR: 8:34   expect  TypeScript@local compile error: 
Argument of type '{ a: number; b: number; }[]' is not assignable to parameter of type 'readonly Record<1, any>[]'.
  Property '1' is missing in type '{ a: number; b: number; }' but required in type 'Record<1, any>'.
ERROR: 9:34   expect  TypeScript@local compile error: 
Argument of type '{ a: number; b: number; }[]' is not assignable to parameter of type 'readonly Record<4, any>[]'.
  Property '4' is missing in type '{ a: number; b: number; }' but required in type 'Record<4, any>'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/findLastIndex-tests.ts:8:39
ERROR: 8:39   expect  TypeScript@local compile error: 
Argument of type '{ a: number; b: number; }[]' is not assignable to parameter of type 'readonly Record<1, any>[]'.
  Property '1' is missing in type '{ a: number; b: number; }' but required in type 'Record<1, any>'.
ERROR: 9:39   expect  TypeScript@local compile error: 
Argument of type '{ a: number; b: number; }[]' is not assignable to parameter of type 'readonly Record<4, any>[]'.
  Property '4' is missing in type '{ a: number; b: number; }' but required in type 'Record<4, any>'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/propEq-tests.ts:10:11
ERROR: 10:11  expect  TypeScript@local compile error: 
Type '(obj: Record<"bar", any>) => boolean' is not assignable to type '(obj: Record<"foo", "bar">) => boolean'.
  Types of parameters 'obj' and 'obj' are incompatible.
    Property 'bar' is missing in type 'Record<"foo", "bar">' but required in type 'Record<"bar", any>'.
ERROR: 12:11  expect  TypeScript@local compile error: 
Type '(obj: Record<5, any>) => boolean' is not assignable to type '(obj: Record<"baz", number>) => boolean'.
  Types of parameters 'obj' and 'obj' are incompatible.
    Property '5' is missing in type 'Record<"baz", number>' but required in type 'Record<5, any>'.
ERROR: 14:11  expect  TypeScript@local compile error: 
Type '(obj: Record<"qwerty", any>) => boolean' is not assignable to type '(obj: Record<number, string>) => boolean'.
  Types of parameters 'obj' and 'obj' are incompatible.
    Property 'qwerty' is missing in type 'Record<number, string>' but required in type 'Record<"qwerty", any>'.
ERROR: 29:22  expect  TypeScript@local compile error: 
Argument of type 'Obj' is not assignable to parameter of type 'Record<1, any>'.
  Property '1' is missing in type 'Obj' but required in type 'Record<1, any>'.
ERROR: 30:22  expect  TypeScript@local compile error: 
Argument of type 'Obj' is not assignable to parameter of type 'Record<4, any>'.
  Property '4' is missing in type 'Obj' but required in type 'Record<4, any>'.
ERROR: 43:28  expect  TypeScript@local compile error: 
Argument of type 'A' is not assignable to parameter of type 'Record<"", any>'.
  Property '""' is missing in type 'A' but required in type 'Record<"", any>'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Branch error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/find-tests.ts:5:30
ERROR: 5:30   expect  TypeScript@local compile error: 
Argument of type '{ a: number; }[]' is not assignable to parameter of type 'readonly Record<2, any>[]'.
  Property '2' is missing in type '{ a: number; }' but required in type 'Record<2, any>'.
ERROR: 6:30   expect  TypeScript@local compile error: 
Argument of type '{ a: number; }[]' is not assignable to parameter of type 'readonly Record<4, any>[]'.
  Property '4' is missing in type '{ a: number; }' but required in type 'Record<4, any>'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/findIndex-tests.ts:5:35
ERROR: 5:35   expect  TypeScript@local compile error: 
Argument of type '{ a: number; }[]' is not assignable to parameter of type 'readonly Record<2, any>[]'.
  Property '2' is missing in type '{ a: number; }' but required in type 'Record<2, any>'.
ERROR: 6:35   expect  TypeScript@local compile error: 
Argument of type '{ a: number; }[]' is not assignable to parameter of type 'readonly Record<4, any>[]'.
  Property '4' is missing in type '{ a: number; }' but required in type 'Record<4, any>'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/findLast-tests.ts:8:34
ERROR: 8:34   expect  TypeScript@local compile error: 
Argument of type '{ a: number; b: number; }[]' is not assignable to parameter of type 'readonly Record<1, any>[]'.
  Property '1' is missing in type '{ a: number; b: number; }' but required in type 'Record<1, any>'.
ERROR: 9:34   expect  TypeScript@local compile error: 
Argument of type '{ a: number; b: number; }[]' is not assignable to parameter of type 'readonly Record<4, any>[]'.
  Property '4' is missing in type '{ a: number; b: number; }' but required in type 'Record<4, any>'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/findLastIndex-tests.ts:8:39
ERROR: 8:39   expect  TypeScript@local compile error: 
Argument of type '{ a: number; b: number; }[]' is not assignable to parameter of type 'readonly Record<1, any>[]'.
  Property '1' is missing in type '{ a: number; b: number; }' but required in type 'Record<1, any>'.
ERROR: 9:39   expect  TypeScript@local compile error: 
Argument of type '{ a: number; b: number; }[]' is not assignable to parameter of type 'readonly Record<4, any>[]'.
  Property '4' is missing in type '{ a: number; b: number; }' but required in type 'Record<4, any>'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/indexBy-tests.ts:16:16
ERROR: 16:16  expect  TypeScript@local compile error: 
This expression is not callable.
  Type '{ [x: string]: { id: string; }; }' has no call signatures.
ERROR: 16:42  expect  TypeScript@local compile error: 
No overload matches this call.
  Overload 1 of 4, '(fn: (a: T) => string | number): <T>(list: readonly T[]) => { [x: string]: T; [x: number]: T; }', gave the following error.
    Argument of type '<T>(value: T) => Prop<T, "id">' is not assignable to parameter of type '(a: T) => string | number'.
  Overload 2 of 4, '(fn: (a: T) => string | number | undefined): <T>(list: readonly T[]) => { [x: string]: T | undefined; [x: number]: T | undefined; }', gave the following error.
    Argument of type '<T>(value: T) => Prop<T, "id">' is not assignable to parameter of type '(a: T) => string | number | undefined'.
ERROR: 17:16  expect  TypeScript@local compile error: 
This expression is not callable.
  Type '{ [x: string]: unknown; }' has no call signatures.
ERROR: 17:26  expect  TypeScript@local compile error: 
No overload matches this call.
  Overload 1 of 4, '(fn: (a: T) => string | number): <T>(list: readonly T[]) => { [x: string]: T; [x: number]: T; }', gave the following error.
    Argument of type '<T>(value: T) => Prop<T, "id">' is not assignable to parameter of type '(a: T) => string | number'.
  Overload 2 of 4, '(fn: (a: T) => string | number | undefined): <T>(list: readonly T[]) => { [x: string]: T | undefined; [x: number]: T | undefined; }', gave the following error.
    Argument of type '<T>(value: T) => Prop<T, "id">' is not assignable to parameter of type '(a: T) => string | number | undefined'.
ERROR: 18:16  expect  TypeScript@local compile error: 
This expression is not callable.
  Type '{ [x: string]: { id: string; }; }' has no call signatures.
ERROR: 18:42  expect  TypeScript@local compile error: 
No overload matches this call.
  Overload 1 of 4, '(fn: (a: T) => string | number): <T>(list: readonly T[]) => { [x: string]: T; [x: number]: T; }', gave the following error.
    Argument of type '<T>(value: T) => Prop<T, "id">' is not assignable to parameter of type '(a: T) => string | number'.
  Overload 2 of 4, '(fn: (a: T) => string | number | undefined): <T>(list: readonly T[]) => { [x: string]: T | undefined; [x: number]: T | undefined; }', gave the following error.
    Argument of type '<T>(value: T) => Prop<T, "id">' is not assignable to parameter of type '(a: T) => string | number | undefined'.

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/prop-tests.ts:108:5
ERROR: 108:5  expect  TypeScript@local expected type to be:
  number
got:
  string

/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/ramda/test/propEq-tests.ts:10:11
ERROR: 10:11  expect  TypeScript@local compile error: 
Type '(obj: Record<"bar", any>) => boolean' is not assignable to type '(obj: Record<"foo", "bar">) => boolean'.
  Types of parameters 'obj' and 'obj' are incompatible.
    Property 'bar' is missing in type 'Record<"foo", "bar">' but required in type 'Record<"bar", any>'.
ERROR: 12:11  expect  TypeScript@local compile error: 
Type '(obj: Record<5, any>) => boolean' is not assignable to type '(obj: Record<"baz", number>) => boolean'.
  Types of parameters 'obj' and 'obj' are incompatible.
    Property '5' is missing in type 'Record<"baz", number>' but required in type 'Record<5, any>'.
ERROR: 14:11  expect  TypeScript@local compile error: 
Type '(obj: Record<"qwerty", any>) => boolean' is not assignable to type '(obj: Record<number, string>) => boolean'.
  Types of parameters 'obj' and 'obj' are incompatible.
    Property 'qwerty' is missing in type 'Record<number, string>' but required in type 'Record<"qwerty", any>'.
ERROR: 29:22  expect  TypeScript@local compile error: 
Argument of type 'Obj' is not assignable to parameter of type 'Record<1, any>'.
  Property '1' is missing in type 'Obj' but required in type 'Record<1, any>'.
ERROR: 30:22  expect  TypeScript@local compile error: 
Argument of type 'Obj' is not assignable to parameter of type 'Record<4, any>'.
  Property '4' is missing in type 'Obj' but required in type 'Record<4, any>'.
ERROR: 43:28  expect  TypeScript@local compile error: 
Argument of type 'A' is not assignable to parameter of type 'Record<"", any>'.
  Property '""' is missing in type 'A' but required in type 'Record<"", any>'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

You can check the log here.

typescript-bot avatar Apr 28 '23 05:04 typescript-bot

@weswigham Here are the results of running the top-repos suite comparing main and refs/pull/54047/merge:

Something interesting changed - please have a look.

Details

microsoft/vscode

5 of 53 projects failed to build with the old tsc and were ignored

src/tsconfig.tsec.json

  • error TS2345: Argument of type '(result: ISearchEngineSuccess) => (ISearchEngineSuccess | IRawFileMatch[])[]' is not assignable to parameter of type '(value: ISearchEngineSuccess) => [ISearchEngineSuccess, IRawFileMatch[]] | PromiseLike<[ISearchEngineSuccess, IRawFileMatch[]]>'.

react-hook-form/react-hook-form

2 of 3 projects failed to build with the old tsc and were ignored

tsconfig.json

  • error TS2322: Type '(data: { checkbox: [{ test: string; }, { test1: string; }]; }) => { errors: { checkbox?: { test1?: { type: string; message: string; } | undefined; test?: { type: string; message: string; } | undefined; }[] | undefined; }; values: {}; }' is not assignable to type 'Resolver<{ checkbox: [{ test: string; }, { test1: string; }]; }, any>'.

vercel/swr

4 of 12 projects failed to build with the old tsc and were ignored

test/type/tsconfig.json

typescript-bot avatar Apr 28 '23 05:04 typescript-bot

#26349 is once again up to date with main, since that approach doesn't break the world and is much more familiar to users of Flow, F#, and Rust.

weswigham avatar May 03 '23 21:05 weswigham

@weswigham since partial inference by default seems to be to be off the table - do you envision any way for library authors to opt-into that in the future in their signature declarations?

Andarist avatar May 03 '23 22:05 Andarist