Fix regression in name resolution in parameter (#38351)
This commit is contained in:
parent
ec93a7cf7b
commit
4b08c0582d
|
@ -1889,7 +1889,9 @@ namespace ts {
|
|||
lastLocation === (location as BindingElement).name && isBindingPattern(lastLocation))) {
|
||||
const root = getRootDeclaration(location);
|
||||
if (root.kind === SyntaxKind.Parameter) {
|
||||
associatedDeclarationForContainingInitializerOrBindingName = location as BindingElement;
|
||||
if (!associatedDeclarationForContainingInitializerOrBindingName) {
|
||||
associatedDeclarationForContainingInitializerOrBindingName = location as BindingElement;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
// @target: es5, es2015, esnext
|
||||
// @noEmit: true
|
||||
// @noTypesAndSymbols: true
|
||||
|
||||
// https://github.com/microsoft/TypeScript/issues/38243
|
||||
|
||||
function test0({ a = 0, b = a } = {}) {
|
||||
return { a, b };
|
||||
}
|
||||
|
||||
function test1({ c: { a = 0, b = a } = {} } = {}) {
|
||||
return { a, b };
|
||||
}
|
Loading…
Reference in a new issue