Fix tuple name homogeneity check (#40118)

This commit is contained in:
Wesley Wigham
2020-08-19 12:08:17 -07:00
committed by GitHub
parent 31f4957494
commit 44d2350e5f
6 changed files with 63 additions and 27 deletions

View File

@@ -31080,13 +31080,10 @@ namespace ts {
function checkTupleType(node: TupleTypeNode) {
const elementTypes = node.elements;
let seenOptionalElement = false;
let seenNamedElement = false;
const hasNamedElement = some(elementTypes, isNamedTupleMember);
for (let i = 0; i < elementTypes.length; i++) {
const e = elementTypes[i];
if (e.kind === SyntaxKind.NamedTupleMember) {
seenNamedElement = true;
}
else if (seenNamedElement) {
if (e.kind !== SyntaxKind.NamedTupleMember && hasNamedElement) {
grammarErrorOnNode(e, Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names);
break;
}