From 39d1c8b84490eb1da66ef15396188430635723c6 Mon Sep 17 00:00:00 2001 From: kpreisser Date: Sun, 5 Mar 2017 14:25:59 +0100 Subject: [PATCH] Allow the right-hand side of an 'in' expression to be of non-primitive object type. Fixes #14269 --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a4c0acc405d..300fc2e8bef 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15546,7 +15546,7 @@ namespace ts { if (!(isTypeComparableTo(leftType, stringType) || isTypeOfKind(leftType, TypeFlags.NumberLike | TypeFlags.ESSymbol))) { error(left, Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol); } - if (!isTypeAnyOrAllConstituentTypesHaveKind(rightType, TypeFlags.Object | TypeFlags.TypeVariable)) { + if (!isTypeAnyOrAllConstituentTypesHaveKind(rightType, TypeFlags.Object | TypeFlags.TypeVariable | TypeFlags.NonPrimitive)) { error(right, Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } return booleanType;