From 63387bb5e00d14642c6ca52470297dd5b14c8211 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 18 Nov 2016 06:13:04 -0800 Subject: [PATCH] Error on circular constraints in mapped types --- src/compiler/checker.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5ea185556f7..f6689471cd8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6059,6 +6059,9 @@ namespace ts { type.aliasSymbol = getAliasSymbolForTypeNode(node); type.aliasTypeArguments = getAliasTypeArgumentsForTypeNode(node); links.resolvedType = type; + // Eagerly resolve the constraint type which forces an error if the constraint type circularly + // references itself through one or more type aliases. + getConstraintTypeFromMappedType(type); } return links.resolvedType; }