Skip to content

Respect parameter-initializer scope for body function declarations - #65299

Merged
Ryan Cavanaugh (RyanCavanaugh) merged 4 commits into
mainfrom
copilot/resolve-default-parameter-issue
Nov 4, 2026
Merged

Ryan Cavanaugh (RyanCavanaugh) merged 4 commits into
mainfrom
copilot/resolve-default-parameter-issue

Conversation

Copilot AI commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #65090

Analysis

Parameter-initializer scope filtering covered variables but excluded function symbols, allowing body functions to shadow outer bindings in checker API results.

const styles = { root: "outer" };
function read(value = styles.root) {
    function styles() {}
    return value;
}

The initializer’s styles should resolve to the outer variable, matching runtime behavior.

Fix

  • Resolution: Apply the existing, transform-aware parameter-scope check to function symbols.
  • Coverage: Add symbol, type, and diagnostic baselines for direct defaults, closures, destructuring, and missing outer bindings; preserve body and parameter lookup.

Copilot Checklist

I successfully ran the applicable command at the end of my session, and it completed without error:

  • npx hereby validate
  • npx hereby validate --api (for TypeScript API changes)

@typescript-automation typescript-automation Bot added Author: Team For Milestone Bug PRs that fix a bug with a specific milestone labels Nov 3, 2026
@typescript-automation typescript-automation Bot added For Uncommitted Bug PR for untriaged, rejected, closed or missing bug and removed For Milestone Bug PRs that fix a bug with a specific milestone labels Nov 3, 2026
Copilot AI and others added 3 commits November 3, 2026 23:47
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix default parameter reference in native compiler API Respect parameter-initializer scope for body function declarations Nov 4, 2026
@RyanCavanaugh

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) test it

@typescript-automation

typescript-automation Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

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-automation

Copy link
Copy Markdown
Contributor

Hey Ryan Cavanaugh (@RyanCavanaugh), the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-automation

Copy link
Copy Markdown
Contributor

Ryan Cavanaugh (@RyanCavanaugh) Here are the results of running the user tests with tsc comparing baseline and pr:

Everything looks good!

@typescript-automation

Copy link
Copy Markdown
Contributor

Ryan Cavanaugh (@RyanCavanaugh)
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 - native
Errors 41 41 ~ ~ ~ p=1.000 n=20
Symbols 88,466 88,466 ~ ~ ~ p=1.000 n=20
Types 79,607 79,607 ~ ~ ~ p=1.000 n=20
Memory Used 106,403k (± 0.03%) 106,394k (± 0.03%) ~ 106,251k 106,532k p=0.516 n=20
Memory Allocs 1,261,948 (± 0.01%) 1,261,901 (± 0.01%) ~ 1,261,638 1,262,139 p=0.461 n=20
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Parse Time 0.023s (± 2.80%) 0.023s (± 2.32%) ~ 0.021s 0.025s p=0.599 n=20
Bind Time 0.008s (± 4.45%) 0.008s (± 4.18%) ~ 0.007s 0.009s p=0.091 n=20
Check Time 0.203s (± 1.43%) 0.203s (± 0.67%) ~ 0.196s 0.208s p=0.652 n=20
Emit Time 0.130s (± 0.95%) 0.130s (± 1.03%) ~ 0.126s 0.137s p=0.973 n=20
Total Time 0.367s (± 0.72%) 0.367s (± 0.51%) ~ 0.361s 0.378s p=0.941 n=20
angular-1 - native
Errors 3 3 ~ ~ ~ p=1.000 n=20
Symbols 586,317 586,317 ~ ~ ~ p=1.000 n=20
Types 241,457 241,457 ~ ~ ~ p=1.000 n=20
Memory Used 510,853k (± 0.02%) 510,791k (± 0.02%) ~ 510,444k 511,362k p=0.277 n=20
Memory Allocs 7,801,190 (± 0.19%) 7,795,525 (± 0.14%) ~ 7,780,678 7,878,629 p=0.583 n=20
Config Time 0.008s (± 2.10%) 0.008s (± 2.33%) ~ 0.008s 0.009s p=1.000 n=20
Parse Time 0.124s (± 3.03%) 0.125s (± 3.40%) ~ 0.113s 0.155s p=0.877 n=20
Bind Time 0.043s (±10.93%) 0.043s (±10.44%) ~ 0.035s 0.064s p=0.550 n=20
Check Time 0s 0s ~ ~ ~ p=1.000 n=20
Emit Time 0.622s (± 0.83%) 0.625s (± 1.24%) ~ 0.609s 0.672s p=0.673 n=20
Total Time 0.809s (± 0.69%) 0.814s (± 1.11%) ~ 0.785s 0.876s p=0.507 n=20
arktype - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 686,116 686,116 ~ ~ ~ p=1.000 n=20
Types 939,797 939,797 ~ ~ ~ p=1.000 n=20
Memory Used 476,027k (± 0.01%) 476,035k (± 0.01%) ~ 475,841k 476,227k p=0.931 n=20
Memory Allocs 12,057,683 (± 0.01%) 12,058,925 (± 0.01%) ~ 12,054,514 12,068,475 p=0.265 n=20
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=20
Parse Time 0.041s (± 3.24%) 0.041s (± 2.62%) ~ 0.036s 0.046s p=0.453 n=20
Bind Time 0.012s (± 8.43%) 0.012s (± 8.38%) ~ 0.011s 0.019s p=0.474 n=20
Check Time 0.838s (± 1.66%) 0.828s (± 0.57%) ~ 0.810s 0.843s p=0.213 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 0.918s (± 1.48%) 0.909s (± 0.44%) ~ 0.896s 0.921s p=0.175 n=20
class-transformer - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 45,376 45,376 ~ ~ ~ p=1.000 n=20
Types 7,573 7,573 ~ ~ ~ p=1.000 n=20
Memory Used 27,749k (± 0.02%) 27,756k (± 0.03%) ~ 27,719k 27,795k p=0.285 n=20
Memory Allocs 248,482 (± 0.09%) 248,230 (± 0.06%) ~ 247,568 248,938 p=0.133 n=20
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Parse Time 0.012s (± 4.21%) 0.012s (± 3.81%) ~ 0.009s 0.013s p=0.832 n=20
Bind Time 0.003s (±12.22%) 0.003s (±11.26%) ~ 0.002s 0.005s p=0.697 n=20
Check Time 0.008s (± 5.69%) 0.008s (± 6.42%) ~ 0.006s 0.009s p=0.988 n=20
Emit Time 0.007s (± 7.49%) 0.007s (± 8.96%) ~ 0.006s 0.011s p=0.794 n=20
Total Time 0.031s (± 2.25%) 0.031s (± 2.74%) ~ 0.028s 0.035s p=0.828 n=20
effect - native
Errors 12 12 ~ ~ ~ p=1.000 n=20
Symbols 1,235,134 1,235,134 ~ ~ ~ p=1.000 n=20
Types 893,436 893,436 ~ ~ ~ p=1.000 n=20
Memory Used 941,630k (± 0.02%) 941,619k (± 0.02%) ~ 940,596k 942,514k p=0.968 n=20
Memory Allocs 12,621,553 (± 0.02%) 12,630,280 (± 0.05%) +8,727 (+ 0.07%) 12,616,089 12,667,734 p=0.008 n=20
Config Time 0.002s 0.002s (± 9.93%) ~ 0.002s 0.004s p=1.000 n=20
Parse Time 0.152s (± 2.54%) 0.155s (± 2.67%) ~ 0.144s 0.185s p=0.317 n=20
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Check Time 0.900s (± 1.72%) 0.910s (± 2.48%) ~ 0.845s 1.045s p=0.664 n=20
Emit Time 0.511s (± 3.33%) 0.504s (± 2.32%) ~ 0.461s 0.554s p=0.836 n=20
Total Time 1.656s (± 1.65%) 1.665s (± 1.61%) ~ 1.577s 1.786s p=0.525 n=20
mui-docs - native
Errors 11,405 11,405 ~ ~ ~ p=1.000 n=20
Symbols 3,782,394 3,782,394 ~ ~ ~ p=1.000 n=20
Types 1,355,778 1,355,778 ~ ~ ~ p=1.000 n=20
Memory Used 1,679,810k (± 0.06%) 1,678,165k (± 0.07%) ~ 1,673,028k 1,681,837k p=0.052 n=20
Memory Allocs 25,725,128 (± 0.10%) 25,728,502 (± 0.21%) ~ 25,555,714 26,100,024 p=0.341 n=20
Config Time 0.008s 0.008s (± 1.30%) ~ 0.008s 0.009s p=1.000 n=20
Parse Time 0.282s (± 2.93%) 0.283s (± 2.77%) ~ 0.241s 0.323s p=0.386 n=20
Bind Time 0.001s 0.001s ~ ~ ~ p=1.000 n=20
Check Time 2.851s (± 0.59%) 2.851s (± 0.60%) ~ 2.779s 2.948s p=0.888 n=20
Emit Time 0.241s (± 1.25%) 0.239s (± 0.90%) ~ 0.232s 0.246s p=0.162 n=20
Total Time 3.858s (± 0.42%) 3.861s (± 0.53%) ~ 3.787s 3.961s p=0.995 n=20
sentry - native
Errors 2 2 ~ ~ ~ p=1.000 n=20
Symbols 4,793,266 4,793,266 ~ ~ ~ p=1.000 n=20
Types 2,607,066 2,607,066 ~ ~ ~ p=1.000 n=20
Memory Used 2,798,886k (± 0.03%) 2,800,162k (± 0.04%) ~ 2,795,698k 2,806,338k p=0.121 n=20
Memory Allocs 75,004,427 (± 0.19%) 75,276,413 (± 0.32%) ~ 74,784,269 76,213,209 p=0.253 n=20
Config Time 0.026s (± 7.91%) 0.025s (± 1.08%) ~ 0.024s 0.026s p=0.786 n=20
Parse Time 0.468s (± 3.79%) 0.475s (± 3.60%) ~ 0.418s 0.536s p=0.457 n=20
Bind Time 0.165s (±10.19%) 0.171s (±10.68%) ~ 0.130s 0.238s p=0.804 n=20
Check Time 6.662s (± 0.55%) 6.674s (± 0.79%) ~ 6.499s 6.947s p=0.973 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 7.376s (± 0.54%) 7.398s (± 0.66%) ~ 7.165s 7.636s p=0.410 n=20
social-app - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 1,883,060 1,883,060 ~ ~ ~ p=1.000 n=20
Types 1,158,093 1,158,093 ~ ~ ~ p=1.000 n=20
Memory Used 952,795k (± 0.02%) 952,950k (± 0.02%) ~ 952,124k 954,014k p=0.547 n=20
Memory Allocs 13,503,662 (± 0.20%) 13,524,308 (± 0.24%) ~ 13,441,770 13,739,182 p=0.265 n=20
Config Time 0.007s (± 2.39%) 0.007s (± 3.17%) ~ 0.007s 0.008s p=0.155 n=20
Parse Time 0.155s (± 2.82%) 0.154s (± 2.64%) ~ 0.143s 0.182s p=0.743 n=20
Bind Time 0.040s (± 8.72%) 0.043s (±10.58%) ~ 0.035s 0.063s p=0.622 n=20
Check Time 1.379s (± 0.90%) 1.384s (± 0.77%) ~ 1.331s 1.429s p=0.703 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 1.599s (± 0.69%) 1.606s (± 0.68%) ~ 1.565s 1.672s p=0.344 n=20
strada-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 1,184,972 1,184,972 ~ ~ ~ p=1.000 n=20
Types 438,823 438,823 ~ ~ ~ p=1.000 n=20
Memory Used 1,157,291k (± 0.24%) 1,159,341k (± 0.37%) ~ 1,145,653k 1,188,494k p=0.820 n=20
Memory Allocs 47,601,263 (± 0.07%) 47,534,616 (± 0.11%) ~ 47,374,278 47,703,804 p=0.060 n=20
Config Time 0.002s (±20.02%) 0.002s (±13.56%) ~ 0.001s 0.003s p=0.620 n=20
Parse Time 0.144s (± 4.28%) 0.140s (± 1.55%) ~ 0.134s 0.153s p=0.440 n=20
Bind Time 0.000s 0.000s (±208.60%) ~ 0.000s 0.001s p=1.000 n=20
Check Time 0.821s (± 0.92%) 0.823s (± 0.80%) ~ 0.808s 0.864s p=0.507 n=20
Emit Time 0.145s (± 2.64%) 0.145s (± 3.67%) ~ 0.136s 0.181s p=0.316 n=20
Total Time 9.608s (± 0.85%) 9.563s (± 0.68%) ~ 9.326s 10.022s p=0.355 n=20
strada-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 263,481 263,481 ~ ~ ~ p=1.000 n=20
Types 196,103 196,103 ~ ~ ~ p=1.000 n=20
Memory Used 221,499k (± 0.03%) 221,537k (± 0.01%) ~ 221,388k 221,652k p=0.703 n=20
Memory Allocs 2,388,104 (± 0.01%) 2,388,459 (± 0.02%) ~ 2,387,271 2,390,568 p=0.327 n=20
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Parse Time 0.050s (± 3.38%) 0.051s (± 3.05%) ~ 0.046s 0.057s p=0.393 n=20
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Check Time 0.381s (± 0.62%) 0.382s (± 0.69%) ~ 0.372s 0.395s p=0.772 n=20
Emit Time 0.049s (± 6.38%) 0.049s (± 5.46%) ~ 0.042s 0.060s p=0.662 n=20
Total Time 0.508s (± 0.87%) 0.509s (± 0.81%) ~ 0.490s 0.528s p=0.615 n=20
t3code-server - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 4,349,937 4,349,937 ~ ~ ~ p=1.000 n=20
Types 3,042,465 3,042,465 ~ ~ ~ p=1.000 n=20
Memory Used 2,395,578k (± 0.03%) 2,395,734k (± 0.02%) ~ 2,393,782k 2,398,837k p=0.529 n=20
Memory Allocs 37,165,437 (± 0.13%) 37,146,702 (± 0.13%) ~ 37,057,879 37,566,312 p=0.429 n=20
Config Time 0.003s (± 4.95%) 0.003s (± 3.54%) ~ 0.002s 0.003s p=1.000 n=20
Parse Time 0.255s (± 1.50%) 0.258s (± 2.54%) ~ 0.225s 0.288s p=0.255 n=20
Bind Time 0.084s (± 8.85%) 0.085s (± 9.64%) ~ 0.073s 0.141s p=0.962 n=20
Check Time 5.779s (± 0.73%) 5.763s (± 0.64%) ~ 5.666s 5.920s p=0.635 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 6.132s (± 0.72%) 6.120s (± 0.64%) ~ 6.004s 6.292s p=0.703 n=20
tanstack-router - native
Errors 1 1 ~ ~ ~ p=1.000 n=20
Symbols 570,149 570,149 ~ ~ ~ p=1.000 n=20
Types 396,551 396,551 ~ ~ ~ p=1.000 n=20
Memory Used 315,280k (± 0.01%) 315,228k (± 0.02%) ~ 314,974k 315,424k p=0.208 n=20
Memory Allocs 4,328,948 (± 0.28%) 4,327,428 (± 0.16%) ~ 4,311,977 4,358,506 p=0.758 n=20
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=20
Parse Time 0.040s (± 2.71%) 0.039s (± 4.44%) ~ 0.034s 0.048s p=0.109 n=20
Bind Time 0.011s (± 9.31%) 0.013s (± 9.34%) 🔻+0.001s (+13.33%) 0.010s 0.017s p=0.031 n=20
Check Time 0.458s (± 0.80%) 0.462s (± 0.81%) +0.005s (+ 0.98%) 0.446s 0.481s p=0.033 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 0.526s (± 1.02%) 0.532s (± 0.77%) +0.006s (+ 1.14%) 0.520s 0.554s p=0.009 n=20
ts-pre-modules - native
Errors 87 87 ~ ~ ~ p=1.000 n=20
Symbols 231,607 231,607 ~ ~ ~ p=1.000 n=20
Types 181,163 181,163 ~ ~ ~ p=1.000 n=20
Memory Used 190,862k (± 0.02%) 190,853k (± 0.01%) ~ 190,731k 190,964k p=0.703 n=20
Memory Allocs 1,309,789 (± 0.02%) 1,310,139 (± 0.02%) ~ 1,309,154 1,311,346 p=0.149 n=20
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Parse Time 0.046s (± 5.40%) 0.044s (± 3.17%) ~ 0.039s 0.049s p=0.341 n=20
Bind Time 0.022s (±12.96%) 0.020s (± 3.74%) ~ 0.018s 0.023s p=0.740 n=20
Check Time 0.295s (± 2.39%) 0.292s (± 0.99%) ~ 0.279s 0.304s p=0.920 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 0.368s (± 2.13%) 0.363s (± 0.71%) ~ 0.351s 0.372s p=0.784 n=20
vscode - native
Errors 11 11 ~ ~ ~ p=1.000 n=20
Symbols 7,694,486 7,694,486 ~ ~ ~ p=1.000 n=20
Types 4,518,272 4,518,272 ~ ~ ~ p=1.000 n=20
Memory Used 5,186,779k (± 0.01%) 5,186,445k (± 0.02%) ~ 5,182,639k 5,192,882k p=0.253 n=20
Memory Allocs 58,044,157 (± 0.02%) 58,058,484 (± 0.05%) ~ 58,018,524 58,309,161 p=0.445 n=20
Config Time 0.034s (± 1.01%) 0.034s (± 0.81%) ~ 0.033s 0.035s p=1.000 n=20
Parse Time 0.910s (± 1.56%) 0.917s (± 1.67%) ~ 0.837s 0.984s p=0.723 n=20
Bind Time 0.307s (± 6.82%) 0.301s (± 3.62%) ~ 0.286s 0.394s p=0.723 n=20
Check Time 7.512s (± 1.24%) 7.542s (± 0.65%) +0.030s (+ 0.40%) 7.217s 7.755s p=0.048 n=20
Emit Time 2.098s (± 6.06%) 2.049s (± 4.81%) ~ 1.938s 2.840s p=0.703 n=20
Total Time 10.920s (± 1.11%) 10.903s (± 0.76%) ~ 10.692s 11.406s p=0.569 n=20
webpack - native
Errors 611 611 ~ ~ ~ p=1.000 n=20
Symbols 879,524 879,524 ~ ~ ~ p=1.000 n=20
Types 612,242 612,242 ~ ~ ~ p=1.000 n=20
Memory Used 638,921k (± 0.02%) 638,938k (± 0.02%) ~ 638,651k 639,342k p=0.836 n=20
Memory Allocs 5,988,876 (± 0.05%) 5,989,926 (± 0.04%) ~ 5,979,723 5,998,926 p=0.478 n=20
Config Time 0.004s 0.004s ~ ~ ~ p=1.000 n=20
Parse Time 0.121s (± 2.61%) 0.120s (± 2.63%) ~ 0.107s 0.130s p=0.643 n=20
Bind Time 0.040s (± 9.81%) 0.040s (±10.18%) ~ 0.032s 0.063s p=0.825 n=20
Check Time 1.063s (± 1.08%) 1.054s (± 1.25%) ~ 1.017s 1.115s p=0.147 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 1.251s (± 0.99%) 1.241s (± 1.05%) ~ 1.200s 1.295s p=0.213 n=20
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=20
Symbols 644,330 644,330 ~ ~ ~ p=1.000 n=20
Types 392,175 392,175 ~ ~ ~ p=1.000 n=20
Memory Used 346,926k (± 0.02%) 346,959k (± 0.02%) ~ 346,642k 347,222k p=0.507 n=20
Memory Allocs 3,998,561 (± 0.10%) 3,999,513 (± 0.07%) ~ 3,991,070 4,011,253 p=0.383 n=20
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=20
Parse Time 0.061s (± 3.61%) 0.062s (± 3.99%) ~ 0.055s 0.074s p=0.814 n=20
Bind Time 0.023s (±10.58%) 0.021s (±10.57%) ~ 0.017s 0.033s p=0.543 n=20
Check Time 0.450s (± 4.67%) 0.442s (± 1.49%) ~ 0.426s 0.472s p=0.984 n=20
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=20
Total Time 0.541s (± 3.90%) 0.532s (± 1.52%) ~ 0.509s 0.572s p=0.703 n=20
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • arktype - native
  • class-transformer - native
  • effect - native
  • mui-docs - native
  • sentry - native
  • social-app - native
  • strada-build-src - native
  • strada-compiler - native
  • t3code-server - native
  • tanstack-router - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 20
Baseline baseline 20

Developer Information:

Download Benchmarks

@typescript-automation

Copy link
Copy Markdown
Contributor

Ryan Cavanaugh (@RyanCavanaugh) Here are the results of running the top 400 repos with tsc comparing baseline and pr:

Everything looks good!

@RyanCavanaugh
Ryan Cavanaugh (RyanCavanaugh) marked this pull request as ready for review November 4, 2026 16:11
Copilot AI balanced review requested due to automatic review settings November 4, 2026 16:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues block approval of the parameter-initializer scope fix.

No open issues 🎉

What changed in this PR

Fixes #65090 by making the native compiler’s name resolution respect parameter-initializer scope: body function declarations no longer shadow outer bindings referenced by default parameters.

Changes:

  • Extends the existing parameter-scope filter to function symbols.
  • Adds regression coverage for direct defaults, closures, destructuring, and missing outer bindings, while preserving body, parameter, and named-function lookup.
  • Records expected symbol resolution, types, diagnostics, and JavaScript output.
File Description
tsc/​testdata/​tests/​cases/​compiler/​defaultParameterBodyFunctionScope.ts Adds parameter-initializer scope regression cases.
tsc/​testdata/​baselines/​reference/​compiler/​defaultParameterBodyFunctionScope.types Records expected inferred types.
tsc/​testdata/​baselines/​reference/​compiler/​defaultParameterBodyFunctionScope.symbols Records references resolving to the correct declarations.
tsc/​testdata/​baselines/​reference/​compiler/​defaultParameterBodyFunctionScope.js Records emitted JavaScript for the test cases.
tsc/​testdata/​baselines/​reference/​compiler/​defaultParameterBodyFunctionScope.errors.txt Records the missing-name diagnostic when no outer binding exists.
tsc/​internal/​binder/​nameresolver.go Applies parameter-scope filtering to function symbols.

Review effort: Balanced

@RyanCavanaugh
Ryan Cavanaugh (RyanCavanaugh) added this pull request to the merge queue Nov 4, 2026
Merged via the queue into main with commit b8cc69c Nov 4, 2026
35 checks passed
@RyanCavanaugh
Ryan Cavanaugh (RyanCavanaugh) deleted the copilot/resolve-default-parameter-issue branch November 4, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Native compiler API resolves a default-parameter reference to a body function binding

4 participants