Merge pull request #25733 from mattmccutchen/issue-25683

Check for optional type parameters before issuing a "wrong number of type arguments" error on a function call.
This commit is contained in:
Mohamed Hegazy
2018-07-17 12:51:19 -07:00
committed by GitHub
6 changed files with 39 additions and 5 deletions

View File

@@ -19087,7 +19087,7 @@ namespace ts {
else if (candidateForTypeArgumentError) {
checkTypeArguments(candidateForTypeArgumentError, (node as CallExpression | TaggedTemplateExpression).typeArguments!, /*reportErrors*/ true, fallbackError);
}
else if (typeArguments && every(signatures, sig => length(sig.typeParameters) !== typeArguments!.length)) {
else if (typeArguments && every(signatures, sig => typeArguments!.length < getMinTypeArgumentCount(sig.typeParameters) || typeArguments!.length > length(sig.typeParameters))) {
diagnostics.add(getTypeArgumentArityError(node, signatures, typeArguments));
}
else if (args) {