Forbid contravariant inferences to conditional type branches (#30287)

This commit is contained in:
Wesley Wigham
2019-03-11 15:21:03 -07:00
committed by GitHub
parent 281eeac249
commit ca9566fcde
5 changed files with 218 additions and 1 deletions

View File

@@ -14671,7 +14671,7 @@ namespace ts {
inferFromTypes(getTrueTypeFromConditionalType(<ConditionalType>source), getTrueTypeFromConditionalType(<ConditionalType>target));
inferFromTypes(getFalseTypeFromConditionalType(<ConditionalType>source), getFalseTypeFromConditionalType(<ConditionalType>target));
}
else if (target.flags & TypeFlags.Conditional) {
else if (target.flags & TypeFlags.Conditional && !contravariant) {
inferFromTypes(source, getTrueTypeFromConditionalType(<ConditionalType>target));
inferFromTypes(source, getFalseTypeFromConditionalType(<ConditionalType>target));
}