From 3652682f525cd57469b3c84b5baea5270878c3c0 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 30 Aug 2022 14:26:34 -0700 Subject: [PATCH] {} & null and {} & undefined should be never in non-strictNullChecks mode --- 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 e911d7fe7d2..1f76cbdafd1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15166,7 +15166,7 @@ namespace ts { return includes & TypeFlags.IncludesWildcard ? wildcardType : anyType; } if (!strictNullChecks && includes & TypeFlags.Nullable) { - return includes & TypeFlags.Undefined ? undefinedType : nullType; + return includes & TypeFlags.IncludesEmptyObject ? neverType : includes & TypeFlags.Undefined ? undefinedType : nullType; } if (includes & TypeFlags.String && includes & (TypeFlags.StringLiteral | TypeFlags.TemplateLiteral | TypeFlags.StringMapping) || includes & TypeFlags.Number && includes & TypeFlags.NumberLiteral ||