diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index fa65b82f41b..b3309f83a76 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -16231,7 +16231,7 @@ namespace ts { return Ternary.False; } - const strictVariance = !(checkMode & SignatureCheckMode.Callback) && strictFunctionTypes && (isStrictSignature(target) || isStrictSignature(source)); + const strictVariance = !(checkMode & SignatureCheckMode.Callback) && strictFunctionTypes && (checkMode & SignatureCheckMode.StrictArity || isStrictSignature(target)); let result = Ternary.True; const sourceThisType = getThisTypeOfSignature(source);