From e900ebf856c388a138befcd7a2e7445d88468981 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 24 Jun 2016 21:12:44 -0700 Subject: [PATCH] Make boolean assignable to union types containing both true and false --- src/compiler/checker.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b02918ddd28..ab5d4e9a5c4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6026,6 +6026,9 @@ namespace ts { if (result = typeRelatedToSomeType(source, target, reportErrors && !(source.flags & TypeFlags.Primitive))) { return result; } + if (source === booleanType && contains((target).types, trueType) && contains((target).types, falseType)) { + return Ternary.True; + } } }