From 0001b8cb37e1988a4809aff8e5c8f55dd0f98ee6 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Thu, 19 May 2016 10:37:20 -0700 Subject: [PATCH] Remove target-following code when erasing signatures Fixes return type of inherited default constructors when they are generic. --- src/compiler/checker.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 079d942df4..cb6a34392c 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4577,12 +4577,7 @@ namespace ts { function getErasedSignature(signature: Signature): Signature { if (!signature.typeParameters) return signature; if (!signature.erasedSignatureCache) { - if (signature.target) { - signature.erasedSignatureCache = instantiateSignature(getErasedSignature(signature.target), signature.mapper); - } - else { - signature.erasedSignatureCache = instantiateSignature(signature, createTypeEraser(signature.typeParameters), /*eraseTypeParameters*/ true); - } + signature.erasedSignatureCache = instantiateSignature(signature, createTypeEraser(signature.typeParameters), /*eraseTypeParameters*/ true); } return signature.erasedSignatureCache; }