From 82a2ee644078c5f96437086f195b8d8d454e5663 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 16 Dec 2016 15:01:20 -0800 Subject: [PATCH] Mapped types assignable to objects with 'any' string index signature --- src/compiler/checker.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5246bbfc700..9155f24ad34 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7730,8 +7730,11 @@ namespace ts { } } } - else if (relation !== identityRelation && isEmptyObjectType(resolveStructuredTypeMembers(target))) { - return Ternary.True; + else if (relation !== identityRelation) { + const resolved = resolveStructuredTypeMembers(target); + if (isEmptyObjectType(resolved) || resolved.stringIndexInfo && resolved.stringIndexInfo.type.flags & TypeFlags.Any) { + return Ternary.True; + } } return Ternary.False; }