Always report unmeasurable variance for mapped types

This commit is contained in:
Anders Hejlsberg 2022-07-13 09:57:50 -10:00
parent 6aad28f174
commit 33d819ff37

View File

@ -19978,7 +19978,7 @@ namespace ts {
if (modifiersRelated) {
let result: Ternary;
const targetConstraint = getConstraintTypeFromMappedType(target);
const sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMapper : reportUnreliableMapper);
const sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), reportUnmeasurableMapper);
if (result = isRelatedTo(targetConstraint, sourceConstraint, RecursionFlags.Both, reportErrors)) {
const mapper = createTypeMapper([getTypeParameterFromMappedType(source)], [getTypeParameterFromMappedType(target)]);
if (instantiateType(getNameTypeFromMappedType(source), mapper) === instantiateType(getNameTypeFromMappedType(target), mapper)) {