carbon-language/carbon-lang

Call to local function inside generic function fails

Chiusa

#6793 aperta il 25 feb 2026

 (3 commenti) (0 reazioni) (0 assegnatari)C++ (1535 fork)batch import
good first issuetoolchain

Metriche repository

Star
 (33.701 stelle)
Metriche merge PR
 (Merge medio 3g 6h) (129 PR mergiate in 30 g)

Descrizione

Description of the bug:

A call to a local function defined inside a generic function fails with a compiler error.

What did you do, or what's a simple way to reproduce the bug?

fn F(unused T:! type) {
  fn Local() {}
  Local();
}

What did you expect to happen?

This should compile successfully.

What actually happened?

The compiler cannot deduce the generic parameters of the enclosing function while deducing parameters of the local function.

  // CHECK:STDERR: demo.carbon:[[@LINE+7]]:3: error: cannot deduce value for generic parameter `T` [DeductionIncomplete]
  // CHECK:STDERR:   Local();
  // CHECK:STDERR:   ^~~~~~~
  // CHECK:STDERR: demo.carbon:[[@LINE-4]]:3: note: while deducing parameters of generic declared here [DeductionGenericHere]
  // CHECK:STDERR:   fn Local() {}
  // CHECK:STDERR:   ^~~~~~~~~~~~
  // CHECK:STDERR:

Any other information, logs, or outputs that you want to share?

No response

Guida contributor