Skip to content

Fixed silentNeverType leak by propagating it through getIndexType#62825

Closed
Andarist wants to merge 2 commits intomicrosoft:mainfrom
Andarist:fix/silent-never-leak-index-type
Closed

Fixed silentNeverType leak by propagating it through getIndexType#62825
Andarist wants to merge 2 commits intomicrosoft:mainfrom
Andarist:fix/silent-never-leak-index-type

Conversation

@Andarist
Copy link
Copy Markdown
Contributor

@Andarist Andarist commented Dec 2, 2025

fixes #62824

@github-project-automation github-project-automation bot moved this to Not started in PR Backlog Dec 2, 2025
@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Dec 2, 2025
@Andarist Andarist force-pushed the fix/silent-never-leak-index-type branch from 7565a32 to 59bda8f Compare December 2, 2025 22:11
@typescript-bot typescript-bot added For Backlog Bug PRs that fix a backlog bug and removed For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Dec 3, 2025
@github-project-automation github-project-automation bot moved this from Not started to Needs merge in PR Backlog Dec 5, 2025
@jakebailey
Copy link
Copy Markdown
Member

@typescript-bot test it

@typescript-bot
Copy link
Copy Markdown
Collaborator

typescript-bot commented Dec 5, 2025

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
test top400 ✅ Started ✅ Results
user test this ✅ Started ✅ Results
run dt ✅ Started ✅ Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Copy Markdown
Collaborator

Hey @jakebailey, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Copy Markdown
Collaborator

@jakebailey Here are the results of running the user tests with tsc comparing main and refs/pull/62825/merge:

There were infrastructure failures potentially unrelated to your change:

  • 1 instance of "Git clone failed"

Otherwise...

Everything looks good!

@typescript-bot
Copy link
Copy Markdown
Collaborator

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

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - node (v18.15.0, x64)
Errors 1 1 ~ ~ ~ p=1.000 n=6
Symbols 62,370 62,370 ~ ~ ~ p=1.000 n=6
Types 50,387 50,387 ~ ~ ~ p=1.000 n=6
Memory used 195,644k (± 0.71%) 196,209k (± 0.13%) ~ 195,779k 196,520k p=0.423 n=6
Parse Time 1.59s (± 1.73%) 1.60s (± 1.23%) ~ 1.57s 1.62s p=0.368 n=6
Bind Time 0.91s (± 1.89%) 0.90s (± 1.66%) ~ 0.89s 0.93s p=0.563 n=6
Check Time 11.95s (± 0.68%) 11.98s (± 0.62%) ~ 11.90s 12.10s p=0.336 n=6
Emit Time 3.36s (± 3.63%) 3.47s (± 5.18%) ~ 3.27s 3.71s p=0.199 n=6
Total Time 17.81s (± 0.73%) 17.96s (± 0.69%) ~ 17.82s 18.14s p=0.128 n=6
angular-1 - node (v18.15.0, x64)
Errors 2 2 ~ ~ ~ p=1.000 n=6
Symbols 956,050 956,050 ~ ~ ~ p=1.000 n=6
Types 415,908 415,908 ~ ~ ~ p=1.000 n=6
Memory used 1,255,236k (± 0.00%) 1,255,185k (± 0.01%) ~ 1,255,074k 1,255,251k p=0.128 n=6
Parse Time 7.97s (± 0.88%) 8.03s (± 0.53%) ~ 7.98s 8.09s p=0.199 n=6
Bind Time 2.34s (± 0.63%) 2.34s (± 0.54%) ~ 2.32s 2.35s p=0.869 n=6
Check Time 38.50s (± 0.27%) 38.60s (± 0.41%) ~ 38.29s 38.75s p=0.092 n=6
Emit Time 17.79s (± 0.63%) 17.78s (± 0.77%) ~ 17.68s 17.98s p=0.687 n=6
Total Time 66.60s (± 0.26%) 66.74s (± 0.31%) ~ 66.38s 66.96s p=0.229 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,722,130 2,722,130 ~ ~ ~ p=1.000 n=6
Types 937,535 937,535 ~ ~ ~ p=1.000 n=6
Memory used 3,051,229k (± 0.01%) 3,051,154k (± 0.00%) ~ 3,051,020k 3,051,367k p=0.575 n=6
Parse Time 10.45s (± 0.39%) 10.47s (± 0.54%) ~ 10.40s 10.53s p=0.871 n=6
Bind Time 2.80s (± 0.98%) 2.82s (± 0.47%) ~ 2.80s 2.84s p=0.418 n=6
Check Time 114.33s (± 1.38%) 112.23s (± 0.47%) -2.10s (- 1.83%) 111.52s 113.07s p=0.020 n=6
Emit Time 0.38s (± 2.74%) 0.38s (± 1.08%) ~ 0.37s 0.38s p=0.924 n=6
Total Time 127.96s (± 1.25%) 125.90s (± 0.42%) -2.06s (- 1.61%) 125.24s 126.74s p=0.016 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,252,049 1,252,049 ~ ~ ~ p=1.000 n=6
Types 259,840 259,840 ~ ~ ~ p=1.000 n=6
Memory used 3,003,894k (± 9.90%) 3,125,587k (± 0.03%) ~ 3,124,430k 3,126,583k p=0.575 n=6
Parse Time 6.61s (± 1.43%) 6.71s (± 0.82%) +0.10s (+ 1.54%) 6.62s 6.77s p=0.045 n=6
Bind Time 2.23s (± 1.68%) 2.18s (± 1.32%) -0.05s (- 2.09%) 2.15s 2.23s p=0.024 n=6
Check Time 43.03s (± 0.41%) 43.09s (± 0.27%) ~ 43.01s 43.32s p=0.575 n=6
Emit Time 3.52s (± 2.45%) 3.42s (± 2.80%) ~ 3.28s 3.54s p=0.128 n=6
Total Time 55.39s (± 0.29%) 55.42s (± 0.17%) ~ 55.31s 55.53s p=0.810 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,252,049 1,252,049 ~ ~ ~ p=1.000 n=6
Types 259,840 259,840 ~ ~ ~ p=1.000 n=6
Memory used 3,188,530k (± 0.02%) 3,188,965k (± 0.02%) ~ 3,188,285k 3,189,603k p=0.298 n=6
Parse Time 6.81s (± 0.81%) 6.83s (± 0.77%) ~ 6.76s 6.88s p=0.575 n=6
Bind Time 2.25s (± 0.93%) 2.25s (± 1.75%) ~ 2.17s 2.28s p=0.872 n=6
Check Time 43.19s (± 0.36%) 43.18s (± 0.28%) ~ 43.07s 43.40s p=1.000 n=6
Emit Time 3.48s (± 1.21%) 3.52s (± 1.48%) ~ 3.45s 3.58s p=0.298 n=6
Total Time 55.73s (± 0.32%) 55.77s (± 0.16%) ~ 55.65s 55.89s p=0.575 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 264,682 264,682 ~ ~ ~ p=1.000 n=6
Types 104,051 104,051 ~ ~ ~ p=1.000 n=6
Memory used 443,376k (± 0.00%) 443,369k (± 0.01%) ~ 443,308k 443,447k p=0.689 n=6
Parse Time 3.51s (± 0.83%) 3.53s (± 0.77%) ~ 3.49s 3.57s p=0.469 n=6
Bind Time 1.37s (± 1.34%) 1.37s (± 1.28%) ~ 1.34s 1.39s p=0.685 n=6
Check Time 19.19s (± 0.58%) 19.17s (± 0.24%) ~ 19.12s 19.22s p=1.000 n=6
Emit Time 1.55s (± 1.49%) 1.53s (± 1.22%) ~ 1.51s 1.56s p=0.226 n=6
Total Time 25.63s (± 0.40%) 25.60s (± 0.24%) ~ 25.51s 25.68s p=0.810 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 72 72 ~ ~ ~ p=1.000 n=6
Symbols 225,493 225,493 ~ ~ ~ p=1.000 n=6
Types 94,373 94,373 ~ ~ ~ p=1.000 n=6
Memory used 370,169k (± 0.02%) 370,203k (± 0.04%) ~ 370,102k 370,457k p=1.000 n=6
Parse Time 2.84s (± 0.79%) 2.84s (± 0.91%) ~ 2.81s 2.88s p=0.746 n=6
Bind Time 1.64s (± 1.12%) 1.65s (± 1.31%) ~ 1.62s 1.68s p=0.217 n=6
Check Time 16.58s (± 0.41%) 16.65s (± 0.33%) ~ 16.57s 16.70s p=0.127 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 21.06s (± 0.37%) 21.15s (± 0.32%) ~ 21.08s 21.26s p=0.128 n=6
vscode - node (v18.15.0, x64)
Errors 11 11 ~ ~ ~ p=1.000 n=6
Symbols 4,080,068 4,080,068 ~ ~ ~ p=1.000 n=6
Types 1,285,601 1,285,601 ~ ~ ~ p=1.000 n=6
Memory used 3,865,387k (± 0.00%) 3,865,419k (± 0.00%) ~ 3,865,289k 3,865,533k p=0.521 n=6
Parse Time 12.89s (± 0.27%) 12.87s (± 0.18%) ~ 12.85s 12.90s p=0.418 n=6
Bind Time 4.38s (± 0.44%) 4.38s (± 0.49%) ~ 4.35s 4.41s p=0.935 n=6
Check Time 94.13s (± 0.31%) 94.94s (± 1.74%) ~ 94.04s 98.26s p=0.471 n=6
Emit Time 31.48s (± 0.31%) 32.30s (± 6.15%) ~ 31.38s 36.36s p=0.521 n=6
Total Time 142.88s (± 0.23%) 144.49s (± 2.52%) ~ 142.83s 151.89s p=0.378 n=6
webpack - node (v18.15.0, x64)
Errors 40 40 ~ ~ ~ p=1.000 n=6
Symbols 380,702 380,702 ~ ~ ~ p=1.000 n=6
Types 166,804 166,804 ~ ~ ~ p=1.000 n=6
Memory used 540,806k (± 0.02%) 540,903k (± 0.02%) ~ 540,772k 541,050k p=0.378 n=6
Parse Time 4.73s (± 0.67%) 4.74s (± 0.90%) ~ 4.68s 4.80s p=0.747 n=6
Bind Time 2.03s (± 1.33%) 2.04s (± 1.09%) ~ 2.01s 2.06s p=0.462 n=6
Check Time 22.98s (± 0.46%) 23.02s (± 0.56%) ~ 22.91s 23.26s p=0.688 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 29.73s (± 0.39%) 29.79s (± 0.46%) ~ 29.67s 30.05s p=0.630 n=6
xstate-main - node (v18.15.0, x64)
Errors 30 55 🔻+25 (+83.33%) ~ ~ p=0.001 n=6
Symbols 692,951 693,344 +393 (+ 0.06%) ~ ~ p=0.001 n=6
Types 210,424 210,839 +415 (+ 0.20%) ~ ~ p=0.001 n=6
Memory used 588,940k (± 0.03%) 589,393k (± 0.02%) +454k (+ 0.08%) 589,281k 589,497k p=0.005 n=6
Parse Time 4.18s (± 0.81%) 4.20s (± 0.66%) ~ 4.16s 4.23s p=0.466 n=6
Bind Time 1.42s (± 0.44%) 1.42s (± 1.60%) ~ 1.40s 1.46s p=0.676 n=6
Check Time 21.49s (± 1.68%) 21.52s (± 2.47%) ~ 20.84s 22.20s p=0.470 n=6
Emit Time 0.00s (±244.70%) 0.00s (±154.76%) ~ 0.00s 0.01s p=0.595 n=6
Total Time 27.09s (± 1.31%) 27.15s (± 2.04%) ~ 26.44s 27.82s p=0.471 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@jakebailey
Copy link
Copy Markdown
Member

Big xstate regression it seems

@typescript-bot
Copy link
Copy Markdown
Collaborator

@jakebailey Here are the results of running the top 400 repos with tsc comparing main and refs/pull/62825/merge:

Everything looks good!

@jakebailey
Copy link
Copy Markdown
Member

@typescript-bot pack this

@typescript-bot
Copy link
Copy Markdown
Collaborator

typescript-bot commented Dec 5, 2025

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
pack this ✅ Started ✅ Results

@typescript-bot
Copy link
Copy Markdown
Collaborator

typescript-bot commented Dec 5, 2025

Hey @jakebailey, 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/166714/artifacts?artifactName=tgz&fileId=1265CC202DCC49DEA2B1D246A939D00563E44CC67B2EE06ABBB5368D2A608AD602&fileName=/typescript-6.0.0-insiders.20251205.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@6.0.0-pr-62825-9".;

@typescript-bot
Copy link
Copy Markdown
Collaborator

With 6.0 out as the final release vehicle for this codebase, we're closing all PRs that don't fit the merge criteria for post-6.0 patches. If you think this was a mistake and this PR fits the post-6.0 patch criteria, please post to the 6.0 iteration issue with details (specifically, which PR and which patch criteria it satisfies).

Next steps for PRs:

  • For crash bugfixes or language service improvements, PRs are currently accepted at the typescript-go repo
  • Changes to type system behavior should wait until after 7.0, at which point mainline TypeScript development will resume in this repository with the Go codebase
  • Library file updates (lib.d.ts etc) continue to live in this repo or the DOM Generator repo as appropriate

@github-project-automation github-project-automation bot moved this from Needs merge to Done in PR Backlog Mar 24, 2026
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

Status: Done

Development

Successfully merging this pull request may close these issues.

silentNeverType leak through return type inference

4 participants