diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8798b22bfdf..6fe8f5d2e14 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5788,7 +5788,7 @@ namespace ts { // and T as the template type. const typeParameter = getTypeParameterFromMappedType(type); const constraintType = getConstraintTypeFromMappedType(type); - const templateType = getTemplateTypeFromMappedType(type); + const templateType = getTemplateTypeFromMappedType(type.target || type); const modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); // The 'T' in 'keyof T' const templateReadonly = !!type.declaration.readonlyToken; const templateOptional = !!type.declaration.questionToken;