diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7aedfa43a5d..264b5dad105 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4993,7 +4993,7 @@ namespace ts { function getBaseTypes(type: InterfaceType): BaseType[] { if (!type.resolvedBaseTypes) { if (type.objectFlags & ObjectFlags.Tuple) { - type.resolvedBaseTypes = [createTypeFromGenericGlobalType(globalTupleBaseType || globalArrayType, [getUnionType(type.typeParameters)])]; + type.resolvedBaseTypes = [createTypeFromGenericGlobalType(globalTupleBaseType, [getUnionType(type.typeParameters)])]; } else if (type.symbol.flags & (SymbolFlags.Class | SymbolFlags.Interface)) { if (type.symbol.flags & SymbolFlags.Class) { @@ -24526,7 +24526,7 @@ namespace ts { // TODO: ReadonlyArray and TupleBase should always be available, but haven't been required previously globalReadonlyArrayType = getGlobalTypeOrUndefined("ReadonlyArray" as __String, /*arity*/ 1); - globalTupleBaseType = getGlobalTypeOrUndefined("TupleBase" as __String, /*arity*/ 1); + globalTupleBaseType = getGlobalTypeOrUndefined("TupleBase" as __String, /*arity*/ 1) || globalArrayType; anyReadonlyArrayType = globalReadonlyArrayType ? createTypeFromGenericGlobalType(globalReadonlyArrayType, [anyType]) : anyArrayType; globalThisType = getGlobalTypeOrUndefined("ThisType" as __String, /*arity*/ 1); }