Skip to content

support contextual return type of iife #45007

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 1 commit into from
Aug 19, 2021

Conversation

Zzzen
Copy link
Contributor

@Zzzen Zzzen commented Jul 13, 2021

Fixes #44992

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Jul 13, 2021
@DanielRosenwasser
Copy link
Member

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 14, 2021

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 14, 2021

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 14, 2021

Heya @DanielRosenwasser, I've started to run the parallelized community code test suite on this PR at 8f6ad87. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 14, 2021

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 14, 2021

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jul 14, 2021

Hey @DanielRosenwasser, 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/106775/artifacts?artifactName=tgz&fileId=63B93A602411BFF1CDB57AA1BA24CA322AB0A53CC5F3365126AFBC0C64BD9CEC02&fileName=/typescript-4.4.0-insiders.20210714.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/pr-build@4.4.0-pr-45007-6".;

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - main..45007

Metric main 45007 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 343,509k (± 0.03%) 343,501k (± 0.02%) -8k (- 0.00%) 343,341k 343,583k
Parse Time 1.79s (± 0.45%) 1.81s (± 0.52%) +0.01s (+ 0.84%) 1.79s 1.83s
Bind Time 0.85s (± 1.11%) 0.85s (± 1.16%) +0.00s (+ 0.12%) 0.83s 0.88s
Check Time 5.34s (± 0.49%) 5.35s (± 0.64%) +0.01s (+ 0.19%) 5.26s 5.42s
Emit Time 5.85s (± 0.53%) 5.85s (± 0.70%) +0.00s (+ 0.03%) 5.74s 5.97s
Total Time 13.83s (± 0.36%) 13.86s (± 0.50%) +0.03s (+ 0.22%) 13.75s 14.05s
Compiler-Unions - node (v10.16.3, x64)
Memory used 201,233k (± 0.02%) 201,236k (± 0.03%) +3k (+ 0.00%) 201,113k 201,382k
Parse Time 0.78s (± 0.90%) 0.78s (± 0.93%) +0.00s (+ 0.13%) 0.77s 0.80s
Bind Time 0.52s (± 1.30%) 0.53s (± 1.76%) +0.00s (+ 0.76%) 0.51s 0.55s
Check Time 7.81s (± 0.61%) 7.82s (± 0.50%) +0.01s (+ 0.17%) 7.77s 7.90s
Emit Time 2.45s (± 0.90%) 2.44s (± 0.82%) -0.02s (- 0.65%) 2.40s 2.49s
Total Time 11.57s (± 0.56%) 11.57s (± 0.36%) +0.00s (+ 0.03%) 11.51s 11.65s
Monaco - node (v10.16.3, x64)
Memory used 340,460k (± 0.02%) 340,494k (± 0.03%) +34k (+ 0.01%) 340,281k 340,620k
Parse Time 1.45s (± 0.60%) 1.45s (± 0.61%) -0.00s (- 0.14%) 1.43s 1.47s
Bind Time 0.75s (± 0.91%) 0.75s (± 1.26%) +0.01s (+ 1.07%) 0.74s 0.78s
Check Time 5.38s (± 0.57%) 5.36s (± 0.57%) -0.01s (- 0.26%) 5.29s 5.43s
Emit Time 3.15s (± 1.03%) 3.16s (± 1.09%) +0.01s (+ 0.19%) 3.11s 3.24s
Total Time 10.73s (± 0.49%) 10.73s (± 0.28%) -0.00s (- 0.03%) 10.66s 10.80s
TFS - node (v10.16.3, x64)
Memory used 303,771k (± 0.02%) 303,892k (± 0.03%) +121k (+ 0.04%) 303,662k 304,174k
Parse Time 1.18s (± 0.40%) 1.18s (± 0.57%) +0.00s (+ 0.34%) 1.17s 1.20s
Bind Time 0.71s (± 0.69%) 0.71s (± 0.94%) -0.00s (- 0.14%) 0.70s 0.73s
Check Time 4.89s (± 0.33%) 4.89s (± 0.50%) +0.00s (+ 0.02%) 4.81s 4.94s
Emit Time 3.33s (± 1.00%) 3.33s (± 1.19%) +0.01s (+ 0.18%) 3.21s 3.44s
Total Time 10.11s (± 0.41%) 10.12s (± 0.60%) +0.01s (+ 0.08%) 9.99s 10.29s
material-ui - node (v10.16.3, x64)
Memory used 469,650k (± 0.01%) 469,610k (± 0.01%) -40k (- 0.01%) 469,520k 469,723k
Parse Time 1.73s (± 0.74%) 1.73s (± 0.51%) +0.00s (+ 0.12%) 1.71s 1.75s
Bind Time 0.67s (± 0.89%) 0.67s (± 0.66%) +0.01s (+ 0.90%) 0.66s 0.68s
Check Time 14.17s (± 0.49%) 14.27s (± 0.63%) +0.10s (+ 0.72%) 14.03s 14.40s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.57s (± 0.46%) 16.68s (± 0.55%) +0.11s (+ 0.66%) 16.43s 16.82s
Angular - node (v12.1.0, x64)
Memory used 321,697k (± 0.03%) 321,648k (± 0.02%) -49k (- 0.02%) 321,483k 321,797k
Parse Time 1.78s (± 0.62%) 1.79s (± 0.47%) +0.00s (+ 0.06%) 1.76s 1.80s
Bind Time 0.83s (± 1.02%) 0.83s (± 0.92%) -0.00s (- 0.36%) 0.81s 0.84s
Check Time 5.18s (± 0.49%) 5.17s (± 0.57%) -0.01s (- 0.21%) 5.10s 5.23s
Emit Time 6.03s (± 0.43%) 6.02s (± 0.33%) -0.01s (- 0.17%) 6.00s 6.08s
Total Time 13.83s (± 0.39%) 13.81s (± 0.27%) -0.02s (- 0.15%) 13.72s 13.88s
Compiler-Unions - node (v12.1.0, x64)
Memory used 188,688k (± 0.02%) 188,741k (± 0.03%) +53k (+ 0.03%) 188,620k 188,887k
Parse Time 0.78s (± 0.63%) 0.78s (± 0.88%) -0.00s (- 0.13%) 0.76s 0.79s
Bind Time 0.53s (± 0.92%) 0.53s (± 1.04%) -0.00s (- 0.37%) 0.52s 0.55s
Check Time 7.34s (± 0.79%) 7.32s (± 0.67%) -0.02s (- 0.30%) 7.22s 7.43s
Emit Time 2.42s (± 0.97%) 2.45s (± 0.77%) +0.02s (+ 0.95%) 2.42s 2.49s
Total Time 11.07s (± 0.66%) 11.07s (± 0.51%) -0.00s (- 0.02%) 10.94s 11.19s
Monaco - node (v12.1.0, x64)
Memory used 323,640k (± 0.01%) 323,613k (± 0.02%) -27k (- 0.01%) 323,493k 323,728k
Parse Time 1.42s (± 0.78%) 1.42s (± 0.89%) -0.00s (- 0.14%) 1.40s 1.46s
Bind Time 0.73s (± 0.65%) 0.72s (± 0.97%) -0.01s (- 1.10%) 0.71s 0.73s
Check Time 5.24s (± 0.62%) 5.22s (± 0.51%) -0.01s (- 0.25%) 5.18s 5.30s
Emit Time 3.16s (± 0.61%) 3.17s (± 0.62%) +0.01s (+ 0.19%) 3.13s 3.21s
Total Time 10.55s (± 0.48%) 10.54s (± 0.45%) -0.01s (- 0.12%) 10.43s 10.64s
TFS - node (v12.1.0, x64)
Memory used 288,573k (± 0.02%) 288,546k (± 0.02%) -27k (- 0.01%) 288,444k 288,654k
Parse Time 1.19s (± 0.80%) 1.19s (± 0.73%) -0.00s (- 0.17%) 1.17s 1.21s
Bind Time 0.69s (± 1.09%) 0.69s (± 0.64%) -0.00s (- 0.43%) 0.68s 0.70s
Check Time 4.81s (± 0.39%) 4.80s (± 0.60%) -0.01s (- 0.23%) 4.75s 4.87s
Emit Time 3.33s (± 0.55%) 3.36s (± 0.58%) +0.03s (+ 0.90%) 3.32s 3.41s
Total Time 10.03s (± 0.29%) 10.04s (± 0.40%) +0.01s (+ 0.14%) 9.98s 10.17s
material-ui - node (v12.1.0, x64)
Memory used 448,306k (± 0.07%) 448,336k (± 0.01%) +30k (+ 0.01%) 448,231k 448,474k
Parse Time 1.72s (± 0.43%) 1.72s (± 0.87%) +0.00s (+ 0.12%) 1.69s 1.75s
Bind Time 0.65s (± 0.69%) 0.64s (± 1.28%) -0.00s (- 0.62%) 0.63s 0.66s
Check Time 12.77s (± 0.95%) 12.74s (± 0.63%) -0.03s (- 0.22%) 12.56s 12.87s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.13s (± 0.79%) 15.10s (± 0.60%) -0.03s (- 0.18%) 14.90s 15.26s
Angular - node (v14.15.1, x64)
Memory used 320,219k (± 0.01%) 320,216k (± 0.01%) -3k (- 0.00%) 320,183k 320,257k
Parse Time 1.81s (± 0.99%) 1.81s (± 0.58%) -0.00s (- 0.17%) 1.79s 1.83s
Bind Time 0.88s (± 0.57%) 0.87s (± 0.64%) -0.00s (- 0.34%) 0.86s 0.88s
Check Time 5.20s (± 0.57%) 5.20s (± 0.61%) -0.01s (- 0.10%) 5.14s 5.27s
Emit Time 6.16s (± 0.64%) 6.17s (± 0.92%) +0.01s (+ 0.15%) 6.04s 6.28s
Total Time 14.04s (± 0.48%) 14.04s (± 0.65%) -0.01s (- 0.04%) 13.85s 14.23s
Compiler-Unions - node (v14.15.1, x64)
Memory used 189,578k (± 0.58%) 188,597k (± 0.62%) -981k (- 0.52%) 187,231k 190,581k
Parse Time 0.80s (± 0.61%) 0.80s (± 0.61%) 0.00s ( 0.00%) 0.80s 0.82s
Bind Time 0.56s (± 0.65%) 0.56s (± 0.59%) -0.00s (- 0.71%) 0.55s 0.57s
Check Time 7.46s (± 0.57%) 7.49s (± 0.73%) +0.03s (+ 0.35%) 7.39s 7.63s
Emit Time 2.42s (± 0.55%) 2.42s (± 0.65%) +0.01s (+ 0.29%) 2.39s 2.46s
Total Time 11.24s (± 0.47%) 11.28s (± 0.54%) +0.03s (+ 0.28%) 11.19s 11.45s
Monaco - node (v14.15.1, x64)
Memory used 322,367k (± 0.01%) 322,368k (± 0.01%) +1k (+ 0.00%) 322,330k 322,420k
Parse Time 1.49s (± 0.89%) 1.49s (± 0.60%) -0.00s (- 0.13%) 1.47s 1.50s
Bind Time 0.75s (± 0.69%) 0.75s (± 0.53%) 0.00s ( 0.00%) 0.74s 0.76s
Check Time 5.20s (± 0.57%) 5.20s (± 0.47%) -0.00s (- 0.02%) 5.16s 5.26s
Emit Time 3.20s (± 0.59%) 3.25s (± 0.93%) +0.05s (+ 1.41%) 3.18s 3.30s
Total Time 10.64s (± 0.32%) 10.68s (± 0.42%) +0.04s (+ 0.40%) 10.57s 10.77s
TFS - node (v14.15.1, x64)
Memory used 287,540k (± 0.01%) 287,543k (± 0.01%) +2k (+ 0.00%) 287,516k 287,592k
Parse Time 1.26s (± 1.56%) 1.26s (± 1.08%) +0.00s (+ 0.16%) 1.23s 1.30s
Bind Time 0.72s (± 0.80%) 0.72s (± 0.86%) -0.00s (- 0.14%) 0.71s 0.74s
Check Time 4.83s (± 0.51%) 4.84s (± 0.63%) +0.00s (+ 0.08%) 4.78s 4.91s
Emit Time 3.41s (± 0.76%) 3.43s (± 0.31%) +0.02s (+ 0.53%) 3.41s 3.45s
Total Time 10.22s (± 0.48%) 10.25s (± 0.36%) +0.02s (+ 0.23%) 10.19s 10.34s
material-ui - node (v14.15.1, x64)
Memory used 446,768k (± 0.00%) 446,761k (± 0.01%) -7k (- 0.00%) 446,715k 446,849k
Parse Time 1.76s (± 0.64%) 1.76s (± 0.53%) +0.00s (+ 0.17%) 1.74s 1.78s
Bind Time 0.69s (± 0.65%) 0.69s (± 0.86%) +0.01s (+ 1.02%) 0.68s 0.71s
Check Time 12.95s (± 0.70%) 12.85s (± 0.46%) -0.10s (- 0.77%) 12.77s 13.04s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.40s (± 0.56%) 15.31s (± 0.41%) -0.09s (- 0.57%) 15.22s 15.50s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-206-generic
Architecturex64
Available Memory16 GB
Available Memory1 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
Benchmark Name Iterations
Current 45007 10
Baseline main 10

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

The user suite test run you requested has finished and failed. I've opened a PR with the baseline diff from master.

Copy link
Member

@DanielRosenwasser DanielRosenwasser left a comment

Choose a reason for hiding this comment

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

I think this is fine, but I'd rather hold off on it for TypeScript 4.5.

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.

This does look fine - @rbuckton might wanna review the impact on generator IIFEs, since I think we may have talked about something similar back when we updated the generator types.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Backlog Bug PRs that fix a backlog bug
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Wrong tuple inference of async IIFE return value
6 participants