Skip to content

Conversation

Andarist
Copy link
Contributor

@Andarist Andarist commented Mar 2, 2023

fixes #50030

@typescript-bot typescript-bot added the For Milestone Bug PRs that fix a bug with a specific milestone label Mar 2, 2023

function getConstraintFromIndexedAccess(type: IndexedAccessType) {
if (isMappedTypeGenericIndexedAccess(type)) {
if (isMappedTypeGenericIndexedAccess(type) || isGenericMappedType(type.objectType)) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

If the indexed access is allowed - then I think it's always safe to substitute as when the indexType is invalid then the error is reported elsewhere anyway.

@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 20, 2023

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 20, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 20, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 20, 2023

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

Update: The results are in!

@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 Here are the results of running the top-repos suite comparing main and refs/pull/53066/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..53066
Metric main 53066 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 361,726k (± 0.01%) 361,720k (± 0.00%) ~ 361,693k 361,743k p=0.689 n=6
Parse Time 3.40s (± 0.60%) 3.40s (± 0.52%) ~ 3.37s 3.41s p=0.677 n=6
Bind Time 1.11s (± 0.75%) 1.11s (± 0.46%) ~ 1.11s 1.12s p=0.923 n=6
Check Time 8.75s (± 0.33%) 8.71s (± 0.62%) ~ 8.61s 8.77s p=0.195 n=6
Emit Time 7.53s (± 0.58%) 7.47s (± 0.71%) ~ 7.41s 7.54s p=0.149 n=6
Total Time 20.80s (± 0.33%) 20.69s (± 0.49%) ~ 20.55s 20.81s p=0.090 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 192,747k (± 1.53%) 193,647k (± 1.61%) ~ 190,745k 196,670k p=0.936 n=6
Parse Time 1.51s (± 0.77%) 1.50s (± 0.50%) ~ 1.49s 1.51s p=0.150 n=6
Bind Time 0.77s (± 0.82%) 0.78s (± 0.71%) ~ 0.77s 0.78s p=0.201 n=6
Check Time 9.48s (± 0.84%) 9.44s (± 0.77%) ~ 9.31s 9.50s p=0.171 n=6
Emit Time 2.74s (± 0.55%) 2.74s (± 0.84%) ~ 2.71s 2.77s p=1.000 n=6
Total Time 14.50s (± 0.54%) 14.46s (± 0.57%) ~ 14.30s 14.51s p=0.467 n=6
Monaco - node (v18.10.0, x64)
Memory used 346,261k (± 0.01%) 346,262k (± 0.01%) ~ 346,233k 346,311k p=0.689 n=6
Parse Time 2.61s (± 0.83%) 2.60s (± 0.92%) ~ 2.56s 2.62s p=0.746 n=6
Bind Time 1.01s (± 1.20%) 1.01s (± 0.88%) ~ 1.00s 1.02s p=0.676 n=6
Check Time 7.07s (± 0.38%) 7.03s (± 0.47%) -0.05s (- 0.68%) 6.98s 7.07s p=0.030 n=6
Emit Time 4.28s (± 0.59%) 4.28s (± 1.03%) ~ 4.22s 4.33s p=0.686 n=6
Total Time 14.97s (± 0.21%) 14.91s (± 0.62%) ~ 14.77s 15.02s p=0.376 n=6
TFS - node (v18.10.0, x64)
Memory used 300,455k (± 0.01%) 300,466k (± 0.01%) ~ 300,419k 300,499k p=0.810 n=6
Parse Time 2.08s (± 0.66%) 2.05s (± 1.10%) -0.03s (- 1.44%) 2.01s 2.07s p=0.027 n=6
Bind Time 1.14s (± 0.92%) 1.14s (± 0.55%) ~ 1.13s 1.15s p=0.388 n=6
Check Time 6.53s (± 0.38%) 6.50s (± 0.75%) ~ 6.43s 6.57s p=0.168 n=6
Emit Time 3.87s (± 0.83%) 3.86s (± 0.85%) ~ 3.81s 3.89s p=0.747 n=6
Total Time 13.62s (± 0.27%) 13.54s (± 0.60%) ~ 13.43s 13.66s p=0.065 n=6
material-ui - node (v18.10.0, x64)
Memory used 477,126k (± 0.01%) 477,080k (± 0.01%) ~ 477,043k 477,125k p=0.078 n=6
Parse Time 2.96s (± 2.11%) 3.06s (± 2.43%) ~ 2.93s 3.13s p=0.106 n=6
Bind Time 1.05s (± 7.17%) 0.96s (± 8.31%) ~ 0.89s 1.08s p=0.088 n=6
Check Time 16.91s (± 0.65%) 17.02s (± 1.13%) ~ 16.75s 17.27s p=0.378 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.92s (± 0.58%) 21.03s (± 0.88%) ~ 20.77s 21.27s p=0.199 n=6
xstate - node (v18.10.0, x64)
Memory used 552,897k (± 0.01%) 553,034k (± 0.02%) +137k (+ 0.02%) 552,919k 553,152k p=0.031 n=6
Parse Time 3.78s (± 0.61%) 3.77s (± 0.35%) ~ 3.75s 3.79s p=0.251 n=6
Bind Time 1.71s (± 0.52%) 1.68s (± 0.61%) -0.03s (- 1.56%) 1.67s 1.70s p=0.007 n=6
Check Time 2.78s (± 0.78%) 2.82s (± 0.48%) +0.05s (+ 1.68%) 2.80s 2.84s p=0.008 n=6
Emit Time 0.08s (± 6.19%) 0.08s (± 4.99%) ~ 0.08s 0.09s p=0.752 n=6
Total Time 8.36s (± 0.35%) 8.36s (± 0.22%) ~ 8.34s 8.39s p=0.808 n=6
Angular - node (v16.17.1, x64)
Memory used 361,031k (± 0.01%) 361,024k (± 0.01%) ~ 360,984k 361,071k p=0.810 n=6
Parse Time 3.53s (± 0.68%) 3.51s (± 0.48%) ~ 3.49s 3.53s p=0.061 n=6
Bind Time 1.18s (± 0.46%) 1.18s (± 1.15%) ~ 1.16s 1.20s p=1.000 n=6
Check Time 9.51s (± 0.52%) 9.47s (± 0.45%) ~ 9.41s 9.53s p=0.172 n=6
Emit Time 7.94s (± 0.78%) 7.90s (± 0.44%) ~ 7.86s 7.96s p=0.199 n=6
Total Time 22.17s (± 0.46%) 22.06s (± 0.31%) ~ 21.98s 22.17s p=0.092 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 193,530k (± 0.78%) 193,122k (± 0.76%) ~ 192,422k 196,115k p=0.378 n=6
Parse Time 1.60s (± 1.45%) 1.57s (± 2.24%) ~ 1.50s 1.59s p=0.123 n=6
Bind Time 0.83s (± 0.66%) 0.82s (± 0.63%) ~ 0.82s 0.83s p=0.640 n=6
Check Time 10.22s (± 0.72%) 10.07s (± 0.47%) -0.16s (- 1.53%) 9.98s 10.11s p=0.006 n=6
Emit Time 2.99s (± 0.70%) 2.99s (± 0.69%) ~ 2.95s 3.01s p=1.000 n=6
Total Time 15.63s (± 0.35%) 15.44s (± 0.51%) -0.19s (- 1.22%) 15.30s 15.54s p=0.006 n=6
Monaco - node (v16.17.1, x64)
Memory used 345,555k (± 0.00%) 345,555k (± 0.01%) ~ 345,534k 345,590k p=0.936 n=6
Parse Time 2.73s (± 0.44%) 2.73s (± 0.60%) ~ 2.71s 2.75s p=0.933 n=6
Bind Time 1.09s (± 0.37%) 1.09s (± 0.37%) ~ 1.08s 1.09s p=1.000 n=6
Check Time 7.76s (± 0.39%) 7.70s (± 0.22%) -0.06s (- 0.73%) 7.68s 7.73s p=0.007 n=6
Emit Time 4.50s (± 0.71%) 4.47s (± 0.63%) ~ 4.45s 4.53s p=0.060 n=6
Total Time 16.08s (± 0.27%) 16.00s (± 0.17%) -0.08s (- 0.50%) 15.97s 16.03s p=0.013 n=6
TFS - node (v16.17.1, x64)
Memory used 299,792k (± 0.01%) 299,797k (± 0.01%) ~ 299,748k 299,847k p=0.689 n=6
Parse Time 2.17s (± 0.48%) 2.17s (± 0.48%) ~ 2.16s 2.18s p=0.203 n=6
Bind Time 1.25s (± 0.67%) 1.24s (± 0.83%) ~ 1.23s 1.25s p=1.000 n=6
Check Time 7.19s (± 0.38%) 7.16s (± 0.57%) ~ 7.11s 7.21s p=0.169 n=6
Emit Time 4.35s (± 0.53%) 4.33s (± 0.68%) ~ 4.31s 4.39s p=0.253 n=6
Total Time 14.95s (± 0.38%) 14.90s (± 0.45%) ~ 14.85s 15.03s p=0.226 n=6
material-ui - node (v16.17.1, x64)
Memory used 476,397k (± 0.01%) 476,378k (± 0.00%) ~ 476,352k 476,410k p=0.630 n=6
Parse Time 3.22s (± 0.23%) 3.22s (± 0.17%) ~ 3.21s 3.22s p=0.476 n=6
Bind Time 0.96s (± 0.66%) 0.96s (± 0.54%) ~ 0.95s 0.96s p=0.386 n=6
Check Time 17.93s (± 0.41%) 17.91s (± 0.72%) ~ 17.80s 18.15s p=0.520 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.11s (± 0.37%) 22.09s (± 0.61%) ~ 21.96s 22.33s p=0.575 n=6
xstate - node (v16.17.1, x64)
Memory used 550,565k (± 0.01%) 550,653k (± 0.02%) ~ 550,532k 550,783k p=0.093 n=6
Parse Time 3.96s (± 0.49%) 3.95s (± 0.26%) ~ 3.94s 3.97s p=0.517 n=6
Bind Time 1.80s (± 0.76%) 1.80s (± 0.55%) ~ 1.78s 1.81s p=0.388 n=6
Check Time 3.01s (± 0.75%) 3.01s (± 0.34%) ~ 3.00s 3.03s p=0.145 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=1.000 n=6
Total Time 8.86s (± 0.30%) 8.86s (± 0.25%) ~ 8.84s 8.90s p=1.000 n=6
Angular - node (v14.15.1, x64)
Memory used 354,924k (± 0.01%) 354,914k (± 0.01%) ~ 354,879k 354,954k p=0.689 n=6
Parse Time 3.63s (± 0.44%) 3.60s (± 0.49%) -0.03s (- 0.92%) 3.57s 3.61s p=0.019 n=6
Bind Time 1.23s (± 0.61%) 1.23s (± 0.73%) ~ 1.22s 1.24s p=0.798 n=6
Check Time 9.81s (± 0.32%) 9.79s (± 0.25%) ~ 9.77s 9.83s p=0.293 n=6
Emit Time 8.43s (± 0.77%) 8.35s (± 0.56%) ~ 8.29s 8.41s p=0.054 n=6
Total Time 23.10s (± 0.40%) 22.97s (± 0.25%) -0.13s (- 0.58%) 22.87s 23.05s p=0.016 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used 187,799k (± 0.01%) 187,801k (± 0.02%) ~ 187,762k 187,853k p=0.936 n=6
Parse Time 1.61s (± 0.88%) 1.60s (± 1.02%) ~ 1.58s 1.62s p=0.194 n=6
Bind Time 0.85s (± 0.96%) 0.85s (± 0.74%) ~ 0.84s 0.86s p=0.432 n=6
Check Time 10.27s (± 0.17%) 10.21s (± 0.34%) -0.07s (- 0.67%) 10.15s 10.24s p=0.005 n=6
Emit Time 3.14s (± 1.78%) 3.12s (± 0.72%) ~ 3.09s 3.15s p=0.373 n=6
Total Time 15.87s (± 0.35%) 15.77s (± 0.41%) -0.11s (- 0.67%) 15.66s 15.85s p=0.020 n=6
Monaco - node (v14.15.1, x64)
Memory used 340,539k (± 0.01%) 340,547k (± 0.00%) ~ 340,519k 340,567k p=0.229 n=6
Parse Time 2.84s (± 0.91%) 2.83s (± 0.75%) ~ 2.81s 2.87s p=0.809 n=6
Bind Time 1.11s (± 0.93%) 1.10s (± 0.68%) ~ 1.09s 1.11s p=0.351 n=6
Check Time 8.12s (± 0.49%) 8.07s (± 0.39%) ~ 8.03s 8.11s p=0.053 n=6
Emit Time 4.69s (± 0.57%) 4.70s (± 0.86%) ~ 4.65s 4.76s p=0.746 n=6
Total Time 16.75s (± 0.44%) 16.70s (± 0.37%) ~ 16.61s 16.77s p=0.422 n=6
TFS - node (v14.15.1, x64)
Memory used 294,892k (± 0.01%) 294,896k (± 0.00%) ~ 294,884k 294,905k p=0.688 n=6
Parse Time 2.41s (± 0.57%) 2.40s (± 0.78%) ~ 2.37s 2.42s p=0.618 n=6
Bind Time 1.07s (± 0.38%) 1.07s (± 0.70%) ~ 1.06s 1.08s p=1.000 n=6
Check Time 7.53s (± 0.71%) 7.47s (± 0.60%) -0.06s (- 0.84%) 7.39s 7.52s p=0.045 n=6
Emit Time 4.30s (± 0.99%) 4.30s (± 0.70%) ~ 4.26s 4.34s p=1.000 n=6
Total Time 15.30s (± 0.38%) 15.23s (± 0.55%) ~ 15.11s 15.33s p=0.128 n=6
material-ui - node (v14.15.1, x64)
Memory used 471,983k (± 0.00%) 471,986k (± 0.00%) ~ 471,962k 472,001k p=0.521 n=6
Parse Time 3.38s (± 0.39%) 3.36s (± 0.49%) -0.02s (- 0.69%) 3.33s 3.38s p=0.027 n=6
Bind Time 1.00s (± 0.75%) 1.01s (± 0.74%) ~ 1.00s 1.02s p=0.062 n=6
Check Time 18.96s (± 0.61%) 18.95s (± 0.95%) ~ 18.76s 19.17s 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 23.34s (± 0.53%) 23.32s (± 0.72%) ~ 23.14s 23.53s p=0.873 n=6
xstate - node (v14.15.1, x64)
Memory used 539,157k (± 0.00%) 539,097k (± 0.00%) -60k (- 0.01%) 539,062k 539,138k p=0.013 n=6
Parse Time 4.23s (± 0.25%) 4.22s (± 0.61%) ~ 4.19s 4.26s p=1.000 n=6
Bind Time 1.67s (± 0.45%) 1.66s (± 0.45%) ~ 1.65s 1.67s p=0.062 n=6
Check Time 3.14s (± 0.66%) 3.18s (± 0.51%) +0.05s (+ 1.49%) 3.16s 3.21s p=0.008 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=1.000 n=6
Total Time 9.13s (± 0.29%) 9.15s (± 0.46%) ~ 9.09s 9.20s p=0.295 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 53066 6
Baseline main 6

TSServer

Comparison Report - main..53066
Metric main 53066 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,400ms (± 0.53%) 2,375ms (± 0.24%) -25ms (- 1.04%) 2,366ms 2,381ms p=0.005 n=6
Req 2 - geterr 5,399ms (± 0.49%) 5,376ms (± 0.72%) ~ 5,335ms 5,445ms p=0.261 n=6
Req 3 - references 338ms (± 1.00%) 336ms (± 0.31%) ~ 334ms 337ms p=0.142 n=6
Req 4 - navto 282ms (± 0.54%) 280ms (± 0.35%) ~ 279ms 282ms p=0.102 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 (± 6.28%) 81ms (± 3.40%) +7ms (+ 9.28%) 78ms 83ms p=0.015 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,529ms (± 1.17%) 2,523ms (± 0.82%) ~ 2,502ms 2,556ms p=0.423 n=6
Req 2 - geterr 4,050ms (± 0.96%) 4,019ms (± 0.69%) ~ 3,984ms 4,055ms p=0.230 n=6
Req 3 - references 351ms (± 0.94%) 350ms (± 1.20%) ~ 342ms 354ms p=0.625 n=6
Req 4 - navto 294ms (± 0.79%) 293ms (± 0.86%) ~ 290ms 297ms p=0.627 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 78ms (± 6.25%) 80ms (± 7.28%) ~ 69ms 84ms p=0.280 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,028ms (± 0.45%) 3,035ms (± 0.56%) ~ 3,019ms 3,060ms p=0.471 n=6
Req 2 - geterr 1,559ms (± 0.87%) 1,592ms (± 0.85%) +33ms (+ 2.12%) 1,569ms 1,610ms p=0.008 n=6
Req 3 - references 107ms (± 0.70%) 108ms (± 1.94%) ~ 106ms 112ms p=0.611 n=6
Req 4 - navto 356ms (± 0.56%) 360ms (± 2.19%) ~ 356ms 376ms p=0.244 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 385ms (± 0.39%) 382ms (± 2.27%) ~ 369ms 390ms p=1.000 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,507ms (± 0.98%) 2,508ms (± 0.55%) ~ 2,490ms 2,528ms p=0.809 n=6
Req 2 - geterr 5,793ms (± 0.59%) 5,767ms (± 0.60%) ~ 5,720ms 5,819ms p=0.378 n=6
Req 3 - references 351ms (± 0.75%) 347ms (± 1.20%) ~ 343ms 353ms p=0.288 n=6
Req 4 - navto 279ms (± 1.55%) 279ms (± 1.38%) ~ 273ms 282ms 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 74ms (± 0.55%) 75ms (± 4.04%) ~ 73ms 81ms p=0.787 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,691ms (± 0.94%) 2,691ms (± 0.89%) ~ 2,671ms 2,735ms p=1.000 n=6
Req 2 - geterr 4,398ms (± 0.28%) 4,372ms (± 0.30%) -26ms (- 0.59%) 4,356ms 4,390ms p=0.013 n=6
Req 3 - references 358ms (± 0.33%) 360ms (± 0.42%) ~ 357ms 361ms p=0.071 n=6
Req 4 - navto 291ms (± 0.42%) 291ms (± 0.68%) ~ 288ms 293ms p=0.864 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 77ms (± 2.17%) 74ms (± 4.92%) ~ 68ms 77ms p=0.073 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,170ms (± 0.69%) 3,175ms (± 0.31%) ~ 3,165ms 3,190ms p=0.575 n=6
Req 2 - geterr 1,743ms (± 1.51%) 1,766ms (± 1.76%) ~ 1,733ms 1,819ms p=0.298 n=6
Req 3 - references 114ms (± 1.32%) 117ms (± 0.64%) +3ms (+ 2.19%) 116ms 118ms p=0.022 n=6
Req 4 - navto 342ms (± 0.55%) 341ms (± 0.44%) ~ 339ms 343ms p=0.461 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 (± 1.15%) 396ms (± 1.14%) ~ 388ms 401ms p=0.466 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,621ms (± 0.67%) 2,589ms (± 0.48%) -32ms (- 1.21%) 2,573ms 2,600ms p=0.031 n=6
Req 2 - geterr 6,203ms (± 0.41%) 6,162ms (± 0.87%) ~ 6,104ms 6,255ms p=0.093 n=6
Req 3 - references 366ms (± 0.40%) 365ms (± 0.56%) ~ 362ms 367ms p=0.453 n=6
Req 4 - navto 278ms (± 0.43%) 279ms (± 1.37%) ~ 275ms 286ms p=0.622 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 (± 1.07%) 99ms (± 4.70%) ~ 90ms 102ms p=0.120 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,848ms (± 0.85%) 2,824ms (± 0.39%) ~ 2,812ms 2,837ms p=0.092 n=6
Req 2 - geterr 4,576ms (± 2.46%) 4,497ms (± 1.81%) -80ms (- 1.74%) 4,436ms 4,659ms p=0.045 n=6
Req 3 - references 394ms (± 7.36%) 411ms (± 6.51%) ~ 371ms 430ms p=0.573 n=6
Req 4 - navto 291ms (± 1.83%) 291ms (± 1.42%) ~ 286ms 296ms p=1.000 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 84ms (±12.51%) 84ms (± 8.60%) ~ 74ms 93ms p=1.000 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,461ms (± 0.44%) 3,464ms (± 0.76%) ~ 3,439ms 3,514ms p=0.936 n=6
Req 2 - geterr 1,873ms (± 0.88%) 1,903ms (± 0.48%) +30ms (+ 1.58%) 1,888ms 1,914ms p=0.013 n=6
Req 3 - references 128ms (± 1.38%) 126ms (± 1.10%) ~ 124ms 128ms p=0.071 n=6
Req 4 - navto 371ms (± 0.37%) 371ms (± 0.58%) ~ 368ms 373ms p=0.625 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 412ms (± 1.35%) 413ms (± 0.72%) ~ 409ms 416ms p=0.629 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 53066 6
Baseline main 6

Startup

Comparison Report - main..53066
Metric main 53066 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 141.42ms (± 0.20%) 140.83ms (± 0.15%) -0.59ms (- 0.42%) 140.24ms 143.34ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 226.36ms (± 0.20%) 225.54ms (± 0.18%) -0.82ms (- 0.36%) 224.28ms 229.57ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 228.77ms (± 0.26%) 227.33ms (± 0.20%) -1.44ms (- 0.63%) 226.31ms 239.50ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 210.31ms (± 0.33%) 208.21ms (± 0.18%) -2.10ms (- 1.00%) 207.29ms 217.10ms 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 53066 6
Baseline main 6

Developer Information:

Download Benchmark

@weswigham weswigham merged commit abb4052 into microsoft:main Mar 21, 2023
@Andarist Andarist deleted the fix/generic-mapped-type-substitution-indexed-access branch September 1, 2023 17:00
@ahejlsberg
Copy link
Member

ahejlsberg commented Jan 28, 2024

@Andarist @weswigham Stumbled on this PR that I hadn't seen before. Something is not right here:

type Remap<K extends string> = {
    [P in K as `_${P}`]: P;
};

type Key = "foo" | "bar" | "baz";

function qq1<K extends string>(obj: Remap<K>, key: keyof Remap<K>) {
    let s: `_${string}` = obj[key];  // Error expected here
}

function qq2(obj: Remap<Key>, key: keyof Remap<Key>) {
    let s: `_${string}` = obj[key];  // Error (as expected)
}

I think your comment here is really only true when the name type isn't a remapping.

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.

Generic template literal index does not resolve value type

4 participants