Skip to content

fix(49594): Typescript 4.7.3 bracketed class property compilation error strictPropertyInitialization:true#49619

Merged
RyanCavanaugh merged 5 commits into
microsoft:mainfrom
a-tarasyuk:fix/49594
Sep 26, 2022
Merged

fix(49594): Typescript 4.7.3 bracketed class property compilation error strictPropertyInitialization:true#49619
RyanCavanaugh merged 5 commits into
microsoft:mainfrom
a-tarasyuk:fix/49594

Conversation

@a-tarasyuk

Copy link
Copy Markdown
Contributor

Fixes #49594

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Jun 21, 2022
@RyanCavanaugh

Copy link
Copy Markdown
Member

@typescript-bot pack this

I'm interested what the other effects of this are - presumably this changes CFA in other places?

@typescript-bot

typescript-bot commented Jun 21, 2022

Copy link
Copy Markdown
Contributor

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

@typescript-bot

typescript-bot commented Jun 21, 2022

Copy link
Copy Markdown
Contributor

Hey @RyanCavanaugh, 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/128541/artifacts?artifactName=tgz&fileId=578F8D6D5B272D7F0588EC749B9CA74DEC421898F062F4934D881823A1362C0202&fileName=/typescript-4.8.0-insiders.20220621.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.8.0-pr-49619-2".;

@RyanCavanaugh

Copy link
Copy Markdown
Member

FWIW this brings along some other goodness

enum E {
    E1 = "A", E2 = "B"
}

declare const m: { [K in E]: string | null };
if (m[E.E1] !== null) {
    m[E.E1].toString(); // no longer an error
}

@RyanCavanaugh

Copy link
Copy Markdown
Member

@typescript-bot perf test this

@typescript-bot

typescript-bot commented Jun 21, 2022

Copy link
Copy Markdown
Contributor

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

@a-tarasyuk

Copy link
Copy Markdown
Contributor Author

@RyanCavanaugh I've added test for this case

@RyanCavanaugh

Copy link
Copy Markdown
Member

@typescript-bot perf test this

@typescript-bot

typescript-bot commented Jun 22, 2022

Copy link
Copy Markdown
Contributor

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

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

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

Here they are:

Comparison Report - main..49619

Metric main 49619 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 359,540k (± 0.02%) 359,562k (± 0.02%) +22k (+ 0.01%) 359,366k 359,696k
Parse Time 2.11s (± 0.61%) 2.12s (± 0.56%) +0.01s (+ 0.24%) 2.09s 2.15s
Bind Time 0.90s (± 0.72%) 0.90s (± 0.69%) -0.00s (- 0.33%) 0.89s 0.91s
Check Time 5.95s (± 0.44%) 5.98s (± 0.45%) +0.03s (+ 0.44%) 5.93s 6.04s
Emit Time 6.13s (± 0.59%) 6.12s (± 0.65%) -0.01s (- 0.18%) 6.04s 6.20s
Total Time 15.10s (± 0.33%) 15.11s (± 0.42%) +0.01s (+ 0.09%) 15.00s 15.24s
Compiler-Unions - node (v10.16.3, x64)
Memory used 206,478k (± 0.04%) 206,374k (± 0.05%) -104k (- 0.05%) 206,142k 206,528k
Parse Time 0.84s (± 0.70%) 0.84s (± 0.66%) -0.00s (- 0.24%) 0.83s 0.85s
Bind Time 0.53s (± 1.51%) 0.53s (± 0.94%) -0.00s (- 0.38%) 0.52s 0.54s
Check Time 8.12s (± 0.59%) 8.01s (± 0.36%) -0.11s (- 1.32%) 7.94s 8.06s
Emit Time 2.50s (± 0.64%) 2.49s (± 0.69%) -0.01s (- 0.48%) 2.45s 2.52s
Total Time 11.99s (± 0.51%) 11.87s (± 0.23%) -0.12s (- 1.01%) 11.81s 11.93s
Monaco - node (v10.16.3, x64)
Memory used 343,932k (± 0.01%) 343,895k (± 0.02%) -37k (- 0.01%) 343,815k 344,089k
Parse Time 1.60s (± 0.39%) 1.60s (± 0.57%) 0.00s ( 0.00%) 1.58s 1.62s
Bind Time 0.77s (± 0.64%) 0.77s (± 1.44%) +0.00s (+ 0.00%) 0.75s 0.81s
Check Time 5.96s (± 0.39%) 5.97s (± 0.41%) +0.01s (+ 0.13%) 5.90s 6.02s
Emit Time 3.26s (± 0.85%) 3.27s (± 0.80%) +0.01s (+ 0.46%) 3.21s 3.33s
Total Time 11.59s (± 0.42%) 11.61s (± 0.42%) +0.02s (+ 0.20%) 11.46s 11.70s
TFS - node (v10.16.3, x64)
Memory used 305,066k (± 0.02%) 305,088k (± 0.02%) +22k (+ 0.01%) 304,904k 305,175k
Parse Time 1.29s (± 0.58%) 1.29s (± 0.53%) -0.00s (- 0.08%) 1.27s 1.30s
Bind Time 0.73s (± 0.71%) 0.73s (± 0.50%) -0.00s (- 0.41%) 0.72s 0.73s
Check Time 5.41s (± 0.53%) 5.41s (± 0.42%) -0.00s (- 0.07%) 5.37s 5.46s
Emit Time 3.43s (± 1.39%) 3.42s (± 1.39%) -0.01s (- 0.29%) 3.31s 3.51s
Total Time 10.86s (± 0.68%) 10.85s (± 0.44%) -0.02s (- 0.16%) 10.70s 10.91s
material-ui - node (v10.16.3, x64)
Memory used 469,051k (± 0.01%) 469,055k (± 0.02%) +4k (+ 0.00%) 468,888k 469,239k
Parse Time 1.85s (± 0.53%) 1.85s (± 0.99%) +0.00s (+ 0.16%) 1.82s 1.90s
Bind Time 0.70s (± 1.26%) 0.69s (± 1.36%) -0.01s (- 1.43%) 0.67s 0.71s
Check Time 14.55s (± 0.51%) 14.48s (± 0.66%) -0.07s (- 0.46%) 14.27s 14.74s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 17.09s (± 0.49%) 17.02s (± 0.62%) -0.07s (- 0.42%) 16.78s 17.30s
xstate - node (v10.16.3, x64)
Memory used 584,361k (± 1.66%) 580,974k (± 1.25%) -3,387k (- 0.58%) 577,575k 610,223k
Parse Time 2.63s (± 0.21%) 2.62s (± 0.34%) -0.01s (- 0.30%) 2.60s 2.65s
Bind Time 1.04s (± 0.35%) 1.04s (± 1.00%) -0.00s (- 0.19%) 1.02s 1.07s
Check Time 1.54s (± 0.54%) 1.53s (± 0.61%) -0.01s (- 0.78%) 1.51s 1.55s
Emit Time 0.07s (± 0.00%) 0.07s (± 3.14%) +0.00s (+ 1.43%) 0.07s 0.08s
Total Time 5.28s (± 0.19%) 5.26s (± 0.35%) -0.02s (- 0.34%) 5.23s 5.31s
Angular - node (v12.1.0, x64)
Memory used 337,149k (± 0.02%) 337,182k (± 0.03%) +33k (+ 0.01%) 336,978k 337,379k
Parse Time 2.10s (± 0.54%) 2.11s (± 0.87%) +0.01s (+ 0.62%) 2.08s 2.17s
Bind Time 0.86s (± 0.52%) 0.86s (± 0.55%) -0.00s (- 0.12%) 0.85s 0.87s
Check Time 5.80s (± 0.36%) 5.76s (± 0.41%) -0.04s (- 0.71%) 5.71s 5.82s
Emit Time 6.35s (± 0.47%) 6.36s (± 0.53%) +0.01s (+ 0.13%) 6.32s 6.45s
Total Time 15.11s (± 0.36%) 15.08s (± 0.42%) -0.02s (- 0.16%) 14.98s 15.25s
Compiler-Unions - node (v12.1.0, x64)
Memory used 193,935k (± 0.11%) 193,882k (± 0.11%) -53k (- 0.03%) 193,357k 194,215k
Parse Time 0.85s (± 1.09%) 0.84s (± 1.03%) -0.01s (- 0.71%) 0.83s 0.87s
Bind Time 0.55s (± 1.22%) 0.55s (± 1.65%) +0.00s (+ 0.73%) 0.53s 0.57s
Check Time 7.58s (± 0.49%) 7.57s (± 0.63%) -0.02s (- 0.24%) 7.47s 7.69s
Emit Time 2.53s (± 0.90%) 2.54s (± 0.88%) +0.01s (+ 0.40%) 2.49s 2.60s
Total Time 11.50s (± 0.44%) 11.49s (± 0.42%) -0.01s (- 0.08%) 11.40s 11.61s
Monaco - node (v12.1.0, x64)
Memory used 326,846k (± 0.02%) 326,904k (± 0.01%) +58k (+ 0.02%) 326,835k 327,003k
Parse Time 1.58s (± 1.03%) 1.58s (± 0.71%) -0.01s (- 0.51%) 1.55s 1.60s
Bind Time 0.76s (± 0.63%) 0.76s (± 0.92%) +0.00s (+ 0.26%) 0.75s 0.78s
Check Time 5.80s (± 0.58%) 5.76s (± 0.27%) -0.03s (- 0.53%) 5.72s 5.80s
Emit Time 3.31s (± 0.93%) 3.29s (± 0.64%) -0.02s (- 0.51%) 3.26s 3.35s
Total Time 11.45s (± 0.42%) 11.39s (± 0.34%) -0.06s (- 0.50%) 11.32s 11.50s
TFS - node (v12.1.0, x64)
Memory used 289,723k (± 0.02%) 289,755k (± 0.02%) +33k (+ 0.01%) 289,654k 289,905k
Parse Time 1.32s (± 0.83%) 1.29s (± 0.78%) -0.03s (- 2.19%) 1.28s 1.32s
Bind Time 0.72s (± 0.80%) 0.72s (± 1.39%) +0.00s (+ 0.14%) 0.70s 0.75s
Check Time 5.34s (± 0.50%) 5.33s (± 0.54%) -0.02s (- 0.28%) 5.26s 5.39s
Emit Time 3.54s (± 0.86%) 3.52s (± 0.86%) -0.01s (- 0.37%) 3.47s 3.59s
Total Time 10.93s (± 0.45%) 10.87s (± 0.34%) -0.06s (- 0.53%) 10.79s 10.97s
material-ui - node (v12.1.0, x64)
Memory used 448,154k (± 0.01%) 447,868k (± 0.08%) -286k (- 0.06%) 446,735k 448,203k
Parse Time 1.84s (± 0.63%) 1.85s (± 0.66%) +0.01s (+ 0.33%) 1.84s 1.89s
Bind Time 0.68s (± 0.65%) 0.68s (± 0.59%) -0.00s (- 0.15%) 0.67s 0.69s
Check Time 13.02s (± 0.52%) 13.11s (± 0.72%) +0.09s (+ 0.71%) 12.83s 13.26s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.55s (± 0.48%) 15.64s (± 0.60%) +0.10s (+ 0.64%) 15.36s 15.78s
xstate - node (v12.1.0, x64)
Memory used 546,454k (± 1.31%) 556,233k (± 2.11%) +9,778k (+ 1.79%) 543,168k 575,702k
Parse Time 2.58s (± 0.55%) 2.57s (± 0.43%) -0.01s (- 0.54%) 2.55s 2.60s
Bind Time 1.06s (± 1.08%) 1.04s (± 0.96%) -0.01s (- 1.32%) 1.03s 1.07s
Check Time 1.49s (± 0.73%) 1.48s (± 0.52%) -0.01s (- 0.87%) 1.46s 1.50s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.20s (± 0.32%) 5.16s (± 0.44%) -0.04s (- 0.77%) 5.11s 5.21s
Angular - node (v14.15.1, x64)
Memory used 335,317k (± 0.01%) 335,339k (± 0.01%) +21k (+ 0.01%) 335,286k 335,388k
Parse Time 2.09s (± 0.68%) 2.08s (± 0.58%) -0.01s (- 0.57%) 2.06s 2.11s
Bind Time 0.91s (± 0.52%) 0.91s (± 0.54%) -0.00s (- 0.11%) 0.90s 0.92s
Check Time 5.75s (± 0.40%) 5.77s (± 0.40%) +0.01s (+ 0.24%) 5.70s 5.81s
Emit Time 6.42s (± 0.72%) 6.43s (± 0.34%) +0.01s (+ 0.12%) 6.39s 6.49s
Total Time 15.17s (± 0.36%) 15.17s (± 0.27%) +0.01s (+ 0.05%) 15.09s 15.28s
Compiler-Unions - node (v14.15.1, x64)
Memory used 192,554k (± 0.13%) 192,664k (± 0.01%) +111k (+ 0.06%) 192,606k 192,707k
Parse Time 0.86s (± 0.69%) 0.86s (± 1.04%) 0.00s ( 0.00%) 0.84s 0.88s
Bind Time 0.58s (± 1.29%) 0.57s (± 1.32%) -0.00s (- 0.52%) 0.56s 0.60s
Check Time 7.73s (± 0.61%) 7.68s (± 0.48%) -0.05s (- 0.60%) 7.60s 7.75s
Emit Time 2.52s (± 0.55%) 2.50s (± 0.93%) -0.02s (- 0.63%) 2.47s 2.58s
Total Time 11.68s (± 0.47%) 11.61s (± 0.46%) -0.07s (- 0.59%) 11.50s 11.75s
Monaco - node (v14.15.1, x64)
Memory used 325,607k (± 0.00%) 325,606k (± 0.00%) -1k (- 0.00%) 325,571k 325,631k
Parse Time 1.59s (± 0.78%) 1.57s (± 0.46%) -0.02s (- 1.01%) 1.56s 1.59s
Bind Time 0.80s (± 0.60%) 0.80s (± 0.75%) -0.00s (- 0.13%) 0.79s 0.81s
Check Time 5.72s (± 0.69%) 5.67s (± 0.35%) -0.04s (- 0.77%) 5.63s 5.72s
Emit Time 3.37s (± 0.73%) 3.37s (± 0.97%) +0.00s (+ 0.06%) 3.31s 3.47s
Total Time 11.46s (± 0.52%) 11.41s (± 0.44%) -0.06s (- 0.49%) 11.31s 11.54s
TFS - node (v14.15.1, x64)
Memory used 288,754k (± 0.01%) 288,750k (± 0.01%) -5k (- 0.00%) 288,699k 288,792k
Parse Time 1.34s (± 1.52%) 1.33s (± 1.09%) -0.01s (- 0.67%) 1.30s 1.37s
Bind Time 0.75s (± 0.94%) 0.74s (± 0.66%) -0.01s (- 0.67%) 0.74s 0.76s
Check Time 5.33s (± 0.38%) 5.32s (± 0.54%) -0.01s (- 0.11%) 5.26s 5.41s
Emit Time 3.59s (± 2.15%) 3.59s (± 2.25%) -0.00s (- 0.03%) 3.45s 3.73s
Total Time 11.02s (± 0.93%) 10.99s (± 0.88%) -0.03s (- 0.23%) 10.83s 11.18s
material-ui - node (v14.15.1, x64)
Memory used 446,332k (± 0.00%) 446,228k (± 0.05%) -104k (- 0.02%) 445,243k 446,372k
Parse Time 1.89s (± 0.50%) 1.89s (± 0.70%) -0.00s (- 0.05%) 1.86s 1.92s
Bind Time 0.72s (± 1.23%) 0.72s (± 1.11%) -0.00s (- 0.28%) 0.70s 0.73s
Check Time 13.17s (± 0.59%) 13.08s (± 0.64%) -0.09s (- 0.69%) 12.96s 13.32s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.79s (± 0.49%) 15.70s (± 0.54%) -0.09s (- 0.55%) 15.54s 15.93s
xstate - node (v14.15.1, x64)
Memory used 541,028k (± 0.00%) 541,035k (± 0.01%) +7k (+ 0.00%) 540,957k 541,092k
Parse Time 2.63s (± 0.49%) 2.63s (± 0.38%) -0.01s (- 0.27%) 2.60s 2.65s
Bind Time 1.17s (± 0.81%) 1.17s (± 1.10%) 0.00s ( 0.00%) 1.14s 1.19s
Check Time 1.53s (± 0.52%) 1.53s (± 0.59%) -0.00s (- 0.20%) 1.51s 1.55s
Emit Time 0.07s (± 4.92%) 0.07s (± 4.66%) -0.00s (- 1.35%) 0.07s 0.08s
Total Time 5.41s (± 0.30%) 5.40s (± 0.28%) -0.01s (- 0.24%) 5.36s 5.43s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 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)
  • xstate - node (v10.16.3, x64)
  • xstate - node (v12.1.0, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 49619 10
Baseline main 10

Developer Information:

Download Benchmark

@RyanCavanaugh
RyanCavanaugh merged commit c81bf4d into microsoft:main Sep 26, 2022
@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

For Backlog Bug PRs that fix a backlog bug

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Typescript 4.7.3 bracketed class property compilation error strictPropertyInitialization:true

5 participants