Skip to content

Fix declaration emit renaming a method's shadowed type parameter to the outer generic#3761

Open
Copilot wants to merge 2 commits intomainfrom
copilot/fix-table-shadowing-parameter
Open

Fix declaration emit renaming a method's shadowed type parameter to the outer generic#3761
Copilot wants to merge 2 commits intomainfrom
copilot/fix-table-shadowing-parameter

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 8, 2026

When a method's type parameter shadowed its enclosing class's type parameter, declaration emit renamed the inner parameter to a _1 alias of the outer one, so the emitted return type bound to the wrong generic:

// source
export class Outer<Table> {
  method<Table, R>(r: R) { return null as Table | null; }
}

// emitted (wrong)
export declare class Outer<Table> {
  method<Table, R>(r: R): Table_1 | null;  // refers to outer Table
}

Root cause

NameResolver.Resolve was missing a NodeFlagsSynthesized check for type-parameter lookups through a function-like location.

The nodebuilder's enterNewScope pushes synthetic Block fake-scopes (parented to the method) to hold params/type-params. When typeParameterShadowsOtherTypeParameterInScope calls resolveName, the walk traverses [synthetic Block] → [MethodDeclaration] → [ClassDeclaration]. At the method, the inner Table was found in location.Locals(), but rejected because lastLocation (the synthetic Block) was neither location.Type() nor IsParameterLike. The walk fell through to the class, returned the outer Table, and triggered the rename.

The variable branch already had the equivalent Synthesized check; only the type-parameter branch was missing it.

Changes

  • internal/binder/nameresolver.go: in the function-like scope-restriction logic, accept lastLocation.Flags & NodeFlagsSynthesized != 0 as a valid context for a type parameter to remain visible, matching utilities.ts:11545-11563 in the TypeScript reference.
  • testdata/tests/cases/compiler/declarationEmitMethodShadowsClassTypeParameter.ts: focused regression test mirroring the issue repro.
  • Baselines: 81 submodule .types.diff files removed (and submoduleAccepted.txt pruned accordingly) because tsgo now matches the TypeScript reference for type-parameter naming in many additional cases beyond the reported one.

Copilot AI changed the title [WIP] Fix declaration emit renaming method's shadowed type parameter Fix declaration emit renaming a method's shadowed type parameter to the outer generic May 8, 2026
Copilot AI requested a review from jakebailey May 8, 2026 02:47
Comment on lines 54 to 67
if ast.IsFunctionLike(location) && lastLocation != nil && lastLocation != location.Body() {
// symbol lookup restrictions for function-like declarations
// - Type parameters of a function are in scope in the entire function declaration, including the parameter
// list and return type. However, local types are only in scope in the function body.
// - parameters are only in the scope of function body
if meaning&result.Flags&ast.SymbolFlagsType != 0 {
useResult = result.Flags&ast.SymbolFlagsTypeParameter != 0 && (lastLocation == location.Type() || ast.IsParameterLike(lastLocation))
// type parameters are visible in parameter list, return type and type parameter list.
// Synthetic fake scopes are added for signatures so type parameters are accessible from them.
useResult = result.Flags&ast.SymbolFlagsTypeParameter != 0 &&
(lastLocation.Flags&ast.NodeFlagsSynthesized != 0 ||
lastLocation == location.Type() ||
ast.IsParameterLike(lastLocation))
}
if meaning&result.Flags&ast.SymbolFlagsVariable != 0 {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This was:

if (isFunctionLike(location) && lastLocation && lastLocation !== (location as FunctionLikeDeclaration).body) {
    // symbol lookup restrictions for function-like declarations
    // - Type parameters of a function are in scope in the entire function declaration, including the parameter
    //   list and return type. However, local types are only in scope in the function body.
    // - parameters are only in the scope of function body
    // This restriction does not apply to JSDoc comment types because they are parented
    // at a higher level than type parameters would normally be
    if (meaning & result.flags & SymbolFlags.Type && lastLocation.kind !== SyntaxKind.JSDoc) {
        useResult = result.flags & SymbolFlags.TypeParameter
            // type parameters are visible in parameter list, return type and type parameter list
            ? !!(lastLocation.flags & NodeFlags.Synthesized) || // Synthetic fake scopes are added for signatures so type parameters are accessible from them
                lastLocation === (location as FunctionLikeDeclaration).type ||
                lastLocation.kind === SyntaxKind.Parameter ||
                lastLocation.kind === SyntaxKind.JSDocParameterTag ||
                lastLocation.kind === SyntaxKind.JSDocReturnTag ||
                lastLocation.kind === SyntaxKind.TypeParameter
            // local types not visible outside the function body
            : false;
    }
    if (meaning & result.flags & SymbolFlags.Variable) {

Even though this appears to regress some cases (but, improve diffs!), I think probably this is a correct fix

@jakebailey jakebailey marked this pull request as ready for review May 8, 2026 03:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes a name-resolution bug in the Go port’s binder that caused declaration emit to incorrectly bind a method’s shadowing type parameter to an outer generic when signature scopes are represented by synthesized “fake scope” nodes. This aligns tsgo’s type-parameter visibility rules with the TypeScript reference implementation and updates baselines accordingly.

Changes:

  • Update NameResolver.Resolve to treat NodeFlagsSynthesized as a valid context for type-parameter visibility when walking function-like scopes.
  • Add a focused regression test covering a method type parameter shadowing an outer class type parameter during .d.ts emit.
  • Refresh baselines and prune submoduleAccepted.txt by removing now-unnecessary accepted .types.diff files after behavior convergence.

Reviewed changes

Copilot reviewed 177 out of 177 changed files in this pull request and generated no comments.

Show a summary per file
File Description
internal/binder/nameresolver.go Fixes type-parameter lookup across synthesized signature scopes so shadowing doesn’t resolve to the outer generic.
testdata/tests/cases/compiler/declarationEmitMethodShadowsClassTypeParameter.ts Adds a regression test reproducing the shadowed-type-parameter declaration emit issue.
testdata/submoduleAccepted.txt Removes entries for accepted diffs that are no longer needed after behavior changes.
testdata/baselines/reference/compiler/declarationEmitMethodShadowsClassTypeParameter.types New/updated expected baseline for the added regression test (types).
testdata/baselines/reference/compiler/declarationEmitMethodShadowsClassTypeParameter.symbols New/updated expected baseline for the added regression test (symbols).
testdata/baselines/reference/compiler/declarationEmitMethodShadowsClassTypeParameter.js New/updated expected baseline for the added regression test (JS + .d.ts emit section).
testdata/baselines/reference/submoduleAccepted/compiler/infinitelyExpandingTypes5.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/inferenceDoesNotAddUndefinedOrNull.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/genericOverloadSignatures.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/genericMemberFunction.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/genericFunctionSpecializations1.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/genericFunctions3.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/genericFunctionInference1.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/genericCombinators2.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/functionOverloadsRecursiveGenericReturnType.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/functionOverloadsOnGenericArity2.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/fixingTypeParametersRepeatedly3.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/fixingTypeParametersRepeatedly2.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/duplicateOverloadInTypeAugmentation1.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/contravariantInferenceAndTypeGuard.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/coAndContraVariantInferences3.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submoduleAccepted/compiler/callbacksDontShareTypes.types.diff Removes an accepted diff now obsolete due to updated type-parameter naming behavior.
testdata/baselines/reference/submodule/conformance/variadicTuples1.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/variadicTuples1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/typeParametersAvailableInNestedScope3.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/typeParametersAvailableInNestedScope3.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/typeParameterConstModifiersReturnsAndYields.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/typeParameterConstModifiersReturnsAndYields.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/tsxStatelessFunctionComponentsWithTypeArguments4.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/tsxStatelessFunctionComponentsWithTypeArguments4.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/templateLiteralTypes1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/taggedTemplateStringsWithOverloadResolution3.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/taggedTemplateStringsWithOverloadResolution3.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/taggedTemplateStringsWithOverloadResolution3_ES6.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/taggedTemplateStringsWithOverloadResolution3_ES6.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/taggedTemplateContextualTyping1.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/taggedTemplateContextualTyping1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/subtypesOfTypeParameter.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/subtypesOfTypeParameter.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/stringLiteralTypeIsSubtypeOfString.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/recursiveTypesUsedAsFunctionParameters.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/recursiveTypesUsedAsFunctionParameters.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping3.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping2.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping1.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/parenthesizedContexualTyping1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/overloadResolution.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/overloadResolution.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/methodSignaturesWithOverloads2.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/methodSignaturesWithOverloads2.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/methodSignaturesWithOverloads.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/methodSignaturesWithOverloads.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/keyofAndIndexedAccess.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/keyofAndIndexedAccess.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces(target=es2015).types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces(target=es2015).types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/instantiationExpressions.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/instantiationExpressions.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/genericClassWithObjectTypeArgsAndConstraints.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/genericClassWithObjectTypeArgsAndConstraints.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/genericClassWithFunctionTypedMemberArguments.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/genericClassWithFunctionTypedMemberArguments.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/genericCallWithConstraintsTypeArgumentInference.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/genericCallWithConstraintsTypeArgumentInference.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/genericCallTypeArgumentInference.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/genericCallTypeArgumentInference.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/functionLiterals.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/functionLiterals.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/conditionalTypes2.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/conditionalTypes2.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/bivariantInferences.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/conformance/bivariantInferences.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/variableDeclaratorResolvedDuringContextualTyping.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/variableDeclaratorResolvedDuringContextualTyping.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/undefinedTypeArgument2.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/undefinedTypeArgument2.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/typeArgumentConstraintResolution1.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/typeArgumentConstraintResolution1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/twiceNestedKeyofIndexInference.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/twiceNestedKeyofIndexInference.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/tupleTypeInference.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/tupleTypeInference.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/tslibReExportHelpers2.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/tslibReExportHelpers2.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/tooFewArgumentsInGenericFunctionTypedArgument.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/tooFewArgumentsInGenericFunctionTypedArgument.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/thisInTupleTypeParameterConstraints.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/thisInTupleTypeParameterConstraints.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/styledComponentsInstantiaionLimitNotReached.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/styledComponentsInstantiaionLimitNotReached.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/specializationError.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/specializationError.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/promises.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/promises.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadsWithConstraints.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadsWithConstraints.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadsAndTypeArgumentArity.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadsAndTypeArgumentArity.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadGenericFunctionWithRestArgs.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadGenericFunctionWithRestArgs.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadEquivalenceWithStatics.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadEquivalenceWithStatics.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadedStaticMethodSpecialization.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/overloadedStaticMethodSpecialization.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/objectLiteralParameterResolution.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/objectLiteralParameterResolution.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/noImplicitReturnsExclusions.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/noImplicitReturnsExclusions.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/missingTypeArguments3.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/missingTypeArguments3.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/mismatchedGenericArguments1.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/mismatchedGenericArguments1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/jsxGenericComponentWithSpreadingResultOfGenericFunction.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/jsxGenericComponentWithSpreadingResultOfGenericFunction.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/infinitelyExpandingTypes5.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/inferenceDoesNotAddUndefinedOrNull.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/genericOverloadSignatures.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/genericMemberFunction.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/genericFunctionSpecializations1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/genericFunctions3.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/genericFunctionInference1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/genericCombinators2.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/functionOverloadsRecursiveGenericReturnType.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/functionOverloadsOnGenericArity2.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/fixingTypeParametersRepeatedly3.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/fixingTypeParametersRepeatedly2.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/duplicateOverloadInTypeAugmentation1.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/contravariantInferenceAndTypeGuard.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/coAndContraVariantInferences3.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/callbacksDontShareTypes.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/compiler/jsExportsImportedIntoTsxLosesTypeInfo.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/declarationEmitShadowing.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/declarationEmitShadowing.types Updates expected baseline output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/declarationEmitOverloadedPrivateInference.types.diff Updates/cleans up expected diff output due to corrected type-parameter naming.
testdata/baselines/reference/submodule/compiler/declarationEmitOverloadedPrivateInference.types Updates expected baseline output due to corrected type-parameter naming.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Declaration emit renames a method's shadowed type parameter to the outer class generic (Table -> Table_1)

3 participants