Skip to content

Fix excess property checking for intersections with index signatures - #51894

Merged
Anders Hejlsberg (ahejlsberg) merged 3 commits into
mainfrom
fix51875
Dec 16, 2022
Merged

Anders Hejlsberg (ahejlsberg) merged 3 commits into
mainfrom
fix51875

Conversation

@ahejlsberg

Copy link
Copy Markdown
Member

Fixes #51875.

@ahejlsberg

Copy link
Copy Markdown
Member Author

@typescript-bot

TypeScript Bot (typescript-bot) commented Dec 14, 2022 •

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the diff-based top-repos suite on this PR at d897b56. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Dec 14, 2022 •

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the parallelized Definitely Typed test suite on this PR at d897b56. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Dec 14, 2022 •

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the extended test suite on this PR at d897b56. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Dec 14, 2022 •

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the diff-based user code test suite on this PR at d897b56. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Dec 14, 2022 •

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the abridged perf test suite on this PR at d897b56. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

Anders Hejlsberg (@ahejlsberg) Here are the results of running the user test suite comparing main and refs/pull/51894/merge:

Everything looks good!

@typescript-bot

Copy link
Copy Markdown
Contributor

Anders Hejlsberg (@ahejlsberg)
The results of the perf run you requested are in!

Here they are:

Comparison Report - main..51894

Metric main 51894 Delta Best Worst
Angular - node (v16.17.1, x64)
Memory used 363,951k (± 0.02%) 363,953k (± 0.02%) +2k (+ 0.00%) 363,837k 364,081k
Parse Time 1.91s (± 0.29%) 1.91s (± 0.58%) +0.00s (+ 0.10%) 1.88s 1.93s
Bind Time 0.66s (± 0.50%) 0.66s (± 0.87%) +0.00s (+ 0.45%) 0.65s 0.67s
Check Time 5.02s (± 0.53%) 5.00s (± 0.73%) -0.02s (- 0.34%) 4.93s 5.08s
Emit Time 4.68s (± 0.97%) 4.71s (± 0.83%) +0.04s (+ 0.75%) 4.60s 4.78s
Total Time 12.26s (± 0.56%) 12.28s (± 0.53%) +0.02s (+ 0.17%) 12.11s 12.43s
Compiler-Unions - node (v16.17.1, x64)
Memory used 200,877k (± 0.57%) 201,232k (± 0.50%) +356k (+ 0.18%) 198,534k 202,074k
Parse Time 0.80s (± 0.77%) 0.79s (± 0.70%) -0.01s (- 0.88%) 0.78s 0.80s
Bind Time 0.44s (± 0.91%) 0.44s (± 0.91%) 0.00s ( 0.00%) 0.43s 0.45s
Check Time 5.92s (± 0.70%) 5.92s (± 0.83%) +0.00s (+ 0.03%) 5.83s 6.02s
Emit Time 1.79s (± 0.87%) 1.80s (± 0.76%) +0.01s (+ 0.39%) 1.77s 1.83s
Total Time 8.96s (± 0.47%) 8.96s (± 0.57%) +0.00s (+ 0.03%) 8.86s 9.08s
Monaco - node (v16.17.1, x64)
Memory used 346,553k (± 0.01%) 346,533k (± 0.02%) -20k (- 0.01%) 346,348k 346,641k
Parse Time 1.43s (± 0.71%) 1.42s (± 0.53%) -0.01s (- 0.35%) 1.41s 1.44s
Bind Time 0.61s (± 0.85%) 0.61s (± 0.91%) -0.00s (- 0.16%) 0.60s 0.62s
Check Time 4.63s (± 0.37%) 4.63s (± 0.61%) +0.00s (+ 0.00%) 4.57s 4.70s
Emit Time 2.49s (± 0.79%) 2.48s (± 1.53%) -0.01s (- 0.24%) 2.44s 2.62s
Total Time 9.16s (± 0.22%) 9.14s (± 0.68%) -0.01s (- 0.12%) 9.03s 9.32s
TFS - node (v16.17.1, x64)
Memory used 304,201k (± 0.03%) 304,260k (± 0.01%) +59k (+ 0.02%) 304,119k 304,321k
Parse Time 1.19s (± 1.61%) 1.18s (± 1.19%) -0.00s (- 0.34%) 1.15s 1.21s
Bind Time 0.57s (± 0.86%) 0.57s (± 1.30%) -0.00s (- 0.17%) 0.56s 0.59s
Check Time 4.34s (± 0.23%) 4.34s (± 0.71%) +0.00s (+ 0.00%) 4.27s 4.42s
Emit Time 2.52s (± 1.48%) 2.50s (± 1.48%) -0.01s (- 0.56%) 2.45s 2.63s
Total Time 8.62s (± 0.49%) 8.60s (± 0.71%) -0.02s (- 0.22%) 8.49s 8.74s
material-ui - node (v16.17.1, x64)
Memory used 451,094k (± 0.01%) 451,156k (± 0.02%) +62k (+ 0.01%) 451,017k 451,297k
Parse Time 1.67s (± 0.74%) 1.68s (± 0.65%) +0.01s (+ 0.48%) 1.66s 1.71s
Bind Time 0.50s (± 1.29%) 0.50s (± 0.94%) -0.00s (- 0.40%) 0.49s 0.51s
Check Time 11.71s (± 0.73%) 11.75s (± 0.91%) +0.04s (+ 0.38%) 11.60s 12.06s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 13.88s (± 0.67%) 13.93s (± 0.86%) +0.05s (+ 0.37%) 13.76s 14.28s
xstate - node (v16.17.1, x64)
Memory used 551,092k (± 0.00%) 551,261k (± 0.01%) +169k (+ 0.03%) 551,180k 551,391k
Parse Time 2.31s (± 0.70%) 2.29s (± 0.45%) -0.02s (- 0.74%) 2.27s 2.32s
Bind Time 0.85s (± 2.30%) 0.82s (± 2.00%) 🟩-0.03s (- 3.30%) 0.78s 0.85s
Check Time 1.35s (± 0.45%) 1.34s (± 0.51%) -0.01s (- 0.67%) 1.32s 1.35s
Emit Time 0.06s (± 0.00%) 0.06s (± 0.00%) 0.00s ( 0.00%) 0.06s 0.06s
Total Time 4.57s (± 0.48%) 4.51s (± 0.39%) -0.06s (- 1.29%) 4.47s 4.54s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-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
  • Angular - node (v16.17.1, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Monaco - node (v16.17.1, x64)
  • TFS - node (v16.17.1, x64)
  • material-ui - node (v16.17.1, x64)
  • xstate - node (v16.17.1, x64)
Benchmark Name Iterations
Current 51894 10
Baseline main 10

Developer Information:

Download Benchmark

@typescript-bot

Copy link
Copy Markdown
Contributor

Anders Hejlsberg (@ahejlsberg) Here are the results of running the top-repos suite comparing main and refs/pull/51894/merge:

Something interesting changed - please have a look.

Details

lensapp/lens

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

tsconfig.json

  • error TS2322: Type 'PartialDeep<Object> & { kind: string; apiVersion: string; metadata: { name: string | undefined; namespace: string | undefined; }; }' is not assignable to type 'PartialObjectDeep<KubeJsonApiData<KubeJsonApiObjectMetadata, unknown, unknown>> | undefined'.
  • error TS2322: Type 'PartialDeep<Object> & { metadata: { name: string; namespace: string | undefined; }; }' is not assignable to type 'PartialObjectDeep<KubeJsonApiData<KubeJsonApiObjectMetadata, unknown, unknown>> | undefined'.

webpack/tsconfig.json

  • error TS2322: Type 'PartialDeep<Object> & { kind: string; apiVersion: string; metadata: { name: string | undefined; namespace: string | undefined; }; }' is not assignable to type 'PartialObjectDeep<KubeJsonApiData<KubeJsonApiObjectMetadata, unknown, unknown>> | undefined'.
  • error TS2322: Type 'PartialDeep<Object> & { metadata: { name: string; namespace: string | undefined; }; }' is not assignable to type 'PartialObjectDeep<KubeJsonApiData<KubeJsonApiObjectMetadata, unknown, unknown>> | undefined'.

@ahejlsberg

Copy link
Copy Markdown
Member Author

@typescript-bot

TypeScript Bot (typescript-bot) commented Dec 15, 2022 •

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the diff-based top-repos suite on this PR at e6acb8f. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Dec 15, 2022 •

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the parallelized Definitely Typed test suite on this PR at e6acb8f. You can monitor the build here.

@typescript-bot

Copy link
Copy Markdown
Contributor

Anders Hejlsberg (@ahejlsberg) Here are the results of running the top-repos suite comparing main and refs/pull/51894/merge:

Everything looks good!

@microsoft Microsoft (microsoft) locked as resolved and limited conversation to collaborators Oct 22, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: Team For Milestone Bug PRs that fix a bug with a specific milestone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unexpected excess property error with intersection of index signatures

3 participants