Discriminant of type never should never be matched (#50755)

* Discriminant of type 'never' should never be matched

* Add tests
This commit is contained in:
Anders Hejlsberg
2022-09-13 10:29:50 -07:00
committed by GitHub
parent e37ea53715
commit 60963d7216
8 changed files with 1101 additions and 1 deletions

View File

@@ -25130,7 +25130,7 @@ namespace ts {
const narrowedPropType = narrowType(propType);
return filterType(type, t => {
const discriminantType = getTypeOfPropertyOrIndexSignature(t, propName);
return !(narrowedPropType.flags & TypeFlags.Never) && areTypesComparable(narrowedPropType, discriminantType);
return !(discriminantType.flags & TypeFlags.Never) && !(narrowedPropType.flags & TypeFlags.Never) && areTypesComparable(narrowedPropType, discriminantType);
});
}