Skip to content

Fixed issue with spreading a generic call expression into generic JSX and gather intra expression inference sites from spread expressions #53444

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 8, 2023

Conversation

Andarist
Copy link
Contributor

This PR:

cc @jakebailey @weswigham

@typescript-bot typescript-bot added the For Milestone Bug PRs that fix a bug with a specific milestone label Mar 22, 2023
@@ -30130,7 +30130,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
hasComputedNumberProperty = false;
hasComputedSymbolProperty = false;
}
const type = getReducedType(checkExpression(memberDecl.expression));
const type = getReducedType(checkExpression(memberDecl.expression, checkMode & CheckMode.Inferential));
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This forwards CheckMode.Inferential as that's a requirement for addIntraExpressionInferenceSite to be called

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dub question, but, why not just pass check mode alone? (I wish we made the parameter required everywhere...)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That’s a question i can’t answer. I just figured out that the original issue was caused by the fact that it was passed down and that it was inconsistent with regular calls. So I unified both paths to work the same.

that other issue with spreads and intra expression inferences was accidentally discovered - it wasn’t exactly what was reported as broken for lack of this feature in JSX. It just was an example of a workaround and when I was fixing that issue I just copy pasted all of the examples from the issue. If not that, it’s likely that we would never know about this being broken - although in context of JSX there are some people who prefer to spread object literals (which is not common with regular calls, at least not in such a simple form). @weswigham mentioned in the comment that this case looked alright to him and that we don't want to break it… so here we are :)

Copy link
Member

@weswigham weswigham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filtering the checkMode we pass forward is a bit odd, but it wouldn't be the first place we, at least implicitly, do so (usually we implicitly replace the active checkMode with Normal). This is probably going to cause some edge cases to change in object literal contextually typed function member inference (since the Contextual checkmode isn't being forwarded anymore), but maybe not. Let's just run the tests, since I can't come up with an example that'd break offhand.

@weswigham
Copy link
Member

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 23, 2023

Heya @weswigham, I'm starting to run the parallelized Definitely Typed test suite on this PR at 0c72dc2. Hold tight - I'll update this comment with the log link once the build has been queued.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 23, 2023

Heya @weswigham, I'm starting to run the diff-based top-repos suite on this PR at 0c72dc2. Hold tight - I'll update this comment with the log link once the build has been queued.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

Heya @weswigham, I'm starting to run the extended test suite on this PR at 0c72dc2. Hold tight - I'll update this comment with the log link once the build has been queued.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 23, 2023

Heya @weswigham, I'm starting to run the perf test suite on this PR at 0c72dc2. Hold tight - I'll update this comment with the log link once the build has been queued.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Everything looks good!

@typescript-bot
Copy link
Collaborator

Hey @weswigham, the results of running the DT tests are ready.
Everything looks the same!
You can check the log here.

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..53444
Metric main 53444 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 362,108k (± 0.00%) 362,092k (± 0.00%) ~ 362,082k 362,100k p=0.053 n=6
Parse Time 3.37s (± 0.22%) 3.39s (± 0.58%) ~ 3.36s 3.41s p=0.216 n=6
Bind Time 1.11s (± 0.94%) 1.12s (± 0.92%) ~ 1.10s 1.13s p=0.801 n=6
Check Time 8.69s (± 0.34%) 8.76s (± 0.28%) +0.06s (+ 0.73%) 8.72s 8.78s p=0.013 n=6
Emit Time 7.41s (± 0.31%) 7.49s (± 0.79%) +0.08s (+ 1.01%) 7.44s 7.57s p=0.008 n=6
Total Time 20.59s (± 0.21%) 20.75s (± 0.38%) +0.16s (+ 0.77%) 20.65s 20.85s p=0.005 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 192,785k (± 1.53%) 192,776k (± 1.48%) ~ 190,917k 196,507k p=0.810 n=6
Parse Time 1.49s (± 1.39%) 1.48s (± 1.98%) ~ 1.44s 1.52s p=0.463 n=6
Bind Time 0.76s (± 1.07%) 0.77s (± 0.67%) ~ 0.76s 0.77s p=0.523 n=6
Check Time 9.38s (± 0.26%) 9.41s (± 0.55%) ~ 9.36s 9.50s p=0.329 n=6
Emit Time 2.72s (± 0.61%) 2.73s (± 1.21%) ~ 2.69s 2.77s p=0.871 n=6
Total Time 14.36s (± 0.10%) 14.39s (± 0.34%) ~ 14.34s 14.46s p=0.514 n=6
Monaco - node (v18.10.0, x64)
Memory used 346,283k (± 0.00%) 346,288k (± 0.01%) ~ 346,240k 346,315k p=0.521 n=6
Parse Time 2.56s (± 1.15%) 2.61s (± 1.13%) +0.05s (+ 2.02%) 2.58s 2.66s p=0.036 n=6
Bind Time 1.00s (± 0.41%) 1.01s (± 0.74%) +0.01s (+ 1.00%) 1.00s 1.02s p=0.029 n=6
Check Time 7.06s (± 0.56%) 7.06s (± 0.48%) ~ 7.03s 7.11s p=1.000 n=6
Emit Time 4.24s (± 0.29%) 4.25s (± 0.84%) ~ 4.21s 4.31s p=0.288 n=6
Total Time 14.86s (± 0.31%) 14.94s (± 0.41%) +0.08s (+ 0.52%) 14.85s 15.04s p=0.029 n=6
TFS - node (v18.10.0, x64)
Memory used 300,488k (± 0.01%) 300,486k (± 0.01%) ~ 300,433k 300,541k p=1.000 n=6
Parse Time 2.06s (± 1.49%) 2.06s (± 1.04%) ~ 2.04s 2.09s p=0.935 n=6
Bind Time 1.13s (± 0.67%) 1.13s (± 0.46%) ~ 1.13s 1.14s p=0.241 n=6
Check Time 6.53s (± 0.37%) 6.52s (± 0.18%) ~ 6.51s 6.54s p=0.192 n=6
Emit Time 3.86s (± 0.51%) 3.85s (± 0.81%) ~ 3.80s 3.88s p=1.000 n=6
Total Time 13.59s (± 0.30%) 13.57s (± 0.25%) ~ 13.51s 13.59s p=0.808 n=6
material-ui - node (v18.10.0, x64)
Memory used 477,164k (± 0.02%) 477,200k (± 0.01%) ~ 477,125k 477,247k p=0.378 n=6
Parse Time 3.05s (± 0.82%) 3.07s (± 0.46%) ~ 3.05s 3.09s p=0.224 n=6
Bind Time 0.91s (± 1.84%) 0.90s (± 0.45%) ~ 0.90s 0.91s p=0.462 n=6
Check Time 17.11s (± 0.22%) 17.25s (± 1.10%) ~ 17.09s 17.60s p=0.078 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.07s (± 0.13%) 21.23s (± 0.94%) ~ 21.06s 21.60s p=0.064 n=6
xstate - node (v18.10.0, x64)
Memory used 552,928k (± 0.02%) 552,939k (± 0.02%) ~ 552,824k 553,077k p=0.936 n=6
Parse Time 3.77s (± 0.51%) 3.76s (± 0.34%) ~ 3.74s 3.77s p=0.564 n=6
Bind Time 1.70s (± 0.53%) 1.70s (± 0.44%) ~ 1.69s 1.71s p=0.798 n=6
Check Time 2.79s (± 1.09%) 2.80s (± 1.29%) ~ 2.75s 2.84s p=0.628 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.35s (± 0.44%) 8.35s (± 0.45%) ~ 8.30s 8.39s p=1.000 n=6
Angular - node (v16.17.1, x64)
Memory used 361,450k (± 0.01%) 361,440k (± 0.01%) ~ 361,418k 361,478k p=0.873 n=6
Parse Time 3.53s (± 0.66%) 3.52s (± 0.71%) ~ 3.49s 3.56s p=0.418 n=6
Bind Time 1.18s (± 0.54%) 1.18s (± 0.71%) ~ 1.18s 1.20s p=0.340 n=6
Check Time 9.52s (± 0.57%) 9.55s (± 0.38%) ~ 9.50s 9.58s p=0.520 n=6
Emit Time 7.98s (± 1.04%) 7.93s (± 0.70%) ~ 7.87s 8.00s p=0.374 n=6
Total Time 22.21s (± 0.43%) 22.18s (± 0.34%) ~ 22.09s 22.30s p=0.572 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 193,652k (± 0.90%) 193,068k (± 0.67%) ~ 192,412k 195,727k p=0.810 n=6
Parse Time 1.58s (± 0.53%) 1.59s (± 1.24%) ~ 1.56s 1.61s p=0.868 n=6
Bind Time 0.82s (± 0.92%) 0.82s (± 1.25%) ~ 0.81s 0.84s p=0.931 n=6
Check Time 10.08s (± 0.69%) 10.10s (± 0.44%) ~ 10.04s 10.15s p=0.748 n=6
Emit Time 2.98s (± 0.85%) 2.99s (± 0.69%) ~ 2.97s 3.02s p=0.292 n=6
Total Time 15.47s (± 0.33%) 15.51s (± 0.29%) ~ 15.45s 15.57s p=0.261 n=6
Monaco - node (v16.17.1, x64)
Memory used 345,575k (± 0.01%) 345,585k (± 0.01%) ~ 345,562k 345,607k p=0.378 n=6
Parse Time 2.72s (± 0.63%) 2.72s (± 0.28%) ~ 2.71s 2.73s p=0.867 n=6
Bind Time 1.08s (± 0.38%) 1.08s (± 0.48%) ~ 1.08s 1.09s p=0.595 n=6
Check Time 7.74s (± 0.17%) 7.73s (± 0.33%) ~ 7.69s 7.75s p=0.412 n=6
Emit Time 4.45s (± 0.85%) 4.47s (± 0.58%) ~ 4.43s 4.50s p=0.334 n=6
Total Time 15.99s (± 0.28%) 16.00s (± 0.26%) ~ 15.95s 16.06s p=0.746 n=6
TFS - node (v16.17.1, x64)
Memory used 299,799k (± 0.01%) 299,841k (± 0.01%) ~ 299,774k 299,886k p=0.093 n=6
Parse Time 2.17s (± 0.77%) 2.17s (± 0.79%) ~ 2.15s 2.20s p=0.871 n=6
Bind Time 1.23s (± 0.95%) 1.25s (± 0.67%) +0.02s (+ 1.36%) 1.23s 1.25s p=0.026 n=6
Check Time 7.20s (± 0.44%) 7.21s (± 0.48%) ~ 7.18s 7.26s p=0.329 n=6
Emit Time 4.35s (± 0.79%) 4.34s (± 0.85%) ~ 4.31s 4.41s p=0.568 n=6
Total Time 14.95s (± 0.39%) 14.96s (± 0.37%) ~ 14.91s 15.06s p=0.574 n=6
material-ui - node (v16.17.1, x64)
Memory used 476,439k (± 0.00%) 476,449k (± 0.00%) ~ 476,435k 476,464k p=0.628 n=6
Parse Time 3.21s (± 0.20%) 3.20s (± 0.83%) ~ 3.15s 3.22s p=0.787 n=6
Bind Time 0.95s (± 0.54%) 0.96s (± 1.53%) ~ 0.95s 0.99s p=0.247 n=6
Check Time 18.19s (± 0.53%) 18.24s (± 1.38%) ~ 18.04s 18.74s 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.36s (± 0.44%) 22.41s (± 1.15%) ~ 22.21s 22.92s p=0.936 n=6
xstate - node (v16.17.1, x64)
Memory used 550,513k (± 0.01%) 550,574k (± 0.02%) ~ 550,479k 550,717k p=0.298 n=6
Parse Time 3.93s (± 0.47%) 3.94s (± 0.42%) ~ 3.92s 3.96s p=0.625 n=6
Bind Time 1.79s (± 0.29%) 1.79s (± 1.22%) ~ 1.76s 1.82s p=1.000 n=6
Check Time 3.04s (± 0.57%) 3.03s (± 0.44%) ~ 3.02s 3.05s p=0.324 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 4.45%) ~ 0.09s 0.10s p=0.405 n=6
Total Time 8.86s (± 0.22%) 8.85s (± 0.40%) ~ 8.79s 8.89s p=0.685 n=6
Angular - node (v14.15.1, x64)
Memory used 355,330k (± 0.00%) 355,275k (± 0.01%) -54k (- 0.02%) 355,248k 355,307k p=0.005 n=6
Parse Time 3.62s (± 0.80%) 3.61s (± 1.16%) ~ 3.58s 3.69s p=0.686 n=6
Bind Time 1.23s (± 0.61%) 1.23s (± 0.84%) ~ 1.21s 1.24s p=0.931 n=6
Check Time 9.82s (± 0.39%) 9.88s (± 0.28%) +0.06s (+ 0.59%) 9.84s 9.90s p=0.019 n=6
Emit Time 8.33s (± 0.67%) 8.35s (± 0.31%) ~ 8.31s 8.37s p=0.571 n=6
Total Time 22.99s (± 0.21%) 23.06s (± 0.28%) +0.08s (+ 0.33%) 23.01s 23.18s p=0.050 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used 187,804k (± 0.01%) 187,791k (± 0.01%) ~ 187,757k 187,810k p=0.230 n=6
Parse Time 1.60s (± 0.65%) 1.60s (± 0.61%) ~ 1.59s 1.61s p=0.933 n=6
Bind Time 0.84s (± 0.49%) 0.84s (± 0.00%) ~ 0.84s 0.84s p=0.405 n=6
Check Time 10.20s (± 0.58%) 10.20s (± 0.47%) ~ 10.15s 10.28s p=0.868 n=6
Emit Time 3.13s (± 1.24%) 3.13s (± 1.26%) ~ 3.07s 3.19s p=0.936 n=6
Total Time 15.76s (± 0.56%) 15.77s (± 0.36%) ~ 15.71s 15.86s p=0.936 n=6
Monaco - node (v14.15.1, x64)
Memory used 340,542k (± 0.01%) 340,532k (± 0.01%) ~ 340,481k 340,551k p=0.689 n=6
Parse Time 2.81s (± 0.30%) 2.82s (± 0.43%) ~ 2.81s 2.84s p=0.227 n=6
Bind Time 1.10s (± 0.68%) 1.10s (± 0.68%) ~ 1.09s 1.11s p=1.000 n=6
Check Time 8.13s (± 0.56%) 8.12s (± 0.33%) ~ 8.09s 8.15s p=1.000 n=6
Emit Time 4.67s (± 0.82%) 4.67s (± 1.04%) ~ 4.60s 4.74s p=1.000 n=6
Total Time 16.70s (± 0.16%) 16.71s (± 0.40%) ~ 16.63s 16.80s p=1.000 n=6
TFS - node (v14.15.1, x64)
Memory used 294,903k (± 0.00%) 294,889k (± 0.01%) ~ 294,860k 294,902k p=0.148 n=6
Parse Time 2.40s (± 1.14%) 2.38s (± 0.43%) ~ 2.37s 2.40s p=0.517 n=6
Bind Time 1.06s (± 0.49%) 1.07s (± 1.50%) ~ 1.06s 1.10s p=0.923 n=6
Check Time 7.53s (± 0.51%) 7.49s (± 0.23%) ~ 7.47s 7.52s p=0.054 n=6
Emit Time 4.27s (± 0.69%) 4.28s (± 0.93%) ~ 4.25s 4.36s p=1.000 n=6
Total Time 15.27s (± 0.26%) 15.23s (± 0.38%) ~ 15.19s 15.34s p=0.124 n=6
material-ui - node (v14.15.1, x64)
Memory used 471,981k (± 0.01%) 471,973k (± 0.00%) ~ 471,948k 471,991k p=0.575 n=6
Parse Time 3.34s (± 0.40%) 3.35s (± 0.37%) ~ 3.33s 3.36s p=0.383 n=6
Bind Time 1.00s (± 1.04%) 1.00s (± 0.81%) ~ 0.99s 1.01s p=0.270 n=6
Check Time 19.16s (± 0.65%) 19.07s (± 0.55%) ~ 18.92s 19.24s p=0.108 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.50s (± 0.52%) 23.42s (± 0.45%) ~ 23.26s 23.58s p=0.297 n=6
xstate - node (v14.15.1, x64)
Memory used 539,180k (± 0.00%) 539,189k (± 0.01%) ~ 539,153k 539,242k p=0.630 n=6
Parse Time 4.22s (± 0.90%) 4.20s (± 0.18%) ~ 4.19s 4.21s p=0.457 n=6
Bind Time 1.67s (± 0.24%) 1.67s (± 0.54%) ~ 1.66s 1.68s p=0.787 n=6
Check Time 3.17s (± 0.62%) 3.19s (± 0.57%) ~ 3.17s 3.21s p=0.191 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=1.000 n=6
Total Time 9.16s (± 0.51%) 9.16s (± 0.17%) ~ 9.14s 9.18s p=0.572 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-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.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53444 6
Baseline main 6

TSServer

Comparison Report - main..53444
Metric main 53444 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,396ms (± 0.58%) 2,396ms (± 0.43%) ~ 2,380ms 2,409ms p=0.748 n=6
Req 2 - geterr 5,425ms (± 0.41%) 5,441ms (± 0.62%) ~ 5,395ms 5,486ms p=0.378 n=6
Req 3 - references 340ms (± 1.23%) 344ms (± 0.68%) ~ 341ms 348ms p=0.223 n=6
Req 4 - navto 281ms (± 0.49%) 281ms (± 0.47%) ~ 279ms 283ms p=0.441 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 72ms (± 8.64%) 67ms (± 1.21%) ~ 67ms 69ms p=0.198 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,511ms (± 1.08%) 2,510ms (± 1.01%) ~ 2,478ms 2,543ms p=1.000 n=6
Req 2 - geterr 4,031ms (± 0.30%) 4,029ms (± 0.71%) ~ 4,000ms 4,073ms p=0.575 n=6
Req 3 - references 349ms (± 1.12%) 348ms (± 1.42%) ~ 344ms 357ms p=0.332 n=6
Req 4 - navto 292ms (± 0.85%) 293ms (± 0.56%) ~ 290ms 294ms p=0.516 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 81ms (± 3.44%) 80ms (± 2.32%) ~ 78ms 83ms p=0.627 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,011ms (± 0.53%) 3,020ms (± 0.41%) ~ 3,002ms 3,032ms p=0.375 n=6
Req 2 - geterr 1,621ms (± 0.78%) 1,609ms (± 0.61%) ~ 1,597ms 1,620ms p=0.199 n=6
Req 3 - references 107ms (± 1.13%) 106ms (± 1.41%) ~ 105ms 109ms p=0.621 n=6
Req 4 - navto 355ms (± 0.43%) 357ms (± 1.52%) ~ 354ms 368ms p=0.366 n=6
Req 5 - completionInfo count 2,861 (± 0.00%) 2,861 (± 0.00%) ~ 2,861 2,861 p=1.000 n=6
Req 5 - completionInfo 378ms (± 0.87%) 380ms (± 1.93%) ~ 367ms 387ms p=0.470 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,498ms (± 0.32%) 2,506ms (± 0.77%) ~ 2,484ms 2,530ms p=0.687 n=6
Req 2 - geterr 5,774ms (± 0.21%) 5,774ms (± 0.26%) ~ 5,758ms 5,802ms p=1.000 n=6
Req 3 - references 350ms (± 0.42%) 351ms (± 0.35%) ~ 349ms 352ms p=0.325 n=6
Req 4 - navto 277ms (± 1.50%) 279ms (± 2.43%) ~ 271ms 286ms p=0.688 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 74ms (± 1.43%) 74ms (± 1.21%) ~ 73ms 75ms p=0.452 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,680ms (± 0.59%) 2,666ms (± 0.72%) ~ 2,640ms 2,694ms p=0.226 n=6
Req 2 - geterr 4,373ms (± 0.69%) 4,371ms (± 0.39%) ~ 4,343ms 4,392ms p=0.936 n=6
Req 3 - references 359ms (± 0.52%) 357ms (± 0.34%) ~ 355ms 358ms p=0.318 n=6
Req 4 - navto 290ms (± 0.74%) 291ms (± 0.38%) ~ 289ms 292ms p=0.276 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 79ms (± 5.72%) 78ms (± 3.12%) ~ 75ms 81ms p=1.000 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,159ms (± 0.39%) 3,160ms (± 0.24%) ~ 3,150ms 3,169ms p=0.810 n=6
Req 2 - geterr 1,767ms (± 0.66%) 1,771ms (± 1.13%) ~ 1,753ms 1,809ms p=0.936 n=6
Req 3 - references 114ms (± 0.86%) 113ms (± 0.56%) ~ 112ms 114ms p=0.151 n=6
Req 4 - navto 339ms (± 0.66%) 340ms (± 0.41%) ~ 337ms 341ms p=0.935 n=6
Req 5 - completionInfo count 2,861 (± 0.00%) 2,861 (± 0.00%) ~ 2,861 2,861 p=1.000 n=6
Req 5 - completionInfo 394ms (± 0.72%) 396ms (± 0.95%) ~ 392ms 402ms p=0.293 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,591ms (± 0.38%) 2,606ms (± 0.58%) ~ 2,592ms 2,630ms p=0.090 n=6
Req 2 - geterr 6,162ms (± 0.32%) 6,197ms (± 0.28%) +35ms (+ 0.57%) 6,177ms 6,215ms p=0.010 n=6
Req 3 - references 364ms (± 0.84%) 365ms (± 0.45%) ~ 362ms 366ms p=0.935 n=6
Req 4 - navto 277ms (± 0.42%) 277ms (± 0.37%) ~ 276ms 279ms p=1.000 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 102ms (± 0.51%) 102ms (± 0.74%) ~ 101ms 103ms p=0.241 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,827ms (± 0.76%) 2,824ms (± 0.29%) ~ 2,813ms 2,838ms p=1.000 n=6
Req 2 - geterr 4,536ms (± 2.12%) 4,587ms (± 2.66%) ~ 4,480ms 4,756ms p=0.298 n=6
Req 3 - references 415ms (± 5.35%) 383ms (± 6.02%) ~ 369ms 429ms p=0.170 n=6
Req 4 - navto 287ms (± 1.27%) 292ms (± 1.46%) ~ 284ms 295ms p=0.107 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 86ms (± 7.53%) 80ms (± 9.54%) ~ 73ms 92ms p=0.359 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,438ms (± 0.45%) 3,439ms (± 0.44%) ~ 3,413ms 3,460ms p=0.747 n=6
Req 2 - geterr 1,893ms (± 0.94%) 1,919ms (± 0.95%) +26ms (+ 1.36%) 1,886ms 1,938ms p=0.045 n=6
Req 3 - references 126ms (± 0.93%) 125ms (± 1.99%) ~ 122ms 129ms p=0.325 n=6
Req 4 - navto 370ms (± 0.56%) 371ms (± 0.40%) ~ 369ms 373ms p=0.222 n=6
Req 5 - completionInfo count 2,861 (± 0.00%) 2,861 (± 0.00%) ~ 2,861 2,861 p=1.000 n=6
Req 5 - completionInfo 410ms (± 0.70%) 411ms (± 1.24%) ~ 406ms 418ms p=0.935 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-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.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53444 6
Baseline main 6

Startup

Comparison Report - main..53444
Metric main 53444 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 142.43ms (± 0.45%) 141.37ms (± 0.18%) -1.06ms (- 0.75%) 140.54ms 144.62ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 228.75ms (± 0.44%) 226.00ms (± 0.19%) -2.75ms (- 1.20%) 224.80ms 230.12ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 229.55ms (± 0.33%) 227.77ms (± 0.14%) -1.79ms (- 0.78%) 226.81ms 232.12ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 209.79ms (± 0.25%) 208.67ms (± 0.15%) -1.12ms (- 0.53%) 207.79ms 212.95ms p=0.000 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-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 53444 6
Baseline main 6

Developer Information:

Download Benchmark

@sandersn
Copy link
Member

@weswigham is this good for 5.1?

@Andarist
Copy link
Contributor Author

Andarist commented May 7, 2023

This PR mainly unifies behavior of JSX and regular calls so I think that it should go in sooner than later.

Copy link
Member

@jakebailey jakebailey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like this is ready, then? Surprised it wasn't merged unless I've missed something.

@jakebailey jakebailey merged commit 6947c98 into microsoft:main May 8, 2023
@Andarist Andarist deleted the fix/51577-take-2 branch May 9, 2023 05:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Milestone Bug PRs that fix a bug with a specific milestone
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

spread of overloaded function rejected on generic components in JSX as of 4.7.4
5 participants